Here we are at the final part in our hot discussion – will Agile and CMM get hitched, become a potent combination? If you have followed the earlier parts of this story, you would share my excitement – for the fairy tale is within our grasp – what it does require though is a practical mind and the logic to apply to practice.
Let’s dwell a little deeper. Both Agile and CMM share a common set of end objectives – to maximize revenues and reduce costs through faster output and fewer defects, and to enable continuous innovation, to serve business objectives better. Incidentally the same objective every business is seeking, particularly in these difficult times.
So, if we agree that fundamentally their “heart” is in the right place and in sync, what’s then required is to find and select the common pathways to travel down both these methods, without conflict or compromise.
The wonderful part about Agile is that it doesn’t declare “what to do” thereby giving you fair elbow room. And while it prides itself on being lightweight, it really isn’t that simple. Release and Iteration planning needs extraordinary project management skills, working with a talented and multi functional team, who are expected to shed ego and attitude in the cause of Agile. Continuous Integration and Tests ensure continuous verification and validation as well as Configuration Management practices. Not so different from CMM practices after all.
But how about ever-changing requirements? In Agile once Features are finalized in an Iteration Backlog, they cannot be changed. Now that sounds like a Baseline in CMM parlance.
Both Agile and CMM stress on constantly linking Business Value to the Product build, and stress on regular monitoring to ensure. They both constantly review the Return on Investment and measure size, effort, schedules (read Time Box) and cost. Stakeholder engagement, in continuous and “fast forward” mode, are constantly reviewed in both. At the end of each cycle, a Retrospective captures Best Practices, Lessons Learnt and “What went Well”.
In conclusion, it appears that while Agile and CMM have their differences, they have much in common too. Deployment is never easy and needs to be well guided, not to mention independently reviewed for continuous improvement. With a pragmatic business case to start with, a difficult time is not a bad time to move down the path of software engineering maturity, to deliver the best business value. It may get hot – but then “Some Like it Hot”!
- AGILE & CMM : The Marilyn Monroe Connection (Part 2) : Something’s Got To Give
- AGILE & CMM : The Marilyn Monroe Connection (Part 1) : The Misfits
- How To Become More Agile and Innovative (informationweek.com)
- My Concerns with Process Certification (basilv.com)