This article gives the information about Capability Maturity Model that is CMM. CMM is for software is an industry standard model for defining and measuring the maturity of a software company’s development process and for providing direction on what that they can to improve its software quality. It is a framework for software development which was developed by the software development community along with the software Engineering Institute (SEI) at the Carnegie-Mellon University. SEI has defined six capability maturity model (CMM).
- SW-Capability Maturity Model: A capability maturity model for measuring software development organization.
- P- Capability Maturity Model: The people capability maturity model for measuring an organization’s maturity in managing its people.
- SE- Capability Maturity Model: A capability maturity model for measuring system engineering organization.
- SA- Capability Maturity Model: A capability maturity model for measuring how an organization acquires software.
- IPD- Capability Maturity Model: A capability maturity model for measuring an organization ability to perform integrated product development.
- CMMI: Capability Maturity Model Integration.
The capability maturity model for software first developed by SEI is a framework that describes the key elements of an effective software procedure. It explains an evolutionary speedy work path from adhoc, immature process to mature disciplined process. The CMM covers all practices for planning, innovation, and managing the ability of organization to meet goals for rate, time schedule, working and product quality.
Component Of CMM:
- Maturity Levels:
A maturity levels is well defined evolutionary area for achieving a mature software process. The five maturity levels provide the top-levels structure of the CMM.
- Process Capability:
Software capability process describes the range of expected results that can be achieved by following a software process.
- Key Process Area (KPA’s):
Each maturity levels are composed of key process area. Each key process are identifies a cluster of related activities which when performed collectively achieve a set of goals considered for establishing process capability at maturity level.
A maturity level is well defined evolutionary area for achieving a maturity software process. A following figure shows the five levels of Software Process Maturity. Each maturity level provides a layer in the foundation for continuous process good working. Each key process area help a set of goals which when satisfy stabilize an important component of the software process.
Level 1 Initial:
It works on the principle of “just do it”. No formal process is used for estimation and planning. There is lack of management to ensure that process is being used. Performance depends upon the capability of the individual and varies with their capability, knowledge and confidence.
Level 2 Repeatable:
Level two work on the principle “Think before you act and think after you act” just to make sure what you did is right. At the repeatable level policies for managing a software and producer to implement those policies are established.
Level 3 Defined:
It works on the principle of “Use your lessons learned”. At defined level the standard process for developing and maintaining software across the organization is recognized.
Level 4 Managed:
It works on the principle of “Predict the result you need or expect and then create opportunities to get those results”
Level 5 Optimizing:
It works on the principle of “Create lessons learned ad use lessons learned to create more lesson learned and use more lessons learned to create even more lessons learned and so on…”