se 470 software development processes

35
SE 470 Software Development Processes James Nowotarski 12 May 2003

Upload: dusty

Post on 09-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

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). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SE 470 Software Development Processes

SE 470Software Development Processes

James Nowotarski

12 May 2003

Page 2: SE 470 Software Development Processes

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

Page 3: SE 470 Software Development Processes

• Understand the basics of the Capability Maturity Model (CMM)

• Discuss term papers

Today’s Objectives

Page 4: SE 470 Software Development Processes

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

Page 5: SE 470 Software Development Processes

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

Page 6: SE 470 Software Development Processes

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

Page 7: SE 470 Software Development Processes

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

Page 8: SE 470 Software Development Processes

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

Page 9: SE 470 Software Development Processes

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

Page 10: SE 470 Software Development Processes

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

Page 11: SE 470 Software Development Processes

CMM Levels

Repeatable(2)

Repeatable(2)

Defined(3)

Defined(3)

Managed(4)

Managed(4)

Optimized(5)

Optimized(5)

Initial(1)

Page 12: SE 470 Software Development Processes

Key process areas (KPAs)

Maturity levels

Process capability

Indicate

Key process areas

Contain

Key practices

Contain

Goals

Achieve

Page 13: SE 470 Software Development Processes

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

Page 14: SE 470 Software Development Processes

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

Page 15: SE 470 Software Development Processes

CMM Appraisal Method

TeamSelection

ResponseAnalysis

On-site visit

Interviews &documentreviews

Findingsbased on the CMM

1

MaturityQuestionnaire

23

4 5

KPAProfile

6

Page 16: SE 470 Software Development Processes

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

Page 17: SE 470 Software Development Processes

Level 1: Initial

• Instability• Dependence on “heroes”• Inability to meet targets• Key process areas:

– none

Page 18: SE 470 Software Development Processes

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

Page 19: SE 470 Software Development Processes

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

Page 20: SE 470 Software Development Processes

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

Page 21: SE 470 Software Development Processes

Level 5: Optimizing

• Continuous process improvement• Defect prevention

– productivity– quality

• Processes are predictable• Key process areas:

– process change management– technology change management– defect prevention

Page 22: SE 470 Software Development Processes

As maturity increases

• Less prone to miss targets• Less variation around the target goals• Better, faster, cheaper development

Page 23: SE 470 Software Development Processes

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

Page 24: SE 470 Software Development Processes

Class Activity

• Summarize and explain to the rest of the class:– Maturity levels 2-5 – The 18 key process areas

Page 25: SE 470 Software Development Processes

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

Page 26: SE 470 Software Development Processes

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

Page 27: SE 470 Software Development Processes

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

Page 28: SE 470 Software Development Processes

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

Page 29: SE 470 Software Development Processes

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

Page 30: SE 470 Software Development Processes

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)

Page 31: SE 470 Software Development Processes

References

• For CMM articles and publications, see

http://www.sei.cmu.edu/cmm/cmm.articles.html

Page 32: SE 470 Software Development Processes

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

Page 33: SE 470 Software Development Processes

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

Page 34: SE 470 Software Development Processes

• CMM

Quiz for May 19

Page 35: SE 470 Software Development Processes

Extra Slides