Fairy tales have never lost their charm and they have always stayed close and strong in the hearts of people. I have made a maiden attempt to explain the compatibility of Agile and CMMi model as a fairy tale and this is how it goes:
Once upon a time, there was a software town. The town’s people were efficient in building software projects. In that town, there was a girl named Agile. She was a simple, no-nonsense girl. She valued:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
She was robust enough to manage any change at any phase of a software project and that too with minimal effort.
All girls in software town were after a handsome guy called CMMi model. He prescribed a set of best practices to be followed in software projects. He groomed the software projects from an ad-hoc management level to an optimized management level.
To be appraised as a compatible partner of CMMi model, was every girl’s dream in software town.
One day Agile was walking along with her peers Waterfall and RAD and they made fun of her that she will not be compatible with CMMi Model with her simple nature.
Agile was in tears, she cried and prayed. A fairy appeared and she said:
“If we can prove some myths as untrue, you can work your way to align with CMMi Model”:
Myth 1: CMMi model and Agile are hard to be aligned.
Myth Buster: CMMI and Agile complement each other as CMMi speaks What to do? and Agile speaks How to do? And together, they guide well in doing the project right and ending up with the right deliverable.
Myth 2: A right balance cannot be struck between the Agile-given flexibility and motivation to projects and practitioners and the CMMi model-given organizational learning and improvement opportunities.
Myth Buster: A right balance when struck between Agile and CMMi model, energizes the organization to improvise and innovate better. The balance can be struck by automating and leveraging appropriate tools for project processes.
Myth 3: CMMi Model has to be applied to projects.
Myth Buster: CMMi describes a set of best practices and has to be taken as a reference for projects. CMMi is not a formula for projects but a reference that has to be implemented in projects. Projects are supposed to learn and relate the model to their actual scenarios.
Myth 4: Adherence to CMMi model involves a lot of documentation for the projects, while Agile projects does not need documentation.
Myth Buster: Agile does value documentation but a bit less than the working software. With proper interpretation of CMMi model’s needs, optimal documentation can be insisted to suffice the needs of Agile and CMMi model.
Myth 5: CMMi high maturity insists on precise predictability, while Agile insists on reaction to changes.
Myth Buster: Actually CMMi does not ask for an absolute value of prediction, but at least a prediction range that will allow the project to take informed decisions. Better process management is the key to cater to CMMi and Agile together.
Boom…. The myths are not true anymore…
Then the fairy said, “Let’s get you ready my Agile lady, you need some tools to evidence your process activities better”
The fairy added some tools to the Agile projects. The tools took care of configuration management, metrics calculation, test-driven requirement management, continuous review, continuous testing and continuous integration. Now almost all of Agile’s process activities could be demonstrated and evidenced.
Agile presented herself to CMMi and CMMi was very much impressed by Agile’s fresh approach. CMMi was happy with Agile’s tools and performance, and appraised Agile as a compatible partner.
Agile & CMMi lived together happily ever after.
CMMI® or Agile: Why Not Embrace Both! – CMU/SEI-2008-TN-003
Real experiences while implementing CMMi Level 5 practices in Perficient Chennai