My idea of a software product is this.
- Based on the market requirements (read this) (The product management team gets the current market requirements and defines the idea. (Not more than 2 weeks)
- Development brainstorms the idea and comes up with a prototype (Max 4 weeks)
- Dev showcases this to the Product Management and gets their confirmation if they are on the right track.
- Product Management signs off the initial level of design, and requests Dev to proceed with the next steps.
- PM shows this to the Customer and if any changes, communicates to the development at the initial stage itself.
- The development continues with the iterative development and in a maximum of 4 months comes up with the final design as requested by the customer.
- Then another 2 weeks of testing. (During these 4 months of development, testing would happen at the end of each month on the monthly milestones).
- A total of 20 weeks (translates into 5 months), the beta is released to the customer.
- Once things are on track, the dev starts with Wave 2 of the requirements.
In this way, we can be sure that we are ahead of our competitors and follow the Agile methodology to the core. We always have time for documentation, processes, standards and quality. What we need first is the confidence of the customer that his requirements are really going where they need to go and not into 50 page MRDs and PRDs which no one would be looking into anyway.
Let's follow Agile, Let's Be Lean.
Till later.