- I use CMM to refer to both the CMM and its successor the CMMI.
- What I have to say about the CMM is also applicable to other process related classification tools e.g. SPICE.
The Distortion
- Software companies, view the CMM rating as merely a marketing aid.
- As a result, the objective becomes getting certified - not process change. Any process change is just for the benefit of certification inspectors. It is window dressing. The actual process remains unchanged. There is a saying in Hindustani which accurately describes this behavior, "An elephant has two sets of teeth; One for display, another for eating". It is what some (?) of our garment exporters used to do; sample lots used one process, shipment lots used a "practical" process. Garment exporters could sell their rejects in the local market. Software exporters do not have that option.
- The CMM is a tool for top management, just as much as a balance sheet is.
- Balance sheets too are subject to window dressing. However, top management - unless they are drinking their own kool-aid - would be fully aware of the true situation.
I will take the terms in reverse order.
- Model (the 2nd M). The statistician Box said, "All models are false; some are useful."
- False, in the sense that no model captures the entirety of the subject.
- Useful in the sense that relevant characteristics are captured.
- Relevance is determined by the problem/application/domain. Or, to be tautological, usefulness is determined by use.
- Box was a statistician. Statisticians deal in numbers. No metrics; No models.
- Maturity.
- I take this as the analogue of what it means for a human to exhibit mature behavior. What is mature human behavior? It is the opposite of immature behavior. It is childish behavior (note: childish and childlike are not the same). The main characteristics of mature behavior are:
- Consistency.
- Predictability.
- Calibrated response.
- Awareness of consequences.
- Low variance of process metrics indicates higher maturity. That is what Six-Sigma processes are about.
- Capability.
- The Model mentioned above models Capability. As mentioned, modelling requires metrics.
- The facets for which the metrics are required:
- Domain knowledge
- Code
- Size
- Quality metrics
- Project Management.
- On-time delivery
- Responsiveness to change
- Time to fix defects
- Administrative & Financial.
- Personnel
- Infrastructure
- Project resources
- Metrics mean making measurement. That means demonstrated performance - not imagined performance.
Relevance to Management.
- Project Management is about making and keeping commitments.
- Commitments require estimating future performance.
- Estimates have necessarily to be based on the past - the demonstrated capability.
- The reliability of estimates is indicated by the variance of previous differences between estimates and actual performance - the demonstrated maturity.
- Software organizations must, on a regular basis, check the health of their process. The CMM is an instrument for performing the check.
- A regular CMM check for the process is as necessary as a regular medical check-up for people.
- Performing a regular CMM check should be the top task of the QA team.
- The report should have the attention of the CEO and CTO
No comments:
Post a Comment