I was recently talking to a client was concerned about the development processes used within their organisation. This is a challenge that has been tackled by many organisations and one which the Software Engineering Institute looked at years ago and produced their Capability Maturity Model (CMM) to help with. I stated that I would find and send them a summary article to help. The challenge really started at that point.
The CMMi has been developed and integrated with other approaches and become the CMMi. This process has increased its apparent complexity, as well as its flexibility. The information on the SEI web site (link) has split into either detailed manuals of CMMi and presentations that primarily seem to say “Why you need to buy in our consultants…” The CMMi has been adopted by large players and so there is a strong consultancy market surrounding it, including training and appraisal of your organisational level. The manuals are reference material and not intended to be a thrilling read. The presentations do well at selling CMMi benefits but don’t offer much in the way of a “how to guide”.
The best links that I found to describe the CMMi to allow a quick “Is this for me assessment were:
These sites provide an overview of CMMi at a level more suitable for someone who needs simply to understand the core nuggets of wisdom contained in the CMMi. The still are quite long though, so here is a quick summary of the summary…
CMMi is structured to allow consideration of how an organisation does things, for simplicity I will assume it is software development that is being performed. The CMMi assumes that the road to improvement means ending up with a standardised approach for doing this which can be measured, optimised and customised to the situation in a controlled fashion. It has this in common with many “Quality” processes including the international quality standards. It asserts that there 5 levels of maturity:
- Level 0 – Incomplete – We can get there, we’re sure we can. Not sure how though, and sometimes it don’t quite work right.
- Level 1 – Performed – We can do it as long as it is about the same as the last time.
- Level 2 – Managed – We can do it, and we can manage the process.
- Level 3 – Defined – We can do it, and have a definition of how.
- Level 4 – Quantitatively Managed – We can do it, and can provide numbers about how well. After all what you don’t measure you can’t manage!
- Level 5 – Optimising – We can use the numbers as a basis for continual improvement of how well we do it.
The idea of CMMi is to move up between the levels, and the way to do this is to develop various process areas in your organisation at each level. The areas form a structure, so it is very hard to fully benefit from a higher level process until the lower level ones have been addressed.
The processes organised by level are:
- Requirements Management
- Project Planning
- Project Monitoring and Control
- Supplier Agreement Management
- Measurement and Analysis
- Process and Product Quality Assurance
- Configuration Management
- Requirements Development
- Technical Solution
- Product Integration
- Organizational Process Focus
- Organizational Process Definition
- Organizational Training
- Integrated Project Management
- Risk Management
- Decision Analysis and Resolution
- Organizational Process Performance
- Quantitative Project Management
- Organizational Innovation and Deployment
- Causal Analysis and Resolution
It is likely that if you are having quality or delivery problems that by looking at these process areas in turn and considering whether you “Do that” you can start to gradually improve. The CMMi manuals have a lot to say that can support you, or you can start looking on Google etc. for ideas that might help you improve. If you need help then seek outside help – it can be value for money. If you need to be certified to a certain level then the game is very different and outside input becomes a necessity.