Posted by: onlineashu | May 18, 2012

A Framework for Waterfall Vs Agile Vs Lean Startup

Further to my blog on CIO = Chief Intrepreneur Officer, wherein I commented, “The expectations from the corporate CIOs are changing”. The CIOs are now expected to contribute to the revenue growth of their business and not just manage the existing IT applications or infrastructure. I also commented that to deliver this new expectation of revenue contribution, Intrepreneur CIOs will have to adopt new methodologies such as the Lean-start-up (More details in my earlier blog: https://onlineashu.wordpress.com/2011/12/19/cio-chief-intrepreneur-officer/ ).

After this blog, quite a few of my colleagues asked me, ‘if software methodologies such as waterfall will fall by the wayside?’ In my opinion the software development methodologies such as Waterfall and Agile will coexist and methodologies such as Lean Start-up will overlay in an entrepreneurial scenario. The question really is how do you establish which methodology to be used when and how do these pieces fit together?

I have come up with a simple framework to establish which methodology to use in which scenario. Choice of methodology depends upon what problem you are trying to solve and the degree of it. For example a minor scratch on your body can be cured through a plaster band whereas a deep wound will require a specialist dressing. Similarly, which methodology to use depends upon depth of the challenge, in this instance how deep is your knowledge of business requirements and the technology solution you are planning to deploy.

A Framework for Waterfall Vs Agile Vs Lean Startup

  1.  Waterfall is best suited to scenarios where the business requirements and technology solution is well known and understood. For example, with the popularity and increasing use of mobile and hand-held devices there is a tremendous need to re-factor or re-develop existing applications and make them compatible with these new platforms. In these scenarios, where the business requirements are clearly known and the technology is clearly established a waterfall methodology will be the best to be used. I should hasten to add that all such projects should be contracted out and every possible cost reduction method such as off-shoring, factory based approach, tool based transformation must be utilised.Waterfall is a robust methodology and in my experience it starts to fail when you are dealing with relatively unknown set of business requirements. In these days which is usually is the case.
  2. Agile: Use of Agile for software development is gaining popularity rapidly. Agile is very useful and highly recommended when business is implementing a new operational strategy. In other words, when the business requirements, the end solution are reasonably known and you have a business owner who can take an instant call what is needed and what not, the Agile methodology works the best.A digression, ‘Agile’ is a very used and abused term these days and people tend to focus on methods such as Scrum, Extreme Programming (XP) or Test Driven Development (TDD) a lot and miss the whole point of Agile. This is how I see what Agile is: Agile is a software development approach for delivering software in an iterative way, delivering small functionalities on a regular (2-4 weeks) and incremental basis. This enables the software development team and the users to view the progress, validate it and ‘course correct’ it on a regular basis.
  3. Lean Start-up: Eric Ries in his book Lean Start-up defines start-up as a human institution designed to create a new product or service under conditions of extreme uncertainty. The key word here is ‘extreme uncertainty’. This implies an Intrepreneur CIO will have to deal with scenarios where both the business requirements (customer needs) and the solution are fuzzy (not known). In these scenarios the best approach for solution development is to use the Lean Start-up methodology.Some people consider Lean start-up = Agile but, I think there is a fine difference between the two. In agile methodology you have a product owner who decides what is needed and what not. In an entrepreneurial scenario there is no product owner all you have is a hypothesis.

References:

http://en.wikipedia.org/wiki/Waterfall_model

http://en.wikipedia.org/wiki/Agile_software_development

http://www.startuplessonslearned.com/


Responses

  1. Hi Ashu
    An interesting article, however if we see the business req and technology from a 4 quadrant view rather than on a 2 dimensional view , the 4 th quadrant of tech and Req unknown will be hybrid, a place where big orgs will be hesitant to venture due to risk of failure rather than benefit of reward as failure can dent market share.
    So will not the CIO’s of Org’s using IT try to reduce the quadrant?
    As from Sun Tsu .’If ignorant both of your enemy and yourself, you are certain to be in peril.’

    Aish

  2. Excellent article. Particularly, the graphic titled “A Framework for Waterfall Vs Agile Vs Lean Startup”.


Leave a comment

Categories