One major change in CMMI V1.3 is the addition of agile. Let’s take a look at this to see how deploying the CMMI version 1.3 delivers value for Agile organizations and how we can combine agile and CMMI in process improvement. Earlier, the SEI published the technical report CMMI or Agile: Why Not Embrace Both, to make clear that CMMI and agile can co-exist. Initially I was surprised that such a report was needed.
All the projects that I have managed or worked in have applied techniques that are now considered agile, like iterative development, frequent feedback from customers, time boxing, pair programming, and test driven design. I have also done process improvement projects in an agile way. So, what’s the fuzz?
CMMI and Agile complement each other
I think that it was mainly due to people that didn’t understand both the CMMI and Agile. There are subjects where CMMI and agile can be interpreted in conflicting ways. Like the emphasis in the CMMI on plans, where agile puts more value in responding to change, and how agile values individuals and interactions over processes and tools, where the CMMI focuses more on processes. I think that we need to covering better ways to do process Improvement. Combining Agile and CMMI helps us with that.
I have always considered agile and CMMI to be complementary, and luckily I’m not alone in this. I see much (practical!) support in a book from Barry Boehm and Richard Turner, Balancing Agility and Discipline, a Guide for the Perplexed. This book helps you understanding how much planning is needed (yes planning, not plans as Eisenhower taught us!), and how the disciplined way of working that agile contains makes it a very effective process.
In CMMI V1.3, agile has been included with an interpretation guideline and by adding notes to the applicable process areas in the introduction of the process area and on how to interpret agile practices. This way of including agile information is very helpful, you find information at the spot, condensed and to the point. It also make the CMMI easier to understand when you are working in an agile organization. In case you didn’t know it, there is also a Dutch version of the CMMI V1.3 available.
Agile Techniques
Some agile techniques are not mentioned in the CMMI V1.3. It doesn’t mention specific methods, like Scrum, XP or DSDM. It mentions some agile techniques, like user stories, backlogs, story cards, pair programming, frequent builds, retrospectives, but doesn’t mention others like planning poker, test driven development, burn down charts, etc. There is still room for interpretation in the CMMI process areas, which in my opinion is both bad and good. Bad because not including certain agile term makes it more difficult to recognize and map agile practices to the process area. But the good thing is that the CMMI defines the “what”, and not the “how”, leaving room for organizations to deploy agile in such a way that they reach the business (and CMMI) goals.
I find it a bit strange that agile has only been added to the CMMI Development model, and not to the CMMI for Services (except for Service System Development). In my opinion, services can (and probably should) also be developed and deployed in an agile way to ensure timely delivery and maximum benefit for the customers. I am sure that there are companies that have used agile to develop services (just like I have used Scrum to do process improvement), so it is a bit strange that this has not been included in the CMMI for Services. The CMMI for Acquisition contains agile information in several process areas to support acquiring from organizations that work agile, however I see very limited information on how to do the acquisition in an agile way. Also the agile interpretation guideline is missing in the CMMI for acquisition. But maybe that’s a step to far for now.
How agile is the CMMI V1.3?
It depends how you look at it. If you use the CMMI as an assessment model, then the many elaborations on agile will certainly help you to recognize an agile implementation of a process area. By adding agile information to the CMMI, CMMI assessors will have less questions about how to interpret the CMMI, and thus save time and money in an assessment. If you use the CMMI as an improvement model, then the agile additions are helpful but not sufficient to implement agile practices into an organization.
Learning from each other
The LinkedIn group Agile CMMI (over 12.000 members) is where professionals share their experience on CMMI in organizations that are (becoming) Agile. A great source of inspiration and solutions, I’m an active member of this group, and highly recommend it!
Several CMMI experts have published about the CMMI V1.3 and how to deploy it in Agile organizations. One available solution is to use the People-CMM to implement agile practices. There are also some Golden Rules for Process Improvement, that fit neatly with the Agile manifesto and practices. You can do Sustainable Improvement using Agile Retrospectives.
Conclusion
The CMMI V1.3 is a significant improvement for organizations that are using agile practices, compared to CMMI V1.2 it is much easier to assess an agile organization. If you want to migrate to agile, the CMMI V1.3 is still valuable as an improvement model, but you will probably need other supporting models for the implementation of agile.
(This blog was posted nov 20, 2010, and updated sep 6, 2012 and jan 7 2014: Extended with more information about how to combine CMMI and Agile).
Dear writer
I read this article this is a very nice article .can you send some more article on this topic , I want to read more about it .
Thank you
Harendra Gusain
Hi Harendra,
Good to see that you liked my posting, and glad to be of help!
In an earlier posting (which I updated just now) I mentioned several sources where you can find more information on the new CMMI V1.3. One of the links is the blog of Hillel Glazer,http://www.agilecmmi.com/. He has been working together with the SEI to explore and communicate how the CMMI and Agile can support each other.
Since the CMMI V1.3 has just recently been released, the number of improvement projects using this new CMMI version will be very low, and so will also be the number of assessments of organizations that deploy agile. I will check if there is any information available on agile organizations that have used the CMMI, and will come back to you.
Regards, Ben Linders
Dear Ben Linders
Thank you for share your post with me this is a nice and help full article for me .
Thank You
Harendra Gusain
Thanks for posting your comment on my site. This is an insightful and thoughtful piece of the new agile additions to the cmmi. I agree with you that it will help accessors with agile organizations, but I’m not so sure that agile is the best way to go in acquisition. My two cents :)…
Hi Leonard,
Thanks for your reaction. Glad to see that you like my posting.
Regarding agile in acquisition, there are at least 2 situations that I can think of where the two come together (and there are probably more). First, when your organisation is acquiring products from an organization that is working agile. If you want to assess how you are working together, then you need to understand how certain agile practices fulfill the needs from CMMI acquistion process areas. And second, when you yourself are developing software in an agile way, and you need to acquire products, then you will need to tune the CMMI acquisition process areas to support your agile needs.
When more organisations switch to agile, the chance of a collaboration that involvels agile becomes even greater. So yes, I think that it’s useful to have agile additions in the CMMI ACQ, similar to the other CMMI models.
Dear BenLinders,
This is a very good article, can you please provide Mapping of Agile Artifacts against CMMI V1.3.
Thank you,
Mohsin
Hi Moshin,
Agile artifacts are mentioned in the specific CMMI process areas, to support assessors who are looking for evidence during an assessment. I do not have a list/mapping so I suggest to look in the CMMI or ask a (lead)assessor to help you with this.
Does this help you?
Ben Linders