31
11/13/2002 ©USC-CSE 1 University of Southern California Center for Software Engineering C S E USC Barry Boehm, USC CMMI Technology Conference ‘02 November 13, 2002 ( boehm @; http://) sunset.usc.edu CMMI and the Balance of Discipline and Agility

CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 1

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Barry Boehm, USC

CMMI Technology Conference ‘02November 13, 2002

(boehm@; http://) sunset.usc.edu

CMMI and the Balance of Disciplineand Agility

Page 2: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 2

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Outline• Clausewitz and De Marco: Armor vs. Mobility

– Software CMM and Agile Methods

• Characteristics of Future Systems– Range of sizes and criticalities– All need to balance discipline and agility

• Using Risk to Balance Discipline and Agility– No one-size-fits-all solution

• Representative Future Example: FutureCombat Systems– Complex system of systems (CSOS)

• Conclusions

Page 3: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 3

University of Southern CaliforniaCenter for Software Engineering C S E

USC

• Clausewitz: Armor and mobilityalternate dominance

GreeksRomans

Vandals, HunsFranks

MongolsCastles

Field ArtilleryMaginot Line

Panzers

Clausewitz and De Marco: Armor and Mobility

Page 4: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 4

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Clausewitz and De Marco: Armor and Mobility

• Clausewitz: Armor and mobility alternatedominance

• De Marco: Same is true for software methods

CraftsmanshipCMM’s

Agile Methods

• Whither CMMI?

Page 5: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 5

University of Southern CaliforniaCenter for Software Engineering C S E

USC

The Agile Manifesto - I

• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan

We are uncovering better ways of developing software by doing it and helping others do it.Through this work we have come to value:

That is, while there is value in the items on the right, we value the items on the left more.

Page 6: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 6

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Various Agile Methods Available

• Adaptive Software Development (ASD)• Agile Modeling• Crystal methods• Dynamic System Development

Methodology (DSDM)* eXtreme Programming (XP)• Feature Driven Development• Lean Development• Scrum

Page 7: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 7

University of Southern CaliforniaCenter for Software Engineering C S E

USC

XP: The 12 Practices

• The Planning Game• Small Releases• Metaphor• Simple Design• Testing• Refactoring

• Pair Programming• Collective Ownership• Continuous Integration• 40-hour Week• On-site Customer• Coding Standards

-Used generatively, not imperatively

Page 8: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 8

University of Southern CaliforniaCenter for Software Engineering C S E

USC

The Planning Spectrum

Hackers XP

AdaptiveSW Devel.

MilestoneRisk- Driven

Models……

MilestonePlan-Driven

Models

Inch- PebbleIronboundContract

Software CMM

Agile Methods

CMMI

Page 9: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 9

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Agile and Plan-Driven Home Grounds

• Plan-oriented developers;mix of skills

• Mix of customer capabilitylevels

• Reliance on explicitdocumented knowledge

• Requirements knowableearly; largely stable

• Architected for current andforeseeable requirements

• Refactoring expensive• Larger teams, products• Premium on high-assurance

• Agile, knowledgeable, collocated,collaborative developers

• Above plus representative,empowered customers

• Reliance on tacit interpersonalknowledge

• Largely emergent requirements,rapid change

• Architected for currentrequirements

• Refactoring inexpensive• Smaller teams, products• Premium on rapid value

Agile Home Ground Plan-Driven Home Ground

Page 10: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 10

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Outline• Clausewitz and De Marco: Armor vs. Mobility

– Software CMM and Agile Methods

• Characteristics of Future Systems– Range of sizes and criticalities– All need to balance discipline and agility

• Using Risk to Balance Discipline and Agility– No one-size-fits-all solution

• Representative Future Example: FutureCombat Systems– Complex system of systems (CSOS)

• Conclusions

Page 11: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 11

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Information Technology Trends

Traditional Development

• Standalone systems

• Stable requirements

• Rqts. determine capabilities

• Control over evolution

• Enough time to keep stable

• Small to big systems

• Repeatability-orientedprocess, maturity models

Current/Future Trends

• Everything connected-maybe

• Rapid requirements change

• COTS capabilities determine rqts.• No control over COTS evolution

• Ever-decreasing cycle times

• Plus very big systems of systems• Adaptive process models

Page 12: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 12

University of Southern CaliforniaCenter for Software Engineering C S E

USC

The “Separation of Concerns” Legacy

“The notion of ‘user’ cannot be precisely defined,and therefore has no place in CS or SE.”

– Edsger Dijkstra, ICSE 4, 1979

“Analysis and allocation of the system requirementsis not the responsibility of the SE group but is aprerequisite for their work.”

– Mark Paulk at al., SEI Software CMM v.1.1,1993

Page 13: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 13

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Resulting Project Social Structure

SOFTWARE

MGMT.

AERO. ELEC. G & C

MFG.

COMM PAYLOAD

I wonder whenthey'll give us ourrequirements?

Page 14: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 14

University of Southern CaliforniaCenter for Software Engineering C S E

USC

The CMMI Software Paradigm• System and software engineering are

integrated– Software has a seat at the center table

• Requirements, architecture, and process aredeveloped concurrently– Along with prototypes and key capabilities

• Developments done by integrated teams– Collaborative vs. adversarial process– Based on shared vision, negotiated

stakeholder

Page 15: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 15

University of Southern CaliforniaCenter for Software Engineering C S E

USC

How Much Planning Is Enough?- A risk analysis approach

• Risk Exposure RE = Prob (Loss) * Size(Loss)

– “Loss” – financial; reputation; future prospects, …

• For multiple sources of loss:

sourcesRE = Σ [Prob (Loss) * Size (Loss)]source

Page 16: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 16

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Example RE Profile: Planning Detail- Loss due to inadequate plans

Time and Effort Invested in plans

RE =P(L) * S(L)

high P(L): inadequate planshigh S(L): major problems (oversights, delays, rework)

low P(L): thorough planslow S(L): minor problems

Page 17: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 17

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Example RE Profile: Planning Detail- Loss due to inadequate plans

- Loss due to market share erosion

Time and Effort Invested in Plans

RE =P(L) * S(L)

low P(L): few plan delayslow S(L): early value capture

high P(L): plan breakage, delayhigh S(L): value capture delays

high P(L): inadequate planshigh S(L): major problems (oversights, delays, rework))

low P(L): thorough planslow S(L): minor problems

Page 18: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 18

University of Southern CaliforniaCenter for Software Engineering C S E

USC

low P(L): thorough planslow S(L): minor problems

Example RE Profile: Time to Ship- Sum of Risk Exposures

Time and Effort Invested in Plans

RE

= P

(L)

* S

(L)

low P(L): few plan delayslow S(L): early value capture

high P(L): plan breakage, delayhigh S(L): value capture delays

Sweet Spot

high P(L): inadequate planshigh S(L): major problems (oversights, delays, rework)

Page 19: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 19

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Comparative RE Profile:Plan-Driven Home Ground

Time and Effort Invested in Plans

RE

= P

(L)

* S

(L)

Mainstream Sweet

Spot

Higher S(L): large system rework

Plan-DrivenSweet Spot

Page 20: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 20

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Comparative RE Profile:Agile Home Ground

Time and Effort Invested in Plans

RE

=P

(L) *

S(L

)

Mainstream SweetSpot

Lower S(L):easy rework

Agile SweetSpot

Page 21: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 21

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Outline• Clausewitz and De Marco: Armor vs. Mobility

– Software CMM and Agile Methods

• Characteristics of Future Systems– Range of sizes and criticalities– All need to balance discipline and agility

• Using Risk to Balance Discipline and Agility– No one-size-fits-all solution

• Representative Future Example: FutureCombat Systems– Complex system of systems (CSOS)

• Conclusions

Page 22: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 22

University of Southern CaliforniaCenter for Software Engineering C S E

USC

From This...

Small Unit UAV

Other Layered Sensors

Network Centric

Force

Distributed FireMechanisms

Robotic Direct Fire

Robotic NLOS Fire

Robotic Sensor

Manned C2/Infantry Squad

To This...

Exploit Battlefield Non-Linearities using Technology to Reduce the Size of Platforms and the Force

Network Centric Distributed Platforms

Future Combat Systems:A Network-Centric Example

Page 23: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

FY00FY00 FY01FY01 FY02FY02 FY03FY03 FY04FY04

Robotics

Maneuver C3

Maneuver BLOSNetworked Fires Weapon*

Organic All-WeatherTargeting Vehicle

FY05FY05

T &

E

Sha

keou

tPreliminaryDesign

PDR CDR

DetailedDesign

BuildDes

ign

Com

petit

ion

Concept Development /Modeling and Simulation

AUTONOMY

VISION

COMMAND & CONTROLCOMMS

SOGreview

Government-Run Experiments

SOGreview

SOGreview

3D PLATFORM

NEAR ALL WEATHER

Unmanned GroundVehicle

MOBILITYDESIGN

IOR 1 IOR 2

Bre

adb

oar

d

Bra

ssb

oar

dAll-Weather Surveillanceand Targeting Sensor PRECISION SENSING

ALL WEATHERR

edes

ign

/ T

est

LOITER ATTACK

PRECISION ATTACK

BLOS Surveillance & Targeting System

Robotic UnmannedGround Vehicle

FY06FY06

CHPS

SUO

AFSS

A160($5.0M)

Des

ign

Com

petit

ion

Total Collaborative Effortto Support FCS

Total Collaborative Effortto Support FCS

Page 24: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 24

University of Southern CaliforniaCenter for Software Engineering C S E

USC

CSOS Characteristics and Software Benefits

• Flexibility to accommodateconcurrent and incrementaldevelopment

• Need for early capabilities

• Rapidly adaptable• Rapidly upgradeable• Near-free COTS technology

upgrades

• Need to rapidly accommodatefrequent changes in missions,environment, technology, andinteroperating systems

• Ease of accommodatingmany combinations ofoptions

• Ease of tailoring varioussystem and CSOS versions

• Many component systemsand contractors with widevariety of users and usagescenarios—including legacysystems

(relative to hardware)

Page 25: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 25

University of Southern CaliforniaCenter for Software Engineering C S E

USC

CSOS Software Benefits, Risks, and Strategies• Accommodating many combinations of options

– Development speed; integration; cross-system KPP’s• Accommodating many combinations of systems and

contractors– Subcontractor specifications, incompatibilities, change

management• Rapid tailoring and upgrade of many combinations of options

– Version control and synchronous upgrade propagation• Flexibility, rapid adaptability, incremental development

– Subcontractor chain increment synchronization;requirements and architecture volatility

• Near-free COTS technology upgrades– COTS upgrade synchronization; obsolescence; subcontractor

COTS management

• Compound risks

Page 26: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 26

University of Southern CaliforniaCenter for Software Engineering C S E

USC

How Soon to Define Subcontractor Interfaces?Risk exposure RE = Prob(Loss) * Size(Loss)

-Loss due to rework delays

Time spent defining & validating architecture

RE =P(L) * S(L)

Many interface defects: high P(L)Critical IF defects: high S(L)

Few IF defects: low P(L)Minor IF defects: low S(L)

Page 27: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 27

University of Southern CaliforniaCenter for Software Engineering C S E

USC

How Soon to Define Subcontractor Interfaces?- Loss due to rework delays

- Loss due to late subcontact startups

Time spent defining & validating architecture

RE =P(L) * S(L)

Few delays: low P(L)Short Delays: low S(L)

Many delays: high P(L)Long delays: high S(L)

Many interface defects: high P(L)Critical IF defects: high S(L)

Few IF defects: low P(L)Minor IF defects: low S(L)

Page 28: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 28

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Time spent defining & validating architecture

RE =P(L) * S(L)

Many delays: high P(L)Long delays: high S(L)

SweetSpot

Many interface defects: high P(L)Critical IF defects: high S(L)

Few IF defects: low P(L)Minor IF defects: low S(L)

How Soon to Define Subcontractor Interfaces?- Sum of Risk Exposures

Few delays: low P(L)Short delays: low S(L)

Page 29: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 29

University of Southern CaliforniaCenter for Software Engineering C S E

USC

How Soon to Define Subcontractor Interfaces?-Very Many Subcontractors

RE =P(L) * S(L)

Higher P(L),S(L): many more IF’s

Mainstream Sweet

Spot

High-QSweetSpot

Time spent defining & validating architecture

Page 30: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 30

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Percent of Project ScheduleDevoted to Initial Architectureand Risk Resolution

Added Schedule Devoted toRework (COCOMO II RESLfactor)

Total % Added SchedulePercentof TimeAdded

How Much Architecting is Enough: A COCOMO II Analysis

-KSLOC: Thousands of Source Lines of Code.

Page 31: CMMI and the Balance of Discipline and Agility · • Near-free COTS technology upgrades • Need to rapidly accommodate frequent changes in missions, environment, technology, and

11/13/2002 ©USC-CSE 31

University of Southern CaliforniaCenter for Software Engineering C S E

USC

Conclusions• Future systems need to balance discipline and

agility– Need both high dependability and high adaptability

• Can interpret CMMI in two ways– Rigorous, heavyweight, one-size fits-all standard– Risk-driven combination of discipline and agility

• Need ability to accommodate agile methods– Liberal as well as literal compliance interpretations– Risk-driven content of processes and artifacts– Outreach to commercial sector