Presentation on SEI-CMM

By

Puneet Potnis
Roll No.-83

Software Process Improvement Models: Capability Maturity Model

What is Capability Maturity Model (CMM)?
 Definition:

“ A framework that describes the key elements of an effective software process. It's an evolutionary improvement path from an immature process to a mature, disciplined process. “

Types of CMM
 

CMM for Software (SW-CMM) CMM for Management of Human resources (P-CMM) CMM for Systems engineering (SE-CMM) CMM for Integrated product development (IPD-CMM) CMM for Software Acquisition (SA-CMM)

 

History of CMM

Introduced by SEI fellow, Watts Humphrey from IBM in 1986. Introduced on the demand from Department of Defense. Work started at Mitre, then at Software Engineering Institute (SEI) at Carnegie Mellon Univ. Borrows heavily from general Total Quality Management (TQM) and work of Philip Crosby.

Goal of CMM
 Goal: To provide a means by which
organisations can appraise their ability to perform their software process successfully, and to provide guidance to improve their process capability Initially seen as a valuable approach, but questioned over ability to deliver business results. Now supported by body of published results.

CMM is a goal, not a method

  

Organizations often look to CMM as a method or formula for improvement as it is tempting to want easy answers. This has given CMM a bad reputation as an onerous, inflexible method The problem here (usually) is misunderstanding CMM, not its rigidity To use CMM, you have to think ,you must be flexible, be creative, and integrate the goals of CMM with the realities of your business.

Operational Definition of CMM

Except for Level 1, each maturity level is decomposed into several Key Process Areas. Key process areas identify the issues that must be addressed to achieve a maturity level. Every key process area is organized into five common features. These are the key practices, which collectively accomplish the goals of the key process area. When the goals of the key process areas are met regularly across projects, the organization has institutionalized the process capability of the key process area.

The Maturity Levels
Optimizing 5
Continuously Improving process Predictable process

Optimizing Managed

4

3

Defined
Standard, Consistent process Disciplined process Ad-hoc process

2 1

Repeatable Initial

CMM Level 1: Initial
       

Default level. Few processes are defined (ad hoc). Success depends primarily on individual effort Some time/cost estimates are accurate, many far off Frequent crises and "firefighting.” Software Process Capability: Unpredictable Most SW development organizations are Level 1. Estimated 76% of all IS development at this level in 1995.

CMM Level 2: Repeatable

   

Basic project management processes are established to track cost, schedule, and functionality. Planning/Managing new projects is based on successes with similar projects Project managers track software costs, schedules and functionality Software Process Capability: Disciplined Estimated 15% of all IS development at this level in 1995.

CMM Level 3: Defined

  

All projects make use of an organized, documented and standardized set of activities that are consistent throughout the organization. Activities include peer reviews, CASE tool usage, testing standards, and full lifecycle configuration management. Schedules, Budget, Functionality, Product Quality: Under Control and Tracked Software Process Capability: Standard and Consistent Estimated 8% of all IS development at this level in 1995.

CMM Level 4: Managed


 

Detailed time, cost, and other metrics are collected and used to quantitatively manage software development. The organization has a quality focus, with tools and training to support development. Variation in process performance is controlled to be within acceptable range Software Process Capability: Predictable Estimated <1% of all I/S development at this level in 1995.

CMM Level 5: Optimizing
 

  

Continuous process improvement is achieved through quantitative management. Processes such as software inspection, code walkthroughs, automatic metrics collection, and technology review are part of the standard development methodology. Analyze defects to determine their causes – evaluate the software process accordingly Software Process Capability: Continuous Improving Estimated <1% of all I/S development at this level in 1995.

Key process Areas. (KPA)
 Indicate

the areas an organization should focus on to improve SW process.  Identify issues to achieve a maturity level.  All the goals of a KPA must be achieved to satisfy that KPA.

KPA at level 1 & 2
 By

definition no KPA for level 1.  KPA at level 2 – related to project management controls such as:
Requirements management (RM)  Software project planning (PP)  Project tracking & oversight (PT)  Subcontract management (SM)  Quality assurance (QA)  Configuration management (CM)

KPA at level 3
 KPA
      

at level 3 basically addresses both project & organizational issues.
Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process

KPA at level 4 & 5.
 KPA

at level 4 - establish quantitative understanding of both sw process and work products being built.
Quantitative process management (QP)  Software quality management (QM)

 KPA

at level 5– cover issues on implementing continuous & measurable sw process improvements.
Defect prevention. (DP)  Technology change management (TM)  Process change management (PM)

CMM - Key Process Areas by Level (Summarization)Optimizing
5
Continuously improving process

Process change management Technology change management Defect Prevention

4 3

Predictable process

Managed
Software quality management Quantitative process management

Standard, consistent process

Defined

Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus

2

Disciplined process

Repeatable
Software configuration management Software quality assurance Software subcontract management Software project tracking oversight Software project planning Requirements management

1

Initial

Benefits of CMM
 Benefits
  

Marketing tool that demonstrates ability Historical data for estimates in proposals Added value to proposals: Leverage process implementation experience for Outsourcing engagements Increased team member confidence with client

Drawbacks of CMM
 Drawbacks
   

Model assumes unchanging project types Client still dictates project needs Added layer of bureaucracy

Client perception of processes being too rigid  Doesn’t help in a crisis  Only for repetitive tasks

Risks involved in CMM
 Risks:
 Not

a silver bullet  Not comprehensive  Not an exhaustive description of s/w process  Doesn’t guarantee the success of the s/w product  Sound judgment required

What CMM does not address?

Address expertise in a particular application domain. Advocate specific tools, methods or software technologies, or address issues related to human resources. Address issues related to concurrent engineering, team work change management, or systems engineering.

How Long Does It Take?
For organizations that began their CMM-based SPI effort in 1992 or later, the median time to move from:
   

maturity level 1 to 2 was 22 months maturity level 2 to 3 was 19 months maturity level 3 to 4 was 25 months maturity level 4 to 5 was 13 months

Why Does It Take So Long?

Training
  

Staff need to learn how to assess and change the process Management needs to learn how to support process assessment and change Technical staff need to appreciate need for process assessment and change

Assessment Process
 

Collection of data Analysis of results

Risk and Control Over The 5 Levels
5 4 3
Quantitative feedback used for improvement Process change management Technology change management Error prevention Improvement of productivity and reducing cycle time Improvement of productivity and reducing cycle time control

Quantitative assurance of efficiency, effectiveness and quality

Software quality management Quantitative process management

Most efficient methods are documented and used in every project

Peer reviews Intergroup coordination Software product development Integrated software management Training plan Organisational process definition Organisational process focus

Important improvement of product quality

2 1

Existence of efficient procedures

Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight Software project planning Requirements management

Project planning and tracking is adequate

Projects usually overrun time and cost limits

risk

CMM usage experience

Conclusions
 Level

3 good for the delivery organization  Level 5 good for marketing and sales  CMM is not tool to establish processes – it is a tool to demonstrate abilities  Important how fast CMM Level X can be achieved  CMM = Cash Money Millionaires

Thank you !

Sign up to vote on this title
UsefulNot useful