The software development life cycle is like a puzzle: Each piece fits into the other in order to create a complete product. When teams decide to adopt new methodologies, such as agile, or revise their current methodologies to be more agile, it is important to make a road map in order to determine what you’re doing and what you want to be doing, according to experts.

Jeff Amfahr, director of product management at Seapine (an agile application life-cycle management solution provider), said that to begin an agile adoption process, teams should assess what metrics will be used to determine if the transition was successful.

“Establish up front how you’re going to know if the adoption was successful. It could be productivity of the team, less software bugs or more customer satisfaction,” he said, adding that it is most likely the business value gained from adopting agile from adopting these new methodologies.

Amfahr said it is important to start with a team that is interested in agile (or the new methodology you’re interesting in adopting). The project should also be one that lends itself to being measured and can be released quickly, he said.

Alex Perec, senior product manager at TechExcel (a maker of application life-cycle management software), said that, based on his experience on a team transitioning to agile, the adoption process can be quite daunting.

He recommended going agile one piece of the process at a time. He said that being partially agile does not mean you are inefficient, it means you are slowly growing toward maximum efficiency.

For some teams and projects, Perec said it is important to realize that Water-Scrum-Fall may be your only option.

“For contract-based work, heavy requirements up front [in the style of waterfall] is important because you are getting paid to specifically deliver a function or series of features,” he said.
Tools can help
Mik Kersten, CEO of TaskTop (creator of the Eclipse Mylyn project), said that heterogeneous software life-cycle management systems for projects are the norm.