The best way to develop a software product, is to create a team that works for it.A perfect teamcan be created; by defining the areas that impact the success of the software.
When we try to define the areas that is going to impact success of software then we have key points emerging out. After designing mobile, web-based and desktop based software's i can say that the most important area to focus is
> Simplicity - What makes a software simple? A software that is able to address user needs with ease becomes a simple software. In technical terms we can also say that i am basically talking about usability design.
> Sense - Are we giving the product that makes sense to its user and business community. Will it be a success or a damm failure? Have we thought about it?
> Marketable - Can this product solve a business/user problem? If yes is the problem big enough that few people won't mind giving you some quick buck to use the product. When i say quick buck it dosent mean the price is cheap.
> Social connections - Why this is important? Has Sanjay Kumar gone crazy to mention this aspect. It is said that if i live in a forest and make a product people who need it will create a road to my home. This was true long back but it does not hold so true in globalization and the way we have come till here. A product which does not have influential names and people to back it up is just like a dollar bill lying on the side walk, between the dark green bushes to be discovered by someone, on the streets where people are rushing to catch there morning train. Don't forget that rains may come and melt the dollar bill and degrade, it. Insects etc and added danger.
My whole view is that we need GOD Fathers or a huge bank of money to back the ideas. Few people may not agree with me, however i suggest them to create a product and try to sell it. The reality will be upfront. Making a software product and build a business around is like a war.
To achieve the above areas, we need a team. The best possible team consists of the below people. The names and areas are mentioned as it came to my mind. It is not in any order as in a team all people are equally important.
1. UX Architect/UI/Front end design - he/she will design the software based on user research, stakeholder meetings etc. His job is to create wire-frames and the task flows that arises. Each element is taken care by them.If he is good in UI design it will be an added advantage.
2. CTO - A tech guy, who is good in planning a robust architecture of the software. What technology to use, what technology to throw away, security measures etc.
3. Back end/DB programming - This team will take care of the functionality and related things.
4. CEO/Product Manager - this will be the driving force, that will make things happen. From planning to resource funding, to marketing, networking will be taken care by this guy.
5. Social Media/Marketing - this team will make the product popular among the masses and lure them to use it.
6. UI & Visual design - skins are created and user interface is designed by this person
All the above are the keys to success of the product. The idea being here is that we do not need an army of people to create a worthwhile product that can survive the competition.
Ok, the above is taken care what next? Now find out ideas to work on.