SE 470 Software Development Processes James Nowotarski 12 May 2003.
-
date post
20-Dec-2015 -
Category
Documents
-
view
221 -
download
5
Transcript of SE 470 Software Development Processes James Nowotarski 12 May 2003.
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 6 7 8 9 10 115
Assignments
Quizzes
Week
Mem
ori
al D
ay
• Understand the basics of the Capability Maturity Model (CMM)
• Discuss term papers
Today’s Objectives
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
Today’s agenda
What is CMM
• 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
Overview
What is CMM
• 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
Benefits
What is CMM
• Different capability maturity models– Software CMM– People CMM– Systems Engineering CMM– Software Acquisition CMM– Integrated Product Development CMM– Team Software Process– Personal Software Process
Overview
What is SEI
• 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
Overview
CMM Levels
Repeatable(2)
Repeatable(2)
Defined(3)
Defined(3)
Managed(4)
Managed(4)
Optimized(5)
Optimized(5)
Initial(1)
Key process areas (KPAs)
Maturity levels
Process capability
Indicate
Key process areas
Contain
Key practices
Contain
Goals
Achieve
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 areas (KPAs)
Level 2: Repeatable
Disciplined process
Process capability
Software project planning
Key Process Area
Estimates for the size of software products are
derived accordingto a documented
procedure
Key Practice
A plan is developed thatappropriately and realistically covers
the software activities and commitments
Goal
Maturity level
CMM Appraisal Method
TeamSelection
ResponseAnalysis
On-site visit
Interviews &documentreviews
Findingsbased on the CMM
1
MaturityQuestionnaire
23
4 5
KPAProfile
6
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
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
Class Activity
• Summarize and explain to the rest of the class:– Maturity levels 2-5 – The 18 key process areas
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
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
CMM Maturity Profile
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0%
Initial
19.3%
Repeatable
43.2%
Defined
23.4%
Managed
7.3%
Optimized
6.8%
% o
f O
rga
niz
ati
on
s
August 2002
Based on assessments from 1998-2002 of 1124 organizations
USA and Offshore Profiles
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0%
Initial
23.3%
Repeatable Defined Managed Optimized
% o
f O
rga
niz
ati
on
s
August 2002
Based on 645 U.S. organizations and 479 offshore organizations
14.0%
47.4%
37.6%
22.0%
25.3%
5.3%
10.0%
2.0%
13.2%
USA Offshore
Time to Move Up100%
0%
75%
50%
25%
1 to 2
23 22
2 to 3
28
3 to 4
17
4 to 5
Largest observed value thatis not an outlier
75th percentile
Median (50th percentile)25th percentileSmallest observed value thatis not an outlier
Recommended time between appraisals (18-30 mos)
References
• For CMM articles and publications, see
http://www.sei.cmu.edu/cmm/cmm.articles.html
Continuous Process Improvement
Approach to Quality and Measurement
Plan
Do
Check
Act
1. Identify quality standards and goals
2. Measure project performance
3. Compare metrics against goals 4. Conduct quality reviews, e.g., peer reviews5. Test for defects
6. Eliminate causes of deficient performance- fix defects- fix root causes
Metrics
• “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)
First Principles
• CMM
Quiz for May 19
Extra Slides