CMM overview
First, what is cmm?
CAPABILITY MATURITY MODEL, English literal translation means "ability maturity model". Software Engineering Institute, Software Engineering Institute (SEI), the purpose is to provide reasonable and effective assessment of software organization development capabilities through a reasonable system model to help software organizations are implemented in models. In the process, improve software process management capabilities, reduce software system development risks, and develop high-quality software products in the scheduled project cycle and budget.
It can decompose and analyze its meaning according to the three constituents of CMM:
C (Capability) - PROCESS CAPABILITY, which can be used to expect the result range from the expected result range as the process capability of the project when using a process. Ability is an important reference point for assessing a software organization strength. For example, this organization's technical reserve, management means, personnel constitutes, is the organization of the organization "can" ability, an organization can undertake a project, bear a There is a foreseeable consequence after the project, can be reliable from these constituents. Therefore, "capabilities" referred to herein is a "expected result range". For example, attending the running players, the ability of each player can be used in "expected result range" - the time required to run the schedule, so there is a "winning hot" analysis before the game. prediction. Thus, CMM is a model with assessment and prediction.
M (Maturity) - matures, the maturity level (Maturity Levels), means some stable good conditions in the process leading to high maturity. The so-called "stable good state", for easy understanding, people's growth and development, can be divided into different stages, such as babies, young children, children, youth, youth, strong years. CMM is divided into five maturity levels, and the maturity standard is defined for each level. According to these standards, the evaluation party evaluates the maturity of the software organization; for the assessable software organization, these level models are followed Definition, through a step-by-step process, from low to high to improve its own maturity ability. Therefore, CMM is a grade model that is guided and evaluated.
M (model) - model, the meaning of the model itself is abstract, and like, CMM itself only specifies the features necessary to process, but does not specify a special process. Therefore, CMM is a framework for software management, it is abstract, and the specific implementation is customized and applied by each software organization.
Comprehensive analysis, CMM is an assessment and predicting software organizational capabilities, grading, abstract software process management framework.
Second, CMM and project management
In the 1960s, the software crisis has emerged, the reason for the crisis is that the future software production method meets the development needs of the increasingly large software system, and the software quality is not effective, so software engineering has emerged. Software engineering is to use engineering perspectives to study and guide software development, using strict engineering technology theory to develop software to form a scientific production system. However, can software engineering fully solve the software crisis? In the real world, things often appear in the form of two sides. If the software engineering is a way to solve the software crisis, then another way is it? Software development is usually done within a certain period of time, and the larger the system development cycle, the longer the system, this process is the software process that is usually said (SOFTWARE Process). Because the process has experienced a short period of time, the process is full of unpredictability, I don't know what the next step will appear, and once unexpected situation, how will it be processed? For the process, if only the technical means of software engineering can be used to cope, it is undoubtedly not enough, the process, the most effective is management, because management is more flexible, so another way to solve the software crisis is effective. Project management. Project management is based on the process, CMM is a improved framework for software process management. All stages of the software process are characterized in each stage of the software process, to meet these characteristics to make capacity maturity evaluation . These feature descriptions, in CMM, called key process area, kPa, each KPA specifies the goal that software organizations to meet the KPA must implement, and the target is for organization management and process management, so the organization is implemented. The KPA objective in a level has reached the corresponding maturity level on the ability of project management. Third, CMM grade model
The CMM model is divided into five grades, initial grades, reassembly, defined, managed, and optimized, specific contents are as follows:
Grade name
feature
Key process domain (KPA)
The initial level is based on individual subjective ways to develop
Repeatable levels do not have the process of organizational scope, using existing project management practices and experience
Demand Management Software Project Planning Software Project Tracking and Supervising Software Association Management Software Quality Control Software Configuration Management
Defined steps that are defined as a process that belongs to organizational scope, which is developed according to the process.
Organizational Process Focus Organization Process Definition Training Program Integrated Software Management Software Production Engineering Group Coordinated Mutual Review The management level can quantify process capabilities, predict and control a project process performance according to quantification
Software Quality Management Quantitative Process Management Optimization Level Process Ability is controllable, improved, and can be evaluated in quantization
Procedure Change Management Technology Change Management Fault Prevention
As can be seen from this table, the CMM is based on the process, providing support from the software organization's own system to reach the process quantitative, controlled target to cope with changes in the software development process. The higher the ability to maturity, the more project development and project results can depend on control, reliable software process, rather than dependence on unstable unpredictable personal capabilities, such as a project leader, or a certain Core technician.
Fourth, the implementation of CMM in the organization
As can be seen from the KPA of CMM, the composition of CMM has multiple aspects and different levels. The specific implementation needs to rely on various tools, techniques, methods, methods, and forming development specifications and management traditions, and more importantly, CMM itself needs to fuse in a software organization system, that is, the software organization's level, layers, various organization parts, and even individual needs in software process, software process can be coordinated and operated in a mature specification. This gives the best project results. Software organizations that integrate maturity, CMM is no longer a foreign matter, but it is better than the internal share of the internal share, which has a huge role in software product production in the organization's body. Note: The small part of this article refers to Software Project Management in Practice. [Tsinghua University Press] .pankaj Jalote (India).