se 470 software development processes james nowotarski 19 may 2003

61
SE 470 Software Development Processes James Nowotarski 19 May 2003

Post on 22-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SE 470 Software Development Processes James Nowotarski 19 May 2003

SE 470Software Development Processes

James Nowotarski

19 May 2003

Page 2: SE 470 Software Development Processes James Nowotarski 19 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

Page 3: SE 470 Software Development Processes James Nowotarski 19 May 2003

• Recap the Capability Maturity Model (CMM)

• Understand key issues of methodology selection and evaluation

• Discuss term papers (last chance)

Today’s Objectives

Page 4: SE 470 Software Development Processes James Nowotarski 19 May 2003

Topic Duration

• CMM Recap 15 minutes

• CMM Jeopardy 45 minutes

• CMM Quiz 35 minutes

• *** Break 15 minutes

• Methodology Selection: Organization 50 minutes

• Methodology Selection: Project 20 minutes

• Project Methodology Adequacy 15 minutes

Today’s agenda

Page 5: SE 470 Software Development Processes James Nowotarski 19 May 2003

Topic Duration

• CMM Recap 15 minutes

• CMM Jeopardy 45 minutes

• CMM Quiz 35 minutes

• *** Break 15 minutes

• Methodology Selection: Organization 50 minutes

• Methodology Selection: Project 20 minutes

• Project Methodology Adequacy 15 minutes

Today’s agenda

Page 6: SE 470 Software Development Processes James Nowotarski 19 May 2003

CMM Levels

Repeatable(2)

Repeatable(2)

Defined(3)

Defined(3)

Managed(4)

Managed(4)

Optimized(5)

Optimized(5)

Initial(1)

Page 7: SE 470 Software Development Processes James Nowotarski 19 May 2003

Key process areas (KPAs)

Maturity levels

Process capability

Indicate

Key process areas

Contain

Key practices

Contain

Goals

Achieve

Page 8: SE 470 Software Development Processes James Nowotarski 19 May 2003

CMM Appraisal Method

TeamSelection

ResponseAnalysis

On-site visit

Interviews &documentreviews

Findingsbased on the CMM

1

MaturityQuestionnaire

23

4 5

KPAProfile

6

Page 9: SE 470 Software Development Processes James Nowotarski 19 May 2003

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 10: SE 470 Software Development Processes James Nowotarski 19 May 2003

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– Risk

• Many question whether it is worth the effort to pursue levels 4 and 5

Page 11: SE 470 Software Development Processes James Nowotarski 19 May 2003

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 12: SE 470 Software Development Processes James Nowotarski 19 May 2003

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 13: SE 470 Software Development Processes James Nowotarski 19 May 2003

CMM

• Marketing tool to win clients, who are based predominantly in US and Europe• Clients using Indian service providers should have certain key processes in place:

– service level agreements– identifying business requirements– scoping requirements– managing changes

Approximately 50 of the 70 or so publicly-acknowledged Level 5 CMM-certified organizations are in India

Page 14: SE 470 Software Development Processes James Nowotarski 19 May 2003

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)

Number of months to move to nextmaturity level

Page 15: SE 470 Software Development Processes James Nowotarski 19 May 2003

CMM-based Software Process Improvement (SPI)

• Time and cost often exceed expectations– 18-24 months to advance 1 level– Can cost $2K per software engineer per year– 1-2% full-time resources (e.g., 5-10 in a 500-person organization)– 2-4% of rest of organization’s time

• Difficult KPAs– Planning and tracking

• Key success factors– Senior management is engaged– Participation and buy-in at all levels, including middle management

and technical staff– Clearly stated, well understood SPI goals– Clear assignment of responsibility– SEPG staffed by highly respected people

Page 16: SE 470 Software Development Processes James Nowotarski 19 May 2003

Software Process Improvement Models

• ISO 15504• ISO 9000-3• TickIT

IT specific models

A number of models enable software development organizations to compare their practices to a set of “best practices”

• Total Quality Management (TQM)• Six Sigma

General models

Page 17: SE 470 Software Development Processes James Nowotarski 19 May 2003

Software Process Improvement Models

• International collaborative effort (including SEI)• Sparked by an investigative study sponsored by the

U.K. Ministry of Defense (MOD) • Objective: To develop a standard in the area of

software process assessment – establish a common framework for expressing the

process capability ratings resulting from a 15504-conformant assessment

– provide a migration path for existing assessment models and methods wishing to become 15504-conformant

ISO 15504

Page 18: SE 470 Software Development Processes James Nowotarski 19 May 2003

Software Process Improvement Models

• Over time, proliferation of CMMs:– Capability Maturity Model for Software (SW-CMM®)– Systems Engineering Capability Model (SECM) (may or may not include software)– Integrated Product Development Capability Maturity Model (IPD-CMM)– Software acquisition

• Many organizations wish to integrate improvement efforts across disciplines

• Differences among these multiple models made integration difficult

• SEI developed common framework to support integration of current and future discipline-specific maturity models

• The common framework is called the Integrated CMM (CMMI)– “Each CMMI model is designed to be used in concert with other CMMI models, making

it easier for organizations to pursue enterprise-wide process improvement at their own pace”

The Integrated CMM (CMMI) has emerged as the latest thinking from SEI

Page 19: SE 470 Software Development Processes James Nowotarski 19 May 2003

CMMI

• Incorporates and extends:– Capability Maturity Model for Software (SW-CMM®)– Systems Engineering Capability Model (SECM)– Integrated Product Development Capability Maturity Model (IPD-CMM)– Supplier sourcing

• CMMI-SW model released August 2002• SW-CMM® to be sunsetted by end of 2003 (stay tuned)• What’s different about CMMI-SW:

– Stronger linkage to business objectives and customer needs– Greater alignment with relevant ISO standards– Standard CMMI Appraisal Method for Process Improvement (SCAMPISM) V1.1 as a replacement for CMM-

Based Appraisal for Internal Process Improvement (CBA IPI) and Software Capability Evaluation (SCESM)

• Objective: To develop a standard in the area of software process assessment – establish a common framework for expressing the process capability ratings resulting from a

15504-conformant assessment – provide a migration path for existing assessment models and methods wishing to become

15504-conformant

CMMI integrates process improvement models for product and service development and maintenance

Page 20: SE 470 Software Development Processes James Nowotarski 19 May 2003

CMMI

• What’s different about CMMI-SW:– Stronger linkage to business objectives and customer needs– Greater alignment with relevant ISO standards– Standard CMMI Appraisal Method for Process Improvement

(SCAMPISM) V1.1 as a replacement for CMM-Based Appraisal for Internal Process Improvement (CBA IPI) and Software Capability Evaluation (SCESM)

– New process areas– New names for maturity levels

• Still outside scope of CMMI:– People CMM (P-CMM)– Software Acquisition CMM (SA-CMM)

Page 21: SE 470 Software Development Processes James Nowotarski 19 May 2003

CMMI

• New names for maturity levels:

Level Old New

1 Initial Initial

2 Repeatable Managed

3 Defined Defined

4 Managed Quantitatively Managed

5 Optimizing Optimizing

Page 22: SE 470 Software Development Processes James Nowotarski 19 May 2003

CMMI

• http://www.sei.cmu.edu/publications/documents/02.reports/02tr029.html (600+ page pdf)

For more information

Page 23: SE 470 Software Development Processes James Nowotarski 19 May 2003

Topic Duration

• CMM Recap 15 minutes

• CMM Jeopardy 45 minutes

• CMM Quiz 35 minutes

• *** Break 15 minutes

• Methodology Selection: Organization 50 minutes

• Methodology Selection: Project 20 minutes

• Project Methodology Adequacy 15 minutes

Today’s agenda

Page 24: SE 470 Software Development Processes James Nowotarski 19 May 2003

Topic Duration

• CMM Recap 15 minutes

• CMM Jeopardy 45 minutes

• CMM Quiz 35 minutes

• *** Break 15 minutes

• Methodology Selection: Organization 50 minutes

• Methodology Selection: Project 20 minutes

• Project Methodology Adequacy 15 minutes

Today’s agenda

Page 25: SE 470 Software Development Processes James Nowotarski 19 May 2003

Topic Duration

• CMM Recap 15 minutes

• CMM Jeopardy 45 minutes

• CMM Quiz 35 minutes

• *** Break 15 minutes

• Methodology Selection: Organization 50 minutes

• Methodology Selection: Project 20 minutes

• Project Methodology Adequacy 15 minutes

Today’s agenda

Page 26: SE 470 Software Development Processes James Nowotarski 19 May 2003

Methodology Selection Process

Methodology Selection Process

1. Pre-RFP

2. RFP

3. Proposal Submissions

4. Proposal Evaluations

5. Vendor Selection

6. ProcurementMethod

7. ROI Analysis

8. NegotiateContract

Objective: Identify best solution to meet stated business need while minimizing cost and risk

Page 27: SE 470 Software Development Processes James Nowotarski 19 May 2003

1. Pre-RFP

• Also known as Requirements Definition

• Preliminary analysis for management (not given to vendor)

• Serves as basis for Request for Proposal (RFP) and evaluation criteria

• May be a simple presentation (small firm) or a formal report

• Most important step in the system procurement process

Page 28: SE 470 Software Development Processes James Nowotarski 19 May 2003

1. Pre-RFP

• Factors to consider

– Organization and project sizes

– Locations/Degree of distribution

– Diversity of application developers

– IT culture

– Cost/Budget

• Request for Information (RFI)

– Vendors are called/consultants consulted/research conducted

– Breadth of alternatives is identified

– Vendors identified to participate in future stages

Page 29: SE 470 Software Development Processes James Nowotarski 19 May 2003

1. Pre-RFP

Sections of the Pre-RFP Report

• Problem statement

– Current state

– Gaps

– Risks

• Alternative solutions

• Ratings (of each alternative)

• Range of costs and benefits

• Recommended alternative and rationale

Page 30: SE 470 Software Development Processes James Nowotarski 19 May 2003

1. Pre-RFP

Categories of Methodology Providers

• Developed and delivered by consultants

• Software tool vendors

• Industry consortia or other groups

Page 31: SE 470 Software Development Processes James Nowotarski 19 May 2003

2. RFP

• Blueprint

• Confirms in detail the exact requirements stated in both business and technical terms

• Limited distribution (e.g., 3-5 vendors)

– Protect confidentiality

– Keep selection process manageable

Page 32: SE 470 Software Development Processes James Nowotarski 19 May 2003

2. RFP

• Business need/Requirements

• Statement of Work to be done

– Methodology characteristics

– Implementation plan

– Training strategy

– Maintenance and support

– Cost/Budget

• Procedural details

– Form and structure of proposal

– Schedule (meetings, demos, selection)

– Key contacts

• Selection criteria

Sample Contents of an RFP

Page 33: SE 470 Software Development Processes James Nowotarski 19 May 2003

2. RFP

• Multiple solutions available that will fit the need

• Multiple vendors can provide the same solution

• Corporate policy requires it

When should an RFP be used?

Page 34: SE 470 Software Development Processes James Nowotarski 19 May 2003

2. RFP

• RFP team develops better understanding of their needs from both a technical and business perspective

• Compels vendors to create competitive solutions

• Does not favor one vendor over another (in theory)

• “Everybody singing from same hymn book”

– Vendors working from same set of rules and requirements

• Facilitates evaluation of competitive solutions

– Provides a foundation on which to base a more rigorous evaluation of a vendor

Advantages of Using an RFP

Page 35: SE 470 Software Development Processes James Nowotarski 19 May 2003

3. Proposal Submissions

• Forums to answer vendor questions (written, oral)

– Vendor conferences before proposal submission

• Response content and format

• Sometimes requires "proof" statements, such as "This feature was implemented 12 months ago and is currently installed at 10 sites. Names and addresses are provided in the reference section."

Page 36: SE 470 Software Development Processes James Nowotarski 19 May 2003

4. Proposal Evaluations

• Business and Technical Solutions

– Rating scale: (0=unresponsive, . . ., 5=exceptional)

• Vendor qualifications (site visits, reference checks)

• Preliminary cost, value, and risk analysis

• Cost proposal may be a separate document from technical proposal

• Vendor demo

• Personnel assignment

• May be a two-stage process, with only a “short list” of 2-3 vendors doing demos and making “best and final” offers

• Question: Who are the key stakeholders in this process?

Page 37: SE 470 Software Development Processes James Nowotarski 19 May 2003

4. Proposal Evaluations

• Ability and track record of vendor to meet commitments?

• Satisfaction levels of vendor’s current customers, particularly long-term customers?

• Vendor’s track record for providing support?

• Any litigation pending against vendor?

• Is the vendor financially stable?

In selecting a vendor, there are major management and technical considerations

Management considerations

Page 38: SE 470 Software Development Processes James Nowotarski 19 May 2003

4. Proposal Evaluations

• Ability and track record of vendor to meet technical challenges of project?

• Level of vendor’s expertise in your industry (e.g., Financial Services)? With your type of IT organization?

• Quality of vendor’s past work? Are metrics available?

In selecting a vendor, there are major management and technical considerations (cont.)

Technical considerations

Page 39: SE 470 Software Development Processes James Nowotarski 19 May 2003

• Content– building blocks (processes, deliverables, etc.)– pre-defined routes

• Delivery vehicle (e.g., browser)• Tools for authoring and publishing content• Tools for applying the methodology to a specific project

– project planning and estimating tools– process management tools– project management tools

• Deliverable templates tightly coupled with a development and/or execution platform• Training and support• Maintenance

What does a methodology product consist of?

Page 40: SE 470 Software Development Processes James Nowotarski 19 May 2003

• Content• Methodology tools• Fit with development tools• Deployment and Support• Vendor • Cost

Small groups

Identify criteria to be considered in each of the following categories when considering methodology products for your organization

Page 41: SE 470 Software Development Processes James Nowotarski 19 May 2003

Small groups

Examples:

Content

- Which life cycle models are supported?- Does the methodology support component-based

development?

Page 42: SE 470 Software Development Processes James Nowotarski 19 May 2003

5. Vendor Selection

• Vendor site visits

• Weighted score method

• Final cost, value, and risk analysis

– Costs

-- one-time vs. recurring

-- fixed vs. variable

– Benefits

-- tangible vs. intangible

Page 43: SE 470 Software Development Processes James Nowotarski 19 May 2003

6. Procurement Methods

• Purchase

– not that popular because of fear of obsolescence

– longest-term commitment of these 3 methods

• Subscription

– usually 12-36 months in duration

– often done with an option to buy

Page 44: SE 470 Software Development Processes James Nowotarski 19 May 2003

7. ROI Analysis

• Metrics to justify investment in methodology remains a weak link

• Vendors supply very little help for customers developing ROI models for methodology

• Managers must commit to developing custom cost, benefit, and risk models to justify their methodology investments

investment Totalinvestment on Earnings

ROI

Page 45: SE 470 Software Development Processes James Nowotarski 19 May 2003

8. Contract Negotiation

• Do’s

– Include vendor responses to RFP in the contract

– Consider intellectual property issues

– Leverage outside expertise in negotiations

– Provide incentives/penalties

• Don’ts

– Buy vaporware instead of proven solutions

– Purchase low bid unless the value is there

– Settle on final offer prematurely

Page 46: SE 470 Software Development Processes James Nowotarski 19 May 2003

Topic Duration

• CMM Recap 15 minutes

• CMM Jeopardy 45 minutes

• CMM Quiz 35 minutes

• *** Break 15 minutes

• Methodology Selection: Organization 50 minutes

• Methodology Selection: Project 20 minutes

• Project Methodology Adequacy 15 minutes

Today’s agenda

Page 47: SE 470 Software Development Processes James Nowotarski 19 May 2003

Context

Content

Course ofAction

Methodology Selection: Project

• The Course of Action (the selection of the system development process) is driven by:– Content factors: the result to be achieved– Context factors: internal and external influences

Page 48: SE 470 Software Development Processes James Nowotarski 19 May 2003

Decision Tree

Buyvs.

Build

Packaged

Agile

Trad.

Assetvs.

Non-Asset Technology

Generation

Asset-Based

Legacy

See Table 1 Context 1

See Table 2 Context 2

See Table 3 Context 3

See Table 4 Context 4

Buy

Build

Agilevs.

Traditional

Asset

Non-Asset Netcentric

Legacy

Page 49: SE 470 Software Development Processes James Nowotarski 19 May 2003

Table 1 - Buy versus Build

• Content FactorsBuy Build Comments:

Shorter initial time to market X

Higher responsiveness to market changes X

Lower project risk X

Lower budget for development (X) In case of some enterprise wide packaged software

this is not/ should not be a driving factor

Greater variety of users (discretionary,

consumers, suppliers, etc.)

(X) Although some packages can also support

Greater need for competitive advantage X

Greater need for multi-media content Not a distinguishing factor in this decision

Greater acceptability of constraints on

organization and processes

X

Page 50: SE 470 Software Development Processes James Nowotarski 19 May 2003

Context 1 - Buy versus Build

• Context Factors– Is a suitable package available?

– Availability of tools (development tools, plug-ins, etc.)

– Previous success with system development process

– Management understanding of and commitment to one of the approaches

Page 51: SE 470 Software Development Processes James Nowotarski 19 May 2003

Table 2 - Asset versus Non-Asset

• Content Factors

Asset

Non-

Asset Comments:

Shorter initial time to market X

Higher responsiveness to market changes X

Lower project risk X

Lower budget for development (X) Sometimes the asset is considered an evolving

asset, and requires an eventual total development

cost equal to custom developed systems.

Greater variety of users (discretionary,

consumers, suppliers, etc.)

Not a distinguishing factor in this decision

Greater need for competitive advantage (X) Assets can sometimes be modified over time to

provide as much of a competitive advantage as a

custom developed system

Greater need for multi-media content Not a distinguishing factor in this decision

Greater acceptability of constraints on

organization and processes

X

Page 52: SE 470 Software Development Processes James Nowotarski 19 May 2003

Context 2 - Asset versus Non-Asset

• Context Factors– Is suitable asset available?

– Availability of tools (development tools, plug-ins, etc.)

– Availability of asset-experienced resources

– Previous success with system development process

– Management understanding of and commitment to one of the approaches

Page 53: SE 470 Software Development Processes James Nowotarski 19 May 2003

Table 3 - Technology Generation

• Content Factors

NC

C/ S or

Host Comments:

Shorter initial time to market Not a distinguishing factor in this decision

Higher responsiveness to market changes Not a distinguishing factor in this decision

Lower project risk X

Lower budget for development Not a distinguishing factor in this decision

Greater variety of users (discretionary,

consumers, suppliers, etc.)

X

Greater need for competitive advantage Not a distinguishing factor in this decision

Greater need for multi-media content X

Greater acceptability of constraints on

organization and processes

Not a distinguishing factor in this decision

Page 54: SE 470 Software Development Processes James Nowotarski 19 May 2003

Context 3 - Technology Generation

• Context Factors– Availability of tools (development tools, plug-

ins, etc.)

– Previous success with system development process

– Need for the client to be considered leading edge

– Management understanding of and commitment to one of the approaches

Page 55: SE 470 Software Development Processes James Nowotarski 19 May 2003

Table 4 - Agile vs. Traditional

• Content Factors

Agile Trad. Comments:

Shorter initial time to market Not a distinguishing factor in this decision

Higher responsiveness to market changes X

Lower project risk X

Lower budget for development X

Greater variety of users (discretionary,

consumers, suppliers, etc.)

Not a distinguishing factor in this decision

Greater need for competitive advantage Not a distinguishing factor in this decision

Greater need for multi-media content Not a distinguishing factor in this decision

Greater acceptability of constraints on

organization and processes

Not a distinguishing factor in this decision

Page 56: SE 470 Software Development Processes James Nowotarski 19 May 2003

Context 4 - Agile vs. Traditional

• Context Factors

– Availability of tools (development tools, plug-ins, etc.)

– Previous success with system development process

– Experience with object technology

– Need for the client to be considered leading edge

– Result will be used as an asset

– Management understanding of and commitment to one of the approaches

Page 57: SE 470 Software Development Processes James Nowotarski 19 May 2003

Words of Caution

• A system development process is not all-exclusive. In all probability the project will use concepts, tasks, deliverables from more than one system development process

• One project, however, will follow primarily one system development process

• For specific projects some factors may not apply, or additional factors can have an influence on the decisions.

Page 58: SE 470 Software Development Processes James Nowotarski 19 May 2003

Topic Duration

• CMM Recap 15 minutes

• CMM Jeopardy 45 minutes

• CMM Quiz 35 minutes

• *** Break 15 minutes

• Methodology Selection: Organization 50 minutes

• Methodology Selection: Project 20 minutes

• Project Methodology Adequacy 15 minutes

Today’s agenda

Page 59: SE 470 Software Development Processes James Nowotarski 19 May 2003

Project Methodology Adequacy

Content

• Was there an adequate set of systems development methodology and standards to guide project activities?

– What existed?

– Was it adequate?

Key Questions

Deployment

• Was the set of systems development methodology and standards rolled out to developers so that they had awareness and understanding of how to use them?

Usage

•Did project personnel adhere to the standards and methodology?

Page 60: SE 470 Software Development Processes James Nowotarski 19 May 2003

• First half of term papers to be presented

Next Class: June 2

Page 61: SE 470 Software Development Processes James Nowotarski 19 May 2003

Extra Slides