Tuesday, June 18, 2013

How to make transition from Waterfall to Agile

Waterfall to Agile transition is the hardest one. If you are starting a company with young programmers who are not exposed to any processes, it's easier to get the entire team to adapt Agile. If you are introducing Agile in a company that followed Waterfall for 20 years, you will most probably fail if you are not prepared well.

First step: Get the buy-in from senior management. If the senior management is not willing to approve Agile publicly, you will most certainly fail in your efforts to implement Agile. Support for Agile should come from your CIO, CTO or someone in that level. If they are not willing to support you, it's better to stick with Waterfall.

If you get the buy-in from senior management for Agile, start small. Take one development project and start implementing Agile Scrum in that project. Train entire scrum team (developers, product owners and any other stakeholders) in Agile practices. It's a good idea to conduct 90 minute Webinar or Power point presentation to entire scrum team before the start of the project. Do not expect the team to follow the process from day one. There will be tons of resistance from developer to product owner. Be prepared to address their concerns. Some of their concerns are related to uncertainty and some are political. Deal with each concern diplomatically. If you start implementing Agile Scrum across all divisions of the company at the same time, it will be overwhelming to educate and adapt at the same time. Salesforce has done that successfully; however, I think that is the rare case. See Salesforce case study for more details. 

I am amazed by the way Salesforce implemented Agile across all divisions of the company and succeeded in that. For the rest of us, following steps would make more sense to make the transition from Waterfall to Agile.

  1. Start small. 
  2. Take one development project with less than 10 developers. 
  3. Train the team and product owners in Agile practices. 
  4. Conduct all required sprint meetings. 
  5. Make sure the team attend daily scrum. 
  6. Try to do 2 week sprints. Keep the sprint duration consistent.
  7. Conduct Sprint retrospective meeting after every sprint
  8. Evaluate performance metrics after every sprint. 
  9. Make sure team creates potentially shippable product after every sprint.
  10. Listen to the team and make sure that scrum is getting the best out of the team and not placing additional hurdles.


If you follow the above steps sincerely, you should be able to produce concrete results after 4 sprints and be able to convince senior managers about increase in productivity and speed to market.

No comments:

Post a Comment