From reading the entry on Wikipedia, Capability Maturity Model is an abstraction of an existing system. I'm not sure when this abstraction is employed when analyzing an organization's data structure. Could someone please explain this to me?
The Capability Maturity Model is a way to assess whether a business is doing all it can to improve its business processes. It has been superseded by the Capability Maturity Model Integrated, at least for software-related prcesses.
In addition to the list of "levels" provided by Bill the Lizard, another part that defines the CMM(I) is the list of process areas that the business needs to have:
CMMI defines practices that businesses have implemented on their way to success. Practices cover topics that include eliciting and managing requirements, decision making, measuring performance, planning work, handling risks, and more.
The list of process areas that are addressed, from Wikipedia, is:
AR - Causal Analysis and Resolution
CM - Configuration Management
DAR - Decision Analysis and Resolution
IPM - Integrated Project Management
MA - Measurement and Analysis
OPD - Organizational Process Definition
OPF - Organizational Process Focus
OPM - Organizational Performance Management
OPP - Organizational Process Performance
OT - Organizational Training
PMC - Project Monitoring and Control
PP - Project Planning
PPQA - Process and Product Quality Assurance
QPM - Quantitative Project Management
REQM - Requirements Management
RSKM - Risk Management
When applying CMM(I) to an organization for the first time, the usual first step is to conduct a gap analysis. This would go through each of the process areas above and identify whether the organization already has any standard work detailing how each processes is carried out.
If you are starting completely from scratch (i.e. your company has zero formalized processes), then each process area would be ranked level 1 (initial / chaotic / ad hoc).
As I understand it, the Capability Maturity Model isn't a step in a process to be employed at a particular point in time, but a hierarchy that an organization continuously uses to assess the maturity of their own information systems development and management processes.
The five levels are (from the Wikipedia article linked above):
- Initial (chaotic, ad hoc, individual heroics) - the starting point for use of a new or undocumented repeat process.
- Repeatable - the process is at least documented sufficiently such that repeating the same steps may be attempted.
- Defined - the process is defined/confirmed as a standard business process, and decomposed to levels 0, 1 and 2 (the latter being Work Instructions).
- Managed - the process is quantitatively managed in accordance with agreed-upon metrics.
- Optimizing - process management includes deliberate process optimization/improvement.
Someone in an organization using CMM would be constantly directing project managers to use the processes, tools, and methodologies that would advance the organization to higher levels of maturity.