350 likes | 480 Views
SE 470 Software Development Processes. James Nowotarski 12 May 2003. Course Map. Overview . Introduction . History Content . Rational Unified Process . Extreme Programming Implementation . Tools, Training, Roles . CMM, Metrics . Selection & Evaluation Briefings (Term Papers).
E N D
SE 470Software Development Processes James Nowotarski 12 May 2003
Course Map Overview . Introduction . History Content . Rational Unified Process . Extreme Programming Implementation . Tools, Training, Roles . CMM, Metrics . Selection & Evaluation Briefings (Term Papers) 1 2 3 4 5 6 7 8 9 10 11 Week Memorial Day Assignments Quizzes
Today’s Objectives • Understand the basics of the Capability Maturity Model (CMM) • Discuss term papers
Today’s agenda Topic Duration • Housekeeping 15 minutes • CMM Overview 45 minutes • *** Break 10 minutes • CMM Activity 45 minutes • CMM Wrapup 45 minutes • Assignment 6 Reports 15 minutes • Term Paper Discussions 20 minutes
Today’s agenda Topic Duration • Housekeeping 15 minutes • CMM Overview 45 minutes • *** Break 10 minutes • CMM Activity 45 minutes • CMM Wrapup 45 minutes • Assignment 6 Reports 15 minutes • Term Paper Discussions 20 minutes
Today’s agenda Topic Duration • Housekeeping 15 minutes • CMM Overview 45 minutes • *** Break 10 minutes • CMM Activity 45 minutes • CMM Wrapup 45 minutes • Assignment 6 Reports 15 minutes • Term Paper Discussions 20 minutes
What is CMM Overview • CMM = Capability Maturity Model • Developed in1991 by Software Engineering Institute (SEI) to assess the software engineering capability of government contractors • A framework for software process improvement (SPI) that has gained wide acceptance in the industry • A roadmap of effective practices that build on one another in a logical progression • coherent • ordered set of incremental improvements
What is CMM Benefits • Practical • Structured • Proven • Reputation • Quantitative • productivity: 9-67% • time to market: 15-23% • post-release defects: 10-94% • business value ratio: 4.0-8.8:1
What is CMM Overview • Different capability maturity models • Software CMM • People CMM • Systems Engineering CMM • Software Acquisition CMM • Integrated Product Development CMM • Team Software Process • Personal Software Process
What is SEI Overview • SEI = Software Engineering Institute • Federally funded research & development center • Sponsored by Department of Defense • Affiliated with Carnegie Mellon University in Pittsburgh • Established in 1984 • Research and publications oriented • Mission is to improve the state of the practice of software engineering
Optimized (5) Managed (4) Defined (3) Repeatable (2) CMM Levels Initial (1)
Indicate Contain Process capability Key process areas Achieve Contain Goals Key practices Key process areas (KPAs) Maturity levels
Key Process Areas • Key Process Areas • Identify the issues that must be addressed to achieve a maturity level • Key Practice • Activities and infrastructure that contribute the most to the effective implementation of the KPA
Key Process Area Process capability Disciplined process Software project planning Key Practice Goal A plan is developed that appropriately and realistically covers the software activities and commitments Estimates for the size of software products are derived according to a documented procedure Key process areas (KPAs) Maturity level Level 2: Repeatable
Maturity Questionnaire 3 2 KPA Profile 5 4 6 CMM Appraisal Method Response Analysis Team Selection 1 Findings based on the CMM On-site visit Interviews & document reviews
Appraisal Methods • Software Process Assessments (SPA) • Performed in open, collaborative environment • Focuses on improving the organization’s software process • Now called CMM-Based Appraisal for Internal Process Improvement (CBA-IPI) • Software Capability Evaluations (SCE) • Performed in a more audit-oriented environment • Focuses on identifying risks associated with a contractor • Team’s recommendation will help select contractors or set fees
Level 1: Initial • Instability • Dependence on “heroes” • Inability to meet targets • Key process areas: • none
Level 2: Repeatable • Track project results, which form basis for future project plans • Basic processes in place for: • requirements management • supplier management • standards • Key process areas • requirements management • software project planning • software project tracking and oversight • software subcontract management • software quality assurance • software configuration management
Level 3: Defined • Software engineering and management processes are defined • Software engineering process group (SEPG) exists • Organization-wide training • Key process areas: • organizational process focus • organizational process definition • training program • integrated software management (i.e., tailoring) • software product engineering • intergroup coordination • peer reviews
Level 4: Managed • Stable and measured processes • Measurements are captured across the organization • productivity • quality • Processes are predictable • Key process areas: • quantitative process management • software quality management
Level 5: Optimizing • Continuous process improvement • Defect prevention • productivity • quality • Processes are predictable • Key process areas: • process change management • technology change management • defect prevention
As maturity increases • Less prone to miss targets • Less variation around the target goals • Better, faster, cheaper development
Today’s agenda Topic Duration • Housekeeping 15 minutes • CMM Overview 45 minutes • *** Break 10 minutes • CMM Activity 45 minutes • CMM Wrapup 45 minutes • Assignment 6 Reports 15 minutes • Term Paper Discussions 20 minutes
Class Activity • Summarize and explain to the rest of the class: • Maturity levels 2-5 • The 18 key process areas
Today’s agenda Topic Duration • Housekeeping 15 minutes • CMM Overview 45 minutes • *** Break 10 minutes • CMM Activity 45 minutes • CMM Wrapup 45 minutes • Assignment 6 Reports 15 minutes • Term Paper Discussions 20 minutes
CMM and ISO 9001 • Both share a common concern with quality and process management • Some issues in ISO 9001 are not covered in the CMM and vice-versa • While the CMM focuses on continuous improvement, ISO 9001 addresses the minimum criteria for an acceptable quality system • Roughly speaking, an organization at CMM Level 2 should satisfy ISO 9001
CMM Issues in the Real-World • “Level envy” • Areas not addressed • Business strategy and linkage to IT • Operations, help desk, support • Management of the IT human resource • Application portfolio • Tools • Many question whether it is worth the effort to pursue levels 4 and 5
19.3% Initial CMM Maturity Profile August 2002 100% 90% 80% 70% 60% 43.2% 50% % of Organizations 40% 23.4% 30% 20% 7.3% 6.8% 10% 0% Repeatable Defined Managed Optimized Based on assessments from 1998-2002 of 1124 organizations
USA and Offshore Profiles August 2002 100% 90% 80% 70% 60% 50% 47.4% % of Organizations 37.6% 40% 25.3% 30% 23.3% 22.0% 13.2% 14.0% 20% 10.0% 10% 5.3% 2.0% 0% Initial Repeatable Defined Managed Optimized Offshore USA Based on 645 U.S. organizations and 479 offshore organizations
Time to Move Up 100% 75% 50% Largest observed value that is not an outlier 28 75th percentile Recommended time between appraisals (18-30 mos) 23 22 25% 17 Median (50th percentile) 25th percentile Smallest observed value that is not an outlier 0% 1 to 2 4 to 5 2 to 3 3 to 4
References • For CMM articles and publications, see • http://www.sei.cmu.edu/cmm/cmm.articles.html
Continuous Process Improvement Approach to Quality and Measurement 1. Identify quality standards and goals Plan 2. Measure project performance 6. Eliminate causes of deficient performance - fix defects - fix root causes Act Do Check 3. Compare metrics against goals 4. Conduct quality reviews, e.g., peer reviews 5. Test for defects
Metrics First Principles • “You can’t control what you can’t measure” (Tom Demarco) • “Anything that can’t be measured doesn’t exist” -- Locke, Berkeley, Hume (Beck, p.45) • Metrics - “Lines of code is a useless measurement in the face of code that shrinks when we learn better ways of programming” (Beck, p.42)
Quiz for May 19 • CMM