Oct 6, 2009

Follow the process, forget the rest

I was chatting with one of my many relatives the other day (I am proud to say my family has 3 generations of software engineers, starting from one who worked on punch cards :)), and this person was talking about how his organization has been working on a product release for the past 2 years. I was dumbstruck, how could somebody work on something for 2 years. When I conveyed my doubt he gave a long sigh and explained that his company focuses on the process of delivering quality products to the customer and hence has left the decision on processes with the Quality Assurance team. Every-time a new release is supposed to happen, the QA raises a red flag about some issue or the other and hence delays the release. One of the important points they like to focus on is documentation.

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.