It’s been more than four and half years since I am involved in QA activity and have executed quite a lot number of projects varying from 6 months duration to 2 months. Most of those project execution was based on Waterfall model and Iterative model. One question which keeps coming to my mind is why different companies follow different software development models? Does it really matter to the end users or Client or Stake holders, if you have followed typical waterfall or a fashionable agile model? Why would they even bother about that as long as you are giving them what they want (Quality Software) and on time (satisfying their “Time to Market” clause)? They might be interested in the success rate of the projects which followed “A” methodology or surprised by the “X” amount of overhead some company is charging which follows “B” methodology (which is based on some of the best engineering practices for rapid and high Quality Software Development).
Software is an evolving field and so should be the processes. We need to continuously improve and refine the processes for delivering better and high quality software. One distinctive feature of Agile methodology is regular adaptation to changing circumstances. To improve we should look back, analyse, find out the short coming and rectify it going forward. In the way I understand, nothing is hard coded in so called agile methodology, we adapt good practices, drop out some unproductive practices and take some time out to see where we stand and how to improve.
So the question is still at it’s own place, why do different companies follows different methodologies? It might be something which is wired into the DNA of the company when it is founded, it might depend on client to client (whatever we can sell) or sometime it’s just like “let’s ride the wave”.*
* Conditions Apply 🙂