The Capability Maturity Model for Software. Software Engineering Institute US DoD funded institute associated with Carnegie Mellon Mission is to promote.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Chapter 25 Process Improvement.
Advertisements

Group 7 - Chapter 3 Steven Shroyer - Introduction, ad hoc, level 2 Xiao Jingshan - Levels 3 and 4 Dusting Marker - Level 5 and example companies Definintions.
Process 18:11 19/04/2015 Geir Skylstad SINTEF DELAB 1 ITUF 61.UP.93 miniseminar Programvareutviklingsprosessen, 16 sep 1993, Holmenkollen Restaurant Utviklingsparadigmer.
DataSource & SEI’s Capability Maturity Model (CMM ® )
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
More CMM Part Two : Details.
1 Brief Descriptions of CMM KPAs CEN 6070 Summer 2004.
1 State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
Chapter 2 The Software Process
CMMI Overview Dr. Korson Software Engineering. 2 Immature organizations can be successful on occasion, but ultimately run into difficulties because –Success.
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
Software Development Process Models. The Waterfall Development Model.
SE 470 Software Development Processes James Nowotarski 12 May 2003.
Capability Maturity Model (CMM) in SW design
R&D SDM 1 Software Process Improvement Capability Maturity Models
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
CMM Overview - 1 © Paul Sorenson CMPUT Software Engineering refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, (Capability.
Chapter 3 The Structure of the CMM
Capability Maturity Method (CMM)
CMMI Overview Quality Frameworks.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Organizational Project Management Maturity: Roadmap to Success
Standardization. Introduction A standard is a document. It is a set of rules that control how people should develop and manage materials, products, services,
Capability Maturity Model
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement 2.
CMMI Course Summary CMMI course Module 9..
Integrated Capability Maturity Model (CMMI)
Capability Maturity Model. Reflection Have you ever been a part of, or observed, a “difficult” software development effort? How did the difficulty surface?
Org Name Org Site CMM Assessment Kick-off Meeting Dates of assessment.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
N By: Md Rezaul Huda Reza n
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1 Process Improvement u Understanding, Modelling and Improving the Software Process.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Engineering Lecture # 17
Capability Maturity Model. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First version published in.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Process Improvement l Understanding, Modelling and Improving the Software Process.
By Ritesh Reddy Nagaram.  Organizations which are developing software processes are facing many problems regarding the need for change of already existing.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Quality Concepts within CMM and PMI G.C.Reddy
Lecture Topics covered CMMI- - Continuous model -Staged model PROCESS PATTERNS- -Generic Process pattern elements.
Georgia Institute of Technology CS 4320 Fall 2003.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
Software Engineering - I
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
1 The Capability Maturity Model for Software: An Overview.
Capability Maturity Model by Hardeep Atwal (hsa06u)
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Page 1 The Capability Maturity Model (CMM) distinguishes between immature and mature software organizations. Immature software organizations are typically.
COMP 6710 Course NotesSlide 3-0 Auburn University Computer Science and Software Engineering Course Notes Set 3: Software Process Maturity Computer Science.
SOFTWARE PROCESS IMPROVEMENT
COMPGZ07 Project Management CMMI Project Planning Lecture 5b Graham Collins, UCL.
The Capability Maturity Model for Software: An Overview
Capability Maturity Model. CS460 - Senior Design Project I (AY2004)2 Immature Organisations Software processes are often rigorously followed. Organisation.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
By Manish Shrotriya CSE MS Software Engineering vs Software Project Engineering Goals: Develop quality software What is quality of a software.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
Chapter 25 Process Improvement.
State of Michigan Achieving Software Process Improvement with
Information Technology Project Management – Fifth Edition
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Engineering Lecture 16.
Capability Maturity Model
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

The Capability Maturity Model for Software

Software Engineering Institute US DoD funded institute associated with Carnegie Mellon Mission is to promote software technology transfer particularly to defense contractors Work has been very influential in process improvement An important role of the SEI is to use the CMM to assess contractors bidding for US govt defense contracts  Maturity model proposed in mid-1980s, refined in early 1990s.  The model is intended to represent organisational capability not the practices used in particular projects  Within the same organisation, there are often wide variations in processes used  Capability assessment is questionnaire-based with on-site visits

Capability Maturity Model (CMM) Developed by DoD-sponsored Software Engineering Institute (SEI); includes real-world best-practices from hundreds of companies Focus - practices under control of the software group Minimum set of recommended practices that enhance software development and maintenance capability  Defines the expectation (the “what”)  Implements without constraint (the “how”) Used by governments and industries to measure ‘maturity’ of software development organizations …which bridges us into the 5 CMM Maturity Levels…

Level 1 Initial Level 1 Initial Level 2 Repeatable Level 2 Repeatable Level 3 Defined Level 3 Defined Level 4 Managed Level 4 Managed Level 5 Optimizing Level 5 Optimizing CMM Five Maturity Levels Continuous process capability improvement Product quality planning, tracking of measured software process Software process defined and institutionalized to provide product quality control Management oversight and tracking of project; stable planning and product baselines Ad hoc; success depends on heroes

Result Key Process Areas LevelCharacteristic Optimizing Continuous process Process change management (5) capability improvement Technology change mgmt Defect prevention Managed (4) Defined Software process defined (3) and institutionalized to provide product quality control Repeatable (2) Initial (1) Product quality planning; Software quality management tracking of measured Quantitative process management software process Management oversight and tracking of project; stable planning and product baselines Key Process Areas Ad hoc (success depends on heroes) "People" Productivity & Quality Risk Productivity & Quality Software configuration management Software quality assurance Software subcontract management Software project tracking & oversight Software project planning Requirements management Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus SEI Capability Maturity Model

1 Time/$/... Target N Probability 2 Time/$/... Target N+a Time/$/... 3 Target N - x Time/$/... 4 Target N - y Time/$/... 5 Schedule and cost targets are typically overrun at Level 1 Plans based on past performance are more realistic at Level 2 but estimates are perceived to be "worse” With well-defined process performance improves at Level 3 Based on quantitative understanding of process and product, performance continues to improve at Level 4 Performance continuously improves at Level 5 Target N - z Actual Why Increase Your Process Maturity?

Level 2 Key Process Areas & Purposes Project-centered focus KPAPURPOSE Requirements Management Establish a common understanding of requirements among the customer and all development groups Software Project PlanningEstablish complete & reasonable project plans Software Subcontractor Management Support selection of qualified subcontractors and effective management of their activities Software Quality Assurance Provide mgmt with visibility into process & products Software ConfigurationEstablish & maintain the integrity management of the software products throughout the life cycle

Level 3 Key Process Areas & Purposes KPAPURPOSE Organization Process FocusTo establish organizational responsibility for software process improvement activities Organization Process DefinitionTo develop and maintain software process assets for the organization Training ProgramTo develop the skills and knowledge of individuals so they can perform their roles effectively and efficiently Integrated Software Management To integrate the software engineering and management activities into a coherent, defined software process for better project management Organization-centered focus

KPAPURPOSE Software Product EngineeringTo integrate all the appropriate software engineering activities to produce correct, consistent software products Intergroup CoordinationTo promote teamwork among all engineering groups on a project, and to better satisfy the customer’s needs Peer ReviewsTo remove defects from the software work product early and efficiently, and reinforce engineering practices and standards Organization-centered focus Level 3 Key Process Areas & Purposes (…continued)

Level 4 Key Process Areas & Purposes KPAPURPOSE Software Quality Management Develop a quantitative understanding of the quality of software products and achieve specific quality goals Quantitative Process Management Control process performance of the software project quantitatively. Focus on identifying special causes of variation within a stable process and correcting the problems that caused the variation to appear. Process-centered focus

Level 5 Key Process Areas & Purposes KPAPURPOSE Process Change Management Continually improve software processes Technology Change Management Identify new and useful technologies and incorporate them into the software process in an orderly manner Defect PreventionIdentify causes of recurring defects, particularly those related to process; prevents such defects from recurring Continuous Software Process Improvement

CMM Pros and Cons Advantages:  The CMM has become a U.S. DoD standard  The CMM widely used internationally  The CMM is well publicized, understood, and supported Lots of training, workshops, and symposia  Process Improvement is Measurable  Many anecdotal reports of benefits

CMM Pros and Cons Disadvantages:  Pressure to “study for the test”  Relatively easy to achieve a given level in name only  Not “modernized” for non-DoD, small software houses  Focuses on project management rather than product development  Ignores the use of technologies like rapid prototyping, risk analysis  Steep learning curve due to immense ambiguity  Overly bureaucratic for a supplier selection model  Encourages/ promotes low maturity (SEI Level 2/ 3)

Organization Payoff SummaryReferences Boeing Info. Systems Project estimates within 20% using historical data, CPK 38% better, defect containment effectiveness at 80%, cycle time improved 36%, staff support needs down 62%, staff size reduced 31%, customer satisfaction score up10%, $5.5M saved in 1996 alone (1992 – 1996 results) Vu, J. (1997)Boeing STSCustomer satisfaction rated excellent, pre-release defect containment effectiveness at 99%, 31% reduction in rework-inspections benefit, employee satisfaction level from mean of 5.7 to 8.3, operational systems performance close to bull's-eye, level 5 process injected into new programs Yamamura, G. & Wigle, G. (1997) BellcoreDefects 10X lower than industry average, customer satisfaction rates improved from 60 to 91% over 4 years, achieved 9 hr. cutover to add 888 to 800 system with no reported defects. Bellcore Press Release, Feb. 5, 1997 HP SESD3X3 SPI program, 1 year benefits include: cycle time reduced by 33%, major open defects reduced from 4.6 to 1.6, fewer missed deadlines, ROI 9:1 Lowe & Cox (1996)Harris ISD DPL 2.5X productivity gain over norm, 90% defect rate reduction, cycle time down to 6-9 monthsRobeson, D., Davidson, S. & Bearden, L. (1997) Motorola3X productivity improvement, 3X cycle time reduction, 7X quality improvement, results from ‘92- ’96 representing 85% of all products & released software, 75% of product development orgs. Are >= level 3 Major, J. (1996)Motorola GEDOn 34 current programs compared to baseline – each CMM level increases quality by 2X, significant decreases in cycle time as higher levels reached (2-7X), productivity increases of 2-3X at highest levels of maturity, 6.77X SPI ROI Diaz, M. & Sligo, J. (1997) SAIC Health Tech. 50% improvement in customer satisfaction, 71% reduction in error rate, 12% annual improvement in developer productivity, production rate up 30% Lane, J. & Zubrow, D. (1997) Resource: Noumena Consulting Group Summary of US Org SPI Payoffs

CMM Costs Example Costs:  Up to 5 to 7 years for solid implementation  US $250,000 to $10,000,000 for initial implementation  US $200,000 per formal external audit  Results in up to 4,000 pages of software processes  Results in over 20,000 pages of formal audit results SEI Response: “Branding” of the CMM: Capability Maturity Model Integration (CMMISM) SW-CMM® Capability Maturity Model for Software P-CMM People Capability Maturity Model SA-CMM Software Acquisition Capability Maturity Model SE-CMM Systems Engineering Capability Maturity Model IPD-CMM Integrated Product Development CMM  Tailored CMM to small organizations  Defined “Team” & “Personal” software processes

CMM: What’s Next? CMM is “sunsetted” (retired)  Training not offered after 2003  Appraisals continuing to 2006 Organizations asked to migrate to CMMI  The “Capability Maturity Model for Integration” Adds KPAs for Measurement (L2), Acquisition (L3) Adds additional capabilities outside the scope of CMM –e.g. outsourcing, acquisition, and risk management Will this fly?  Organizations invested a lot to get CMM levels  Lightweight processes are becoming more popular  CMM will always remain as a historical marker The 1st systemic approach to software process maturity Other standards (ISO-9000) not software specific