Skip to main content

Development

CMMI vs. Agile

These days we are preparing next year’s CMMI Level 5 reassessment and delivered a series of training about CMMI. So people are easy to compare CMMI and Agile when we were doing training. And somebody will say they are different and conflict. How can we implement them together?

So what is the difference between CMMI and Agile?

From the perspective of people who support CMMI, they think the gap between CMMI and agile:

CMMI Agile
Systematic process and best practice Pieces of practice
Documented reused process Rely on personal and team’s capability
Quantitative measurement Scarce of metric data
Monitor and tracking system Not enough transparency for whole organization
Support all kinds of project management Only can support small size projects

But for people who support Agile, their opinion is totally different:

Agile CMMI
Slight documents Heavy documents
Embrace change and flexible Plan driven
Self-organized and efficient More cost for process
Emphasize the deliverables Emphasize the standard
Self-discipline team SQA monitor and management control

CMMI focuses on process and emphasizes the transparence of the process. It seems that conflicts with Agile soul, reducing additional management effort, self-organized and embracing change.

Based on my understanding, Agile is a kind of culture. It respects people’s contributions and takes into consideration everyone’s ideas. It encourages initiative, innovation and teamwork for all kinds of activities.  Also Agile includes a lot of best practices in software engineering, such as continuous integration, daily stand up and retrospective meeting.

Also, you will find that the CMMI model never mentioned that you need heavy documents or standard processes. Actually, CMMI just defines the different process areas and goals, recommends some samples for best practices, but does not request that you implement all kinds of things with heavy documents, complex processes and tough management.

At this point, we can combine Agile and CMMI together, using simple methods, such as slight documents or tools, to achieve the requests and goals of CMMI. At the same time, we can refer to the systematic thinking of CMMI, for example quantitative management from CMMI, and we can try to collect useful data from small scrum teams to generate organizational metrics.

I will talk about one detailed example of how to combine them together in daily work in my next blog post. Hope you will like it:)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Categories
Follow Us