Archive for January, 2008

Agile CMMI

Wednesday, January 23rd, 2008

“Are we a CMMI certified company?”

I was speaking with a business associate the other day. We were learning a bit about each other’s companies and he asked me this question. I answered as well as I could, trying to balance the art of diplomacy with frankness. I confessed that we were not, and that while there are many good things about the Software Engineering Institute (SEI) and its processes, we are a rather different software company than those that benefit from their Capability Maturity Model Integration.

“CMMI prescribes an intense process, and requires a lot of documentation in order to guarantee quality, repeatability and ongoing improvements, while we are an agile shop that is focussed on delivering high quality software with a well-defined but very lightweight process,” I told him. “CMMI is geared toward keeping a symphony-orchestra-like software company on track. There are a lot of players and the organization needs to move seamlessly forward when new players are switched in. We are more like a jazz ensemble: our extraordinary achievements are accomplished by recognizing the star power of the individuals in our team, and we are oriented toward freeing and empowering them.” I went on to describe a bit about the agile methodology, and how both the SEI and agile thought leaders are attacking the problem of managing software development from different directions. We are very interested in the quality of our software, and are constantly revising our processes to that end — its just that our context and techniques are different from CMMI.

After our meeting, as is often the case after I have charged forth with an off-the-cuff speech, I reflected on whether what I had asserted was really true. Are my previously held opinions of CMMI actually valid? I did a search on agile and CMMI and a few interesting articles dropped out. There are not a lot of good hits, and those that I viewed all validated the apparent antipathy with phrases similar to: Agile and CMMI: Oil and Water? It does seem that the community concedes that Agile and CMMI appear to be at odds. However, it seems that there may have been a spark of interest in reconciling the two methodologies a couple years ago. And although there are less hits discussing the topic more recently, it appears that agile thought leaders are participating in defining the next version of CMMI, and I will certainly review version 2.0 when it appears.

I’ll just pass on one article, which is provocative and well-written:
http://www.agilemanagement.net/Articles/Papers/StretchingAgiletoFitCMMIL.html
This article justly received a healthy distribution, so you will also find it on other sites. It describes David J. Anderson’s 2005 experience in designing an agile process for Microsoft’s Solutions Framework that was CMMI Level 3 compliant. The article is remarkable in providing details on the theoretical compatibility of CMMI and agile methodologies, drawing on the thinking of W. Edwards Deming, as well as describing how the principles were put into practice for Anderson’s MSF method.

While 2Paths is not currently in a position to begin the process of becoming CMMI compliant, there is much food for thought in Anderson’s article, and I expect that some of our upcoming process improvements will benefit from our studying it.

In this case, I learned a lot from attempting to speechify on a topic I was not fully abreast of!