Therein lies the first clue to what the Capability Maturity Model Integration (CMMI) is. It is a model, specifically a model of how to go about structuring the processes for developing systems and software. It has a track history in that it is the latest output from the stable of the Software Engineering Institute (SEI) that originally gave us the Software Capability Maturity Model (SW-CMM) in the early 1990s.
Whereas the SWCMM exclusively dealt with the development of software, the CMMI is a much wider-ranging entity. It is particularly aimed at both software and systems development, but I have encountered it being used by organisations that have nothing to do with software at all, the most extreme being one that was involved in the development and maintenance of buildings.
It contains a number of process areas (PAs), each one comprising a set of practices that direct improvement in a specific direction. Like the witches in Macbeth, these practices indicate 'what' ought to be done to achieve greatness but do not tell 'how' to do it. That is dependent on the individual situation of each organisation implementing the model.
So does this mean there is an infinite number of ways of satisfying the model? Well not in my experience. I tend to find that there are flavours of implementation but the mix of these flavours makes for a very rich cross-section of approaches that all ultimately boil down to satisfying the same base model of 'what' needs to be done to achieve business goals and develop good products in an effective and efficient manner.
One frequent way I hear this expressed from senior executives is, 'It gives me confidence.' This is confidence based on consistency; and you don't have to be in the stratospheric regions of Maturity Level 5 to achieve that consistency. I hear executives from organisations that have achieved maturity levels 2 and 3 positively glowing about how developments are now on time, on budget and the customer actually likes what they get.
So the CMMI tells us what constitutes good practice, but it is also a model of how to go about doing process improvement itself. Various PAs and practices are specifically geared to improving the process of improving. In my experience this has been a revolution in itself. The complaint of many a newly appointed process improvement manager is, 'How do I do this?' The CMMI helps.
Currently there are also two main representations of the model that embody different approaches to implementing the model. The 'staged' representation provides a structured, route through the improvement process. The 'continuous' representation enables selection of an organisational-specific route for the process improvement.
The staged representation is the most widely applied approach and organises the process areas by maturity levels. Achievement of a maturity level implies satisfaction of specific sets of process areas. These are the 'levels' that you most often hear people talking about when describing whether an organisation is level 1, 2 etc.
The term is often misused as the continuous representation also employs levels, but in this case they are capability levels. Because in the continuous representation organisations can select a limited number of process areas, there is no common way in which you can group them together to give one overall result. So a capability level applies to an individual process area and indicates a specific level of satisfaction of the practices of that particular process area.
The CMMI tells us what to improve and how to improve it. As hinted above it also acts as a reference by which to assess how good our current process actually is. The SEI provides an associated appraisal method for exactly this purpose.
The SEI sanctioned appraisal method is the Standard CMMI Appraisal Method for Process Improvement (SCAMPI). Three different classes of appraisal are available. A Class A appraisal is the formal means of determining the level to which the model is satisfied. It delivers a highly rigorous and reliable means of assessing the organisation. Results can be posted on the SEI's website.
Lighter approaches are available through Class B and C appraisals. The range of classes of appraisal addresses the different needs of an organisation dependant upon where it is in its improvement journey: the formal check, the robust baseline and the quick look.
How is it being used?
One of the common misconceptions of the use of the model is to whom it does and doesn't apply. Frequently I hear that it is only applicable to large-scale defence or military projects. Not true. Figure 1 below shows the relative numbers of appraisals conducted using the CMMI as a model both inside and outside of the US and also by sector.
Note that outside the US the vast majority of appraisals have been conducted in non-military, non-government organisations. This is very interesting. One of the common perceptions is that organisations only use CMMI because of US government procurement policy. This used to be a well-founded assumption. The commercial sector rarely has this sort of contractual requirement relating to CMMI. So most of these organisations don't have to use CMMI, they are choosing to.
Figure 1 also tells us that the CMMI has well and truly 'broken out' of the US. Many considered SW-CMM to be a US-only model and only needed to be considered if trading in the US or dealing with an American parent or sibling organisation. But now we see more organisations outside the US electing to implement the CMMI.
In part I attribute this success to the evolution that occurred in moving from CMM to CMMI. The multidisciplinary approach (i.e. not just software) and the different representations of the model may lend themselves to organisations that are less homogenously oriented around just developing software and are instead about broader product bases. Thus the opportunities for more commercial implementations of the model are greater.
I also see CMMI being used as a way of differentiating yourself from the competition. It may be argued that this is nothing new, as indeed standards such as BS5750, ISO9000 etc. have always been intended to assist with identifying the high-quality organisations. However I would posit that there is something different with the CMMI.
The older standards acted as a gate. You either have or don't have the standard. It gets you through the door to start talking. But with CMMI, the maturity level that you satisfy tells me a lot more about you. Each of the maturity levels has a character that paints a picture of how your organisation is likely to behave.
This is particularly important in long-term relationships. So it is no surprise, as shown in Figure 2 below, that offshore suppliers are using CMMI, and particularly how mature they are, as a way of 'proving' themselves to potential partners and customers. But note that this is the opposite way around from client bar to contract (e.g. the American Department of Defence). In this new framework, organisations choose to implement the CMMI because it gives them competitive advantage and not because 'the customer told me to.'
And it's still evolving
Life is change. It goes without saying. Individuals, organisations and communities all evolve to meet new situations and challenges. If the models that we employ stay static they may become inappropriate and wane. The CMMI is an evolution from the SWCMM that I hope you can see has increased the suitability of such process models to a wider gene-pool of organisations.
But it can't stop there either. The challenges of globalisation, partnering, security etc. in the early 21st century mean that our business and process models need to keep step with a climate of ongoing change. The advantage of the CMMI is that it has been specifically designed with the view of evolution in mind.
Thus later this year we will see version 1.2 of the model released, and other changes are also in the pipeline. Does this mean that I have to constantly change what I am being appraised against? Not necessarily. The structure of the CMMI (and particularly in v1.2) is such that I may be able to choose when certain elements become applicable to my organisation. Change can be managed and this is ultimately what the CMMI is all about.
Kieran Doyle is the CMMI practice lead of Lamri, a software process improvement consultancy.