28 July 2009

Process maturity and value

By Andrew Clifford

Process maturity models must be supported by a simple view of how value is delivered.

The Capability Maturity Model (CMM) is the best-known process maturity model. It was initially developed to evaluate software providers for US government contracts.

The CMM defines five levels of maturity:

In theory, organisations working at higher maturity levels are more efficient and have fewer risks.

CMM was initially targeted at software development. Now there are maturity models for nearly every specialism in IT, such as project management, people management, service delivery, information security, enterprise architecture, and so forth.

Process maturity models are useful for activities that have clear objectives and which are repeatable, such as programming to specification, or day-to-day service delivery. However, process maturity models have many limitations:

Processes try to deal with these limitations. There are processes for gathering requirements, designing solutions, and communicating with stakeholders. But the very fact that these are presented within a process framework makes them subservient to the framework, as if they were just part of the bureaucracy involved in getting on with the real work of programming, or whatever.

I am not against process maturity models, but they are just a tool for delivering value. If you can not see the connection between your processes and value delivery, you can not deliver value.

One way of making the connection is to start with a simple, generic view of how value is delivered. Something like:

If you can see how your processes achieve this, albeit in a better defined and more formal way, then there is a good chance your processes will deliver value.

But if your processes are obsessed with formalities and obscure the underlying value mechanism, then the processes, however well-defined and mature they may be, can not deliver value.