The Capability Maturity Model CMM

So what is the buzz all about when it comes to CMM and why should we care? The Software Engineering Institute's (SEI) CMM is not actually a life cycle methodology, but rather sets of strategies for improving the software process on a projects. Therefore, I have not included CMM in Chapter 3. Many companies using CMM are stuck in a default waterfall methodology mentality and have neglected the spiral or iterative development methodologies. This is not CMM's fault at all, but project managers should understand that the waterfall approach is not always the best way to proceed. However, CMM has made advances in covering aspects of iterative methodology projects, although this doesn't always come across as being communicated to the project community. CMM tends to overemphasize inspections, peer reviews, and enforces strict quality assurance (QA) adherence, forcing many projects into paper and meeting "overload," which is also not good.

The primary objective for any company is to achieve a Level 3 CMM certification. Many companies are rated on how well their processes and systems meet the best project standards. In other words, if it does the prescribed set of foundation project activities, it is a Level 2. If it then does a prescribed set of project activities as a "company," it is Level 3, and so on. Essentially designed by SEI to help organizations overcome their problems, the system provides an effective and proven method for gradually gaining control of and improving product development processes, a yardstick against which companies periodically measure their production process, and data with which to prioritize and manage improvement efforts. I have included CMM in this book because many people are convinced that it is a variant of a project methodology, which is untrue. The areas of CMM are: (1) SW-CMM for software, (2) SE-CMM for systems engineering, (3) IPD-CMM for integrated product development, (4) SA for software acquisition, and (5) P-CMM for human resources.

An instrument for assessing a company's current maturity level and project practices is a software capability evaluation (SCE), which determines whether a company "says what it does and does what it says." Therefore, to gauge a company's actual performance, you need to perform an accurate assessment, which is not always done; instead, CMM is applied as both the development and assessment standard. The RUP or ISO 12207 standards are other references.

Together, this set of strategies is being integrated into what is now known as CMM Integration (CMMI). The CMMI is a more activity-based approach, which integrates many of industry's modern best practices and discourages an alignment with the waterfall mentality. Hence, CMMI is more iterative in concept versus the traditional CMM waterfall concept.

CMM describes both unique product development practices and the common management practices that any organization must perform. These practices are organized into five levels, each level describing increasing control and management of the production environment, starting with ad-hoc performance and culminating in controlled, structured, continuous improvement. An evaluation of the organization's practices against the model, called an assessment, determines the level, establishing where the organization stands and which management practices the organization should focus on to see the highest return on investment.

SEI Fellow Watts S. Humphrey created CMM in 1987. CMM is more than 10 years old and has greatly influenced the software industry by having us focus on the development and project process. However, technological shifts are taking place that require development to be more proactive. Originally funded by the U.S. Department of Defense, CMM is used by more than 5,000 government and private companies in more than 42 countries. Large portions of the Level 5 assessments that have been made are based in India. One of its primary goals is to identify and reduce errors during the initial coding process and thereby reduce the amount of rework required from finding errors during testing. The CMM is organized into five maturity levels:

Level 1: Initial. This describes a company with an immature or undefined process. The software process is characterized as ad hoc and, occasionally, even chaotic or unpredictable. Few processes are defined, and success depends on individual effort and heroics.

Level 2: Repeatable. Project management structures and controls begin here. Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications. The key components of project management at this level are: requirements management, software project planning, software project tracking and oversight, software subcontract management, software quality assurance, and software configuration management.

Level 3: Defined. The software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization. All projects use an approved, tailored version of the organization's standard software process for developing and maintaining software. The key process areas at Level 3 address both project and organizational issues. At this level, the company establishes an infrastructure to institutionalize software engineering and management processes across all projects. Compliance with these standards for all projects and by all project managers and development teams is needed.

Level 4: Managed. Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood, controlled, and evaluated by an executive and related staff. The key process areas at Level 4 focus on establishing a quantitative understanding of both the software process and the software work products being built. They are quantitative process management and software quality management. It is at this level that analysis tools such as function point analysis and other performance metrics are implemented.

Level 5: Optimized. Continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies. The key process areas at Level 5 cover the issues that both the organization and the projects must address to implement continual, measurable software process improvement defect prevention, technology change management, and process change management.

Getting your company to make an effort to move up the CMM ladder may not be easy. CMM focuses mainly on activities and supporting documents associated with a conventional waterfall process, such as plans, specifications, QA audits, inspections, and formal documented processes and procedures. It's very documentation orientated, and this drive to produce more documents can actually slow a company down. However, this needs to be better addressed by CMM.

Many companies simply do not have the commitment, time, and resources to graduate beyond Level 1 or 2 on the CMM scale. So they stay there. The downside is that these companies eventually lose business, because nobody wants to hire a company who is rated as "ad-hoc" Level 1 on the CMM scale. There are even fewer companies identified at Levels 4 or 5. However, at these levels, you will undoubtedly find that more reviews, inspections, and meetings take place just to satisfy the CMM auditing and certification requirements.

In conclusion, assessing your project management in your company and thereby gauging yourself against others requires that you apply some form of metrics to your projects. CMM/ CMMI techniques are a way to do this, showing you know how your project management measures up to the rest of the industry. It's a clear way to determine if "you're doing what you say you can do."

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment