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
4
3
Continuously Improving process
Managed
Predictable process
Defined Standard, Consistent process
2
Disciplined process
1
Ad-hoc process
Optimizing
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
4
Predictable process
3
Standard, consistent process
2
Disciplined process
1
Initial
Process change management Technology change management Defect Prevention
Managed Software quality management Quantitative process management
Defined
Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus
Repeatable Software configuration management Software quality assurance Software subcontract management Software project tracking oversight Software project planning Requirements management
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
Quantitative feedback used for improvement
Process change management Technology change management Error prevention
Improvement of productivity and reducing cycle time
4
Quantitative assurance of efficiency, effectiveness and quality
Software quality management Quantitative process management
Improvement of productivity and reducing cycle time
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
Existence of efficient procedures
Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight Software project planning Requirements management
3
2 1
control
Important improvement of product quality
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 !