Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

model

What is the Capability Maturity Model (CMM)?

Umme Ammara

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code

The Capability Maturity Model (CMM) is a framework that analyzes the methodology and approach followed by an organization to develop software.

The CMM provides guidelines to improve the development and management of software products through feedbacks. At each rising level, the software processes mature, and the management gets more expensive and time-consuming. This model helps in devising a strategy to improve software processes by going through five levels.

CMM specifies increasing five levels of the software development organization. The five levels of CMM are shown in the illustration below:

Level 1 - initial

At the first level, the software processes are poorly defined, inconsistent, and immature. The environment is unstable for software development. There are no defined criteria for quality checking and completion time. The success of software development depends on an individual’s efforts.

Level 2 - repeatable

Level 2 organization is centered around project management techniques and policies. It has a basic consistent structure to manage costs, schedule, and functionality of the software product. At this level, some project management policies include project planning (resources, goals, and constraints), requirements management, software quality assurance, etc.

Level 3 - defined

At this level, management and engineering activities are well-defined, documented, standardized, and integrated into a standard software process. The following activities take place at this stage:

  • peer reviews
  • training programs
  • coordination
  • maintenance of standard processes

Level 4 - managed

At this stage, the management sets quantitative goals for software process and maintenance. Using precise measurement techniques, the team aims to predict the software quality within defined constraints. The major parts of this level are software quality measurement and software performance measurement through quantitative techniques.

Level 5 - optimizing

This is the highest level of process maturity that focuses on iterative and continuous improvement of overall software processes. At this stage, software processes are thoroughly evaluated to prevent defects, new tools and technology are explored to improve product quality and performance.

RELATED TAGS

model

CONTRIBUTOR

Umme Ammara
Copyright ©2022 Educative, Inc. All rights reserved

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code
Keep Exploring