In this article i am registering my software product development and maintains experience of last 4 years of journey.
As per my product development experience we should consider both the technology,business domain specific challenges and changes.
Here are the points we have to consider when start design and develop the product
Choosing right technology and Architecture.
Product specific database design(like Menu creation based on User Type,Page wise privileges )
Business Domain specific database design(static business rules and dynamic business rules)
Include Innovate ideas in Product.
Product should open in smart phone and other devices too.
Choosing Right technology and Architecture:
Based on the software product we have to choose technology and technique.
Embedded software product development-C,C++ based framework and technology
Enterprise based product-Java,J2EE,.Net,Asp.Net
Mobile based apps-J2ME,Android etc.,
Social apps – Scala,Phyton,PHP
Role of architect is design the database and use the efficient Programming language/API to fetch the data and display the same to end user in an efficient manner.
Architect should design the software such a way that design should be understandable by developer and also accommodate the future enhancement and design.
Product specific database design:
Product specific database design are more important. if any design went wrong over here entire product we have to redo.
Product specific rules designs are
User Type Identification
Mapping User type to Page wise Permission
Mapping Users to User Type.
mapping Users with Regions
Business Domain Specific Database design:
Here only most of the architect lack including me, because with out understanding business domain and business rules we can't design the tables and other relation.
But we can design table in two way:
Static business rules(does not change any business rules example is accounts(credit and debit))
Dynamic business rules(For example car rental amount vary based on no.of kilo meter travel,no of day travels,driver and cleaner bata if any dependency comes in future like fuel hike should be included and calculate amount based on that) so we have to design tables to accommodate all dynamic business rules.
Include Innovative Idea In product:
As per my point of view innovative idea is nothing but make application very user friendly using latest technology and technique.
Product should open in smart phone and other devices too
If we work for enterprise based product development we only do the web based product but now days we should concentrate on mobile based application development too.