90
Barry Boehm University of Southern California Richard Turner OUSD(AT&L)/DS/SE (George Washington University) Balancing Agility and Discipline: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan- Evaluating and Integrating Agile and Plan- Driven Methods Driven Methods Based on Balancing Agility and Discipline: A Guide for the Perplexed , B. Boehm and R. Turner, Addison Wesley, 2004

Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

Embed Size (px)

DESCRIPTION

Barry Boehm University of Southern California Richard Turner OUSD(AT&L)/DS/SE (George Washington University). Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods. - PowerPoint PPT Presentation

Citation preview

Page 1: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

Barry BoehmUniversity of Southern California

Richard TurnerOUSD(AT&L)/DS/SE

(George Washington University)

Balancing Agility and Discipline:Balancing Agility and Discipline: Evaluating and Integrating Agile and Evaluating and Integrating Agile and

Plan-Driven MethodsPlan-Driven Methods

Based on Balancing Agility and Discipline: A Guide for the Perplexed,

B. Boehm and R. Turner, Addison Wesley, 2004

Page 2: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 2

Outline

• Tutorial learning objectives– Survey of assumptions about participants

• General software trends and implications– Sources of perplexity about agile, plan-driven

methods• Overview of agile and plan-driven methods

– XP, TSP “days in the life”– Comparisons of differences, strengths,

weaknesses• Risk-based balance of agility and discipline

– Small, medium, large examples • Observations and Way Forward

– Hands-on exercise• Conclusions; review of learning objectives

Page 3: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 3

Tutorial Learning Objectives

• Practitioners and managers– Understand agile, plan-driven method strengths,

difficulties– Learn risk-based approach to tailor hybrid

methods– Practice in formulating organizational strategy

• Researchers – Understand research issues, opportunities

• Techniques for achieving rapid quality• Empirical analyses

• Educators– Understand differences in agile, plan-driven

approaches– Understand teaching challenges, opportunities

• Survey courses, project courses

Page 4: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 4

Assumptions About Participants - Surveyed at Tutorial

• Generally familiar with plan-driven methods– Waterfall, incremental, spiral, RUP, PSP/TSP– Software CMM, CMMI, SPICE, ISO I2207

• Less familiar with agile methods– XP, Scrum, Crystal, DSDM, FDD

• Representative of mixed domains– Large/small projects, research, education– Variety of software applications domains

• Increasing need for high software dependability

• Increasing software complexity, speed of change

Page 5: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 5

Information Technology Trends

Traditional Development

• Standalone systems

• Stable requirements

• Rqts. determine

capabilities

• Control over evolution

• Enough time to keep stable

• Stable jobs

• Failures noncritical

• Reductionist systems

• Repeatability-oriented process, maturity models

Current/Future Trends

• Everything connected (maybe)

• Rapid requirements change

• COTS capabilities determine

rqts.• No control over COTS evolution

• Ever-decreasing cycle times

• Outsourced jobs

• Failures critical

• Complex, adaptive, emergent

systems of systems• Adaptive process models

Page 6: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 6

Background

• Two approaches to software development – Disciplined (SW-CMM, document-based,

heavy process)– Agile (XP, tacit knowledge, light process)

• Both have strengths and weaknesses• Agile and disciplined proponents are

believers• Many of us are perplexed

Page 7: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 7

Key Definitions

• Agile method – – one which fully adopts the four value propositions

and twelve principles in the Agile Manifesto.• Discipline – (per Webster)

– control gained by enforcing obedience or order; – orderly or prescribed conduct or pattern of

behavior; – self-control.

• Plan-driven – – a description for disciplined methods (order is

often defined in plans) • Plan – (per Webster)

– a method for achieving an end (a process plan); – an orderly arrangement of parts of an overall

design (a product plan). – We assume that such plans are documented.

Page 8: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 8

The Agile Manifesto

• Individuals and interactionsIndividuals and interactions over processes and tools• Working softwareWorking software over comprehensive

documentation• Customer collaborationCustomer collaboration over contract negotiation• Responding to changeResponding 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 9: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 9

Plan-Driven Methods Are Evolving Too

• Evolutionary acquisition and spiral development– U.S. DoD Directive 5000.1, Instruction 5000.2

• Risk-driven level of detail– Of processes: peer reviews vs. Critical Design

Reviews– Of products: GUI prototypes vs. specifications– Of heavyweight methods: Team Software

Process, Rational Unified Process

Page 10: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 10

Sources of Perplexity

• Distinguishing method use from method misuse• Citing method misuse vs. intended use

– Claiming XP use when simply “not documenting”– “CMM Level 4 Memorial Library” of 99 2-inch binders

• Overgeneralization based on the most visible instances– XP is Agile; CMM is Plan-Driven

• Multiple definitions– Quality: customer satisfaction or compliance?

• Claims of universality– The pace of IT change is accelerating and Agile

methods adapt to change better than disciplined methods therefore Agile methods will take over the IT world.

– Software development is uncertain and the SW-CMM improves predictability therefore all software developers should use the SW-CMM

Page 11: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 11

Sources of Perplexity (2)

• Early success stories– Chrysler project that successfully birthed XP was

later cancelled– Cleanroom has never made it into the mainstream

• Purist interpretations (and internal disagreements)– “Don't start by incrementally adopting parts of

XP. Its pieces fit together like a fine Swiss watch“– "An advantage of agile methods is that you can

apply them selectively and generatively."– "If you aren't 100% compliant with SW CMM Level

3, don't bother to bid" – "With the CMMI continuous interpretation, you

can improve your processes in any order you feel is best."

Page 12: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 12

Outline

• Tutorial learning objectives– Survey of assumptions about participants

• General software trends and implications– Sources of perplexity about agile, plan-driven

methods• Overview of agile and plan-driven methods

– XP, TSP “days in the life”– Comparisons of differences, strengths,

weaknesses• Risk-based balance of agility and discipline

– Small, medium, large examples • Observations and Way Forward

– Hands-on exercise• Conclusions; review of learning objectives

Page 13: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 13

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 14: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 14

XP Principles – I

• Philosophy: Take known good practices and push them to extremes

• “If code reviews are good, we’ll review code all the time”

• “If testing is good, we’ll test all the time”

• “If design is good, we’ll make it part of everybody’s daily business”

Page 15: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 15

XP Principles – II

• “ If simplicity is good, we’ll always leave the system with the simplest design that supports its current functionality”

• “If architecture is important, everybody will work defining and refining the architecture all the time”

• “If integration testing is important, then we’ll integrate and test several times a day”

Page 16: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 16

XP Principles – III

• “ If short iterations are good, we’ll make the iterations really, really short – seconds and minutes and hours, not weeks and months and years”

• “If customer involvement is good, we’ll make them full-time participants”

Page 17: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 17

XP: The 12 Practices-Kent Beck, Extreme Programming Explained, Addison Wesley, 1999

• 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 18: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 18

XP Characteristics

Page 19: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 19

The Team Software Process (TSP)-Watts Humphrey, Introduction to the ISP, Addison Wesley, 2000

• Scale-up of Personal Software Process (PSP)– To about 20-person teams

• Strong emphasis on planning and control– 21 scripts, 5 roles/activities, 21 forms

• Risk-driven tailoring can make process more agile

Page 20: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 20

Example TSP Role Script

Page 21: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 21

TSP Characteristics

Page 22: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 22

Days In The Life: XP and TSP

• Comparison of two development teams• Product:

– Tool to process complex sales report generated by legacy system

– Prototype delivered– Task is to enhance and port prototype – 8 month projected schedule– Estimated size: 20,000 SLOC

Page 23: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 23

Background Information

TSP/PSP• Training

– Each member has 125-hour PSP for Engineers

– 2 Members 5-day launch coach training

• Tools and environment– Web-based TSP data

collection tool– OO tools– Individual offices and

conference room• Project planning

– 4-day launch session– Develop/tailored all

processes– 180 tasks identified and

plan accepted by stakeholders

XP• Training

– 2 members attended 40-hour XP workshop

– In-house presentations and mentoring

• Tools and environment– Automated test suite

development tool– OO tools– Bullpen and Conference

room/lounge• Project planning

– 1-day customer exploration– 2-day follow-up to prioritize– Agreed on 2-week iteration

length, 3-iteration release length, and release schedule

Page 24: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 24

Normal and Crisis Days

• Used Friday as common day• Crisis days are plan-breakers

– New requirements– Short schedule

• Please read the handouts and we’ll discuss

Page 25: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 25

Comparison

• Differences– Depth and scope of metrics– Specificity of process– Level and scope of reporting– Customer interface

• Similarities– Collaborative teams– Well-defined roles– Spiral, risk- and increment-driven process– Measurement– Test first (test-driven) approach

• Bottom Line– Both were able to confidently push-back

when necessary

Page 26: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 26

Outline

• Tutorial learning objectives– Survey of assumptions about participants

• General software trends and implications– Sources of perplexity about agile, plan-driven

methods• Overview of agile and plan-driven methods

– XP, TSP “days in the life”– Comparisons of differences, strengths,

weaknesses• Risk-based balance of agility and discipline

– Small, medium, large examples • Observations and Way Forward

– Hands-on exercise• Conclusions; review of learning objectives

Page 27: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 27

Finding Middle Ground

• A pragmatic view• Both approaches have “home grounds”• A broad range of environments and

needs• Trends require better handling of rapid

change• Processes should be the right weight for

the job• We believe risk-based analysis is the key

to finding middle ground

Page 28: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 28

Contrasts and Home Grounds

• Comparison is difficult, but we found 4 areas where there are clear differences

• Application– Project goals, size, environment; velocity

• Management– Customer relations, planning and control,

communications

• Technical– How the software is developed

• Personnel– The type and competency of developers and

stakeholders

Page 29: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 29

Application Characteristics

• Primary goals– A: Rapid value, responsiveness to change– P: Predictability, stability, high assurance

• Size– A: Small to medium– P: Large

• Environment– A: Turbulent, high change– P: Stable, requirements defined

• Project velocity– A: Code, learn, and fix– P: Architect for parallel, incremental

development

Page 30: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 30

Management Characteristics

• Customer Relations– A: Dedicated, collocated; where feasible– P: Contractual; increasingly evolutionary– A: Trust through working software and

participation– P: Trust through process maturity evaluations

• Planning and Control– A: Means to an end– P: Anchor processes, communication

• Project Communications– A: Tacit, interpersonal knowledge– P: Explicit, documented knowledge

Page 31: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 31

Technical Characteristics

• Requirements– A: Adjustable, informal stories– P: Formally baselined, complete, consistent

specifications

• Development– A: Simple Design– P: Architecture-based design

• Testing– A: Automated, test-driven– P: Planned, requirements-driven

Page 32: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 32

Technical Characteristics (2)Cost of Change: Beck, Li

Cos

t of

Cha

nge

Time

Beck

LiLi

Page 33: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 33

Technical Characteristics (3) Cost of change: Poppendieck

• At least two cost-escalation curves• Lean development: Architect to defer

high-stakes decisions – e.g. COTS• Easier to change an unmade decision

Most Changes

Changes in High-stakes Constraints

Time

Co

st o

f C

han

ge

Page 34: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 34

Technical Characteristics (4)Cost of Change: TRW

Beck

Li

Steeper Cost-to-fix for High-Risk Elements

0102030405060708090

100

0 10 20 30 40 50 60 70 80 90 100

% of Software Problem Reports (SPR’s)

TRW Project A373 SPR’s

TRW Project B1005 SPR’s

% ofCosttoFixSPR’s

Major Rework Sources:Off-Nominal Architecture-BreakersA - Network FailoverB - Extra-Long Messages

Steeper Cost-to-fix for High-Risk Elements

0102030405060708090

100

0 10 20 30 40 50 60 70 80 90 100

% of Software Problem Reports (SPR’s)

TRW Project A373 SPR’s

TRW Project B1005 SPR’s

% ofCosttoFixSPR’s

Major Rework Sources:Off-Nominal Architecture-BreakersA - Network FailoverB - Extra-Long Messages

Page 35: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 35

Technical Characteristics (5)How Much Architecting?

Beck

Liu

0

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60

Percent of Time Added for Architecture and Risk Resolution

Per

cen

t of T

ime

Ad

ded

to O

vera

ll S

ched

ule

Percent of Project Schedule Devoted to Initial Architecture and Risk Resolution

Added Schedule Devoted to Rework(COCOMO II RESL factor)

Total % Added Schedule

Sweet Spot Drivers:

Rapid Change: leftward

High Assurance: rightward

Sweet spot

10 KSLOC

100 KSLOC

10,000 KSLOC

Page 36: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 36

Personnel Characteristics

• Customers– A: CRACK customers throughout development– P: CRACK customers early

• CRACK: Collaborative, Representative, Authorized, Committed, and Knowledgeable

• Developers– A: Heavy mix of high caliber throughout– P: Heavy mix early with lower capability later

• Culture– A: Many degrees of freedom (Thrives on

chaos)– P: Clear policies and procedures (Thrives on

order)• Collocated customers are difficult to

find/keep/keep current on either side

Page 37: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 37

Personnel Characteristics (2)Modified Cockburn Levels

(Ski

ll, U

nders

tandin

g)

(Formality, Documentation)

(Ski

ll, U

nders

tandin

g)

(Formality, Documentation)

Level Characteristics

3 Able to revise a method (break its rules) to fit an unprecedented new situation

2 Able to tailor a method to fit a precedented new situation

1A With training, able to perform discretionary method steps (e.g., sizing stories to fit increments, composing patterns, compound refactoring, complex COTS integration). With experience can become Level 2.

1B With training, able to perform procedural method steps (e.g. coding a simple method, simple refactoring, following coding standards and CM procedures, running tests). With experience can master some Level 1A skills.

-1 May have technical skills, but unable or unwilling to collaborate or follow shared methods.

Page 38: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 38

Summary of Home Grounds

Characteristics Agile Plan-driven

Application

Primary Goals Rapid value; responding to change Predictability, stability, high assurance

Size Smaller teams and projects Larger teams and projects

Environment Turbulent; high change; project-focused Stable; low-change; project/organization focused

Management

Customer Relations

Dedicated on-site customers, where feasible; focused on prioritized increments

As-needed customer interactions; focused on contract provisions; increasingly evolutionary

Planning/Control

Internalized plans; qualitative control Documented plans, quantitative control

Communications

Tacit interpersonal knowledge Explicit documented knowledge

Technical

Requirements Prioritized informal stories and test cases; undergoing unforseeable change

Formalized project, capability, interface, quality, forseeable evolution requirements

Development Simple design; short increments; refactoring assumed inexpensive

Architect for parallel development; longer increments; refactoring assumed expensive

Test Executable test cases define requirements

Documented test plans and procedures

Personnel

Customers Dedicated, collocated CRACK* performers CRACK* performers, not always collocated

Developers At least 30% full-time Cockburn level 2 and 3 experts; no Level 1B or -1 personnel**

50% Cockburn Level 3s early; 10% throughout; 30% Level 1B’s workable; no Level -1s**

Culture Comfort and empowerment via many degrees of freedom (thriving on chaos)

Comfort and empowerment via framework of policies and procedures (thriving on order)

* Collaborative, Representative, Authorized, Committed, Knowledgeable** These numbers will particularly vary with the complexity of the application

Page 39: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 39

Two Case Studies

• Show how that agile and plan-driven methods can be extended

• Provide examples of success and lessons learned

• ThoughtWorks Lease Management– Agile extended with plan-driven

• CCPDS-R– Plan-driven overlaid with agile concepts

Page 40: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 40

Thoughtworks Lease Management

• XP replaced ineffective traditional development• Problems when project moved beyond XP

assumptions– The effort to develop or modify a story really does not

increase with time and story number– Trusting people to get everything done on time is

compatible with fixed schedules and diseconomies of scale

– Simple design and YAGNI scale up easily to large projects

– • Disciplined practices enabled XP to scale up

– High-level architectural plans to provide essential big-picture information

– More careful definition of milestone completion criteria to avoid “finishing” but not finishing

– Use of design patterns and architectural solutions rather than simple design to handle foreseeable change

Page 41: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 41

CCPDS-R

• USAF Command Center Processing and Display System Replacement for early missile warning

• Government contract environment required plan-driven approach, project needed agility

• Practices implemented to provide agility mapped well to the Agile Manifesto – Individuals and Interactions over Processes and

Tools• Milestone content was redefined • Architecture was organized around the performers’ skill

levels – Working Software over Comprehensive

Documentation• Later PDR demonstrated working software for high-risk

areas – Customer Collaboration Over Contract Negotiation

• Used COCOMO for cost and schedule negotiations– Responding to Change Over Following a Plan

• Automated plans• Architecture for re-use saved effort

Page 42: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 42

CCPDS-R (2) Cost of Change

RATIONALS o f t w a r e C o r p o r a t I o n

Project Development Schedule15 20 25 30 35 40

40

30

20

10

Design Changes

Implementation Changes

MaintenanceChanges and ECP’s

HoursChange

RATIONALS o f t w a r e C o r p o r a t I o n

Project Development Schedule15 20 25 30 35 40

40

30

20

10

Design Changes

Implementation Changes

MaintenanceChanges and ECP’s

HoursChangeHours

Change

Cos

t of

Cha

nge

Time

Beck

Page 43: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 43

Five Critical Decision Factors

• Size, Criticality, Dynamism, Personnel, Culture

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan-driven

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan-driven

Figure 6-1

Page 44: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 44

Lease Management CCPDS-R

Comparing the Case Study Projects

Page 45: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 45

Misconceptions

Page 46: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 46

Outline

• Tutorial learning objectives– Survey of assumptions about participants

• General software trends and implications– Sources of perplexity about agile, plan-driven

methods• Overview of agile and plan-driven methods

– XP, TSP “days in the life”– Comparisons of differences, strengths,

weaknesses• Risk-based balance of agility and discipline

– Small, medium, large examples • Observations and Way Forward

– Hands-on exercise• Conclusions; review of learning objectives

Page 47: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 47

Using Risk to Balance Discipline and Agility - Overview

Step 5. Execute and Monitor

Step 4. Tailor Life Cycle

Step 3. Architecture Analysis

Step 1. Risk Analysis

Step 2. Risk Comparison

Rate the project’s environmental, agility-

oriented and plan-driven risks.

Uncertain about

ratings?

Buy information via prototyping, data

collection and analysis

Compare the agile and Plan-

driven risks

Go Risk-based Agile

Agility risks dominate

Plan-driven risks dominate

Architect application to encapsulate agile parts

Go Risk-based Agile in agile

parts; Go Risk-based Plan-

driven elsewhere

Yes

No

Go Risk-based Plan-driven

Tailor life cycle process around risk patterns

and anchor point commitment milestones

Monitor progress and risks/opportunities,

readjust balance and process as appropriate

Neither dominate

Deliver incremental capabilities according to

strategyNote: Feedback loops present, but omitted for

simplicity

Step 5. Execute and Monitor

Step 4. Tailor Life Cycle

Step 3. Architecture Analysis

Step 1. Risk Analysis

Step 2. Risk Comparison

Rate the project’s environmental, agility-

oriented and plan-driven risks.

Uncertain about

ratings?

Buy information via prototyping, data

collection and analysis

Compare the agile and Plan-

driven risks

Go Risk-based Agile

Agility risks dominate

Plan-driven risks dominate

Architect application to encapsulate agile parts

Go Risk-based Agile in agile

parts; Go Risk-based Plan-

driven elsewhere

Yes

No

Go Risk-based Plan-driven

Tailor life cycle process around risk patterns

and anchor point commitment milestones

Monitor progress and risks/opportunities,

readjust balance and process as appropriate

Neither dominate

Deliver incremental capabilities according to

strategyNote: Feedback loops present, but omitted for

simplicity

Page 48: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 48

Risks Used in Risk Comparison

• Environmental risks– Technology uncertainties– Many stakeholders– Complex system-of-systems– Legacy compatibility

• Agility risks– Scalability– Use of simple design– Personnel turnover– Too-frequent releases– Not enough agile-capable people

• Plan-driven risks– Rapid change– Need for rapid results– Emergent requirements– Not enough discipline-capable people

Page 49: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 49

Three Examples

• Agent-based systems

• Small – Event Managers application

• Medium – SupplyChain.com application

• Large – National Information System for Crisis Management (NISCM) application

• Each example results in a development strategy based on risk analyses

Page 50: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 50

Event Managers Project

• Small startup company

• Diverse set of smaller agent-based planning applications

• This project: support for managing the infrastructure and operations of conferences and conventions

• Widening variety of options and interdependencies, makes an agent-based approach highly attractive

Page 51: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 51

Event Managers Profile

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Risk Items Risk Ratings Event Managers

Environmental Risks E1. Technology uncertainties E2. Many stakeholders E3. Complex system of systems Risks of using Agile Methods A1. Scalability A2. Use of simple design A3. Personnel turnover A4. Too-frequent releases A5. Not enough agile-capable people Risks of using disciplined methods D1. Rapid change D2. Need for rapid results D3. Emergent requirements D4. Not enough discipline-capable people

Risk rating scale: - minimal risk - moderate risk

- Serious but manageable risk - Very serious but manageable risk - Show-stopper risk

Page 52: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 52

Event Managers Strategy

1. StartupTeambuilding and Shared

Vision

2. Design, Development and Deployment

• Establish CRACK joint management team

• Develop shared vision, results chain, life cycle strategy, infrastructure choices

• Establish commitment to proceed, incremental capabilities, backlog

• Develop next-increment features

• Test, exercise, deploy new increment• Re-prioritize next-increment features• Analyze lessons learned; prepare strategy for next increment

Customer Management; Representative Users

Joint Developer-Customer Agile Team

LCA

Page 53: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 53

SupplyChain.com Profile

• Turnkey agent-based supply chain management systems

• Distributed, multi-organization teams of about 50 people

• Parts of applications are relatively stable, while others are highly volatile

• Architectures are driven by a few key COTS packages that are also continually evolving

Page 54: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 54

SupplyChain.com Profile

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Risk Items Risk Ratings SupplyChain.com

Environmental Risks E1. Technology uncertainties E2. Many stakeholders E3. Complex system of systems Risks of using Agile Methods A1. Scalability A2. Use of simple design A3. Personnel turnover A4. Too-frequent releases A5. Not enough agile-capable people Risks of using disciplined methods D1. Rapid change D2. Need for rapid results D3. Emergent requirements D4. Not enough discipline-capable people

Risk rating scale: - minimal risk - moderate risk

- Serious but manageable risk - Very serious but manageable risk - Show-stopper risk

Page 55: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 55

SupplyChain.com Strategy

Startup 1. Teambuilding and Shared

Vision

3. Design, Development and Deployment2. Systems Definition and Architecting

Stakeholders

Furnish CRACK representatives and alternates

Staff and organize to cover all success-critical risk areas

• Develop benefits-realization results chains

• Identify missing stakeholders

• Enhance mutual understanding

• Explore goals, options, technology, prototypes, risks

Review; Commit

to proceed

• Elaborate supply chain operational concept, prototypes, transition strategy

• Evaluate and determine COTS, reuse, and architecture choices

• Prioritize and sequence desired capabilities, outstanding risks

• Establish project organization, overall process, and feature teams

Review; Commit

to proceed

• Ensure representative exercise of incremental capabilities

• Monitor progress and new operational development

• Monitor project progress, risk resolution, and new technology developments

• Identify and work critical project-level actions

• Develop and integrate new feature increments

• Communicate proposed redirections

• Prepare for and execute acceptance tests, installation, operational evolution

• Analyze feedback on current version

• Reprioritize features

• Prepare strategy for next increment

• Consolidate process lessons learned

• Use risk to determine content of artifacts

Project Manager andRisk Management Team

Agile Feature Team LCA LCO

Page 56: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 56

NISCM Profile

• Broad coalition of government agencies and critical private-sector organizations

• Support cross-agency and public-private sector coordination of crisis management activities

• Adaptive mobile network, virtual

collaboration, information assurance, and information integration technology

• Private-sector system-of-systems integration contractor

Page 57: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 57

Risk Items Risk Ratings NISCM

Environmental Risks E1. Technology uncertainties E2. Many stakeholders E3. Complex system of systems Risks of using Agile Methods A1. Scalability — A2. Use of simple design — A3. Personnel turnover A4. Too-frequent releases A5. Not enough agile-capable people — Risks of using disciplined methods D1. Rapid change D2. Need for rapid results D3. Emergent requirements D4. Not enough discipline-capable people

Risk rating scale: - minimal risk - moderate risk

- Serious but manageable risk - Very serious but manageable risk - Show-stopper risk

NISCM Profile

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Page 58: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 58

NISCM Strategy

Startup Teambuilding and Shared

Vision

Design, Development and Deployment

Systems Definition and Architecting

Stable, Higher-criticality Module Teams

Stakeholders

Furnish CRACK representatives and alternates

• Staff and organize to cover all success-critical risk areas

• Prepare for and select competitors for concept definition

• Develop results chains• Identify missing

stakeholders• Enhance understanding• Explore goals, options,

technology, prototypes, risks

• Negotiate mutually satisfactory objectives and priorities

• Formulate top-level operational concept, requirements, architecture, life cycle plan, feasibility rational

• Select winning system integration contract

Hold Life Cycle

Objective Review. If feasibility

rationale is valid,

commit to proceed

• Prepare for/select competitors for component subcontract definition

• Elaborate operational concept, prototypes, transition strategy

• Evaluate/determine COTS, reuse, and architecture choices

• Develop/ validate critical-infrastructure software

• Prioritize/sequence desired capabilities, outstanding risks

• Formulate definitive operational concept, requirements, architecture, life cycle plan, feasibility rationale

• Use to solicit/select component subcontractors

Hold Life Cycle

Architecture Review. If feasibility

rationale is valid,

commit to proceed

• Ensure representative exercise of incremental capabilities

• Monitor progress and new operational development

• Monitor project progress, risk resolution, and new technology developments

• Identify/work critical project-level actions

• Continuously integrate/ test growing software infrastructure and components

Dynamic, Lower-criticality Module Teams

• Develop compatible component-level prototypes, requirements, architectures, plans, critical software, feasibility rationale

• Classify modules by likely stability and criticality

Organize into disciplined and agile module teams

Plan, specify, develop stable, higher-criticality module increments

Plan, specify, develop dynamic, lower-criticality module increments

• Communicate proposed redirections

• Prepare for and execute acceptance tests, installation, operational evolution

• Analyze feedback on current version

• Reprioritize features

• Prepare strategy for next increment

• Use risk to determine content of artifacts

NSO and I3-led ProjectRisk Management Team

LCALCO

Page 59: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 59

Risk Profiles Across Examples

Risk Items Risk Ratings Event Managers SupplyChain.com NISCM

Environmental Risks E1. Technology uncertainties E2. Many stakeholders E3. Complex system of systems Risks of using Agile Methods A1. Scalability — A2. Use of simple design — A3. Personnel turnover A4. Too-frequent releases A5. Not enough agile-capable people — Risks of using disciplined methods D1. Rapid change D2. Need for rapid results D3. Emergent requirements D4. Not enough discipline-capable people Risk rating scale: - minimal risk - moderate risk

- Serious but manageable risk - Very serious but manageable risk - Show-stopper risk

Page 60: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 60

Outline

• Tutorial learning objectives– Survey of assumptions about participants

• General software trends and implications– Sources of perplexity about agile, plan-driven

methods• Overview of agile and plan-driven methods

– XP, TSP “days in the life”– Comparisons of differences, strengths,

weaknesses• Risk-based balance of agility and discipline

– Small, medium, large examples • Observations and Way Forward

– Hands-on exercise• Conclusions; review of learning objectives

Page 61: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 61

Summary of Observations

• No silver bullet• Clear agile and

plan-driven home grounds

• Increased demands for agility, velocity, quality

• Balanced methods are emerging

• Build methods up vs. tailor down

• Methods are important; people more so – Values– Communications– Expectations

management

Page 62: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 62

No Silver Bullet

• Brooks’ werewolf concerns– Complexity,

conformity, changeability, invisibility

• Agile methods – Handle changeability

and invisibility– Miss on complexity

and conformity• Plan-driven methods

– Handle conformity and invisibility

– Miss on changeability and complexity

Page 63: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 63

Future Applications Need Both

• Historically– Many small, non-critical,

well-skilled, agile culture, rapidly evolving projects

– Many large, critical, mixed-skill, ordered culture, stable projects

• In the future– Large projects are no

longer stable– Maintenance of extensive

process and product plans will become too expensive

– Complexity and conformity werewolves are waiting for agile projects

– Attributes of both approaches will be needed

Page 64: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 64

Balanced Methods are Emerging

• Agile methods– Crystal Orange– DSDM– FDD– Lean Development

• Plan-Driven methods– Rational Unified

Process– CMMI

• Hybrid– Boehm-Turner Risk-

based– Code Science/Agile

Plus

Page 65: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 65

Build up – Don’t Tailor Down

• Plan-driven methods traditionally– Define heavyweight process guidelines– Advocate tailoring– Treat mass of processes as security blanket

• Agilists traditionally– Begin with the minimum – Add as needed (and justified by cost-benefit)– Start small; extend only where necessary

Page 66: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 66

Maybe its not the methods!

• Agile movement has echoed a long line of warning calls

• Success of agile may be due as much to people factors as to technology

• Valuing people over processes is the most important factor in the manifesto

I know I saw something about that in the process somewhere…

Page 67: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 67

People

• Of the people, by the people, for the people

• Separation of concerns is increasingly harmful

• A few quotes…– The notion of “user” cannot be

precisely defined, and therefore it has no place in computer science or software engineering. Dijkstra

– Analysis and allocation of the system requirements is not the responsibility of the software engineering group, but it is a prerequisite for their work. The Capability Maturity Model for Software.

– Software engineering is not project management. Tucker

Page 68: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 68

Values

• Reconciling values is a critical people-oriented task

• Stakeholders value different things• Software engineering is usually value-

neutral– Every requirement, object, test case, defect

equally important

• Process improvement and plan-driven methods are inwardly-focused – Aimed at productivity improvement– Not higher value to customer

• Agilists attention to prioritization and negotiation are promising

Page 69: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 69

Communications

• Face it, most engineers can’t talk, much less write

• Need to bridge the customer-developer communications gap

• IKIWISI* reigns• Rapid change increases

need for solid communication

• Few sources of guidance– Cockburn’s Agile Software

Development is a good starting place

*I’ll know It When I See It

Page 70: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 70

Expectations Management

• Differences between successful and troubled projects is often expectations management

• SW developers have problems with EM – Strong desire to please– Little confidence in prediction– Over confidence in abilities

• Most significant common factor in highly effective plan-driven or agile teams

• EM means not setting up unrealistic expectations– Process mastery– Preparation– Courage

Developers seem to like Sisyphean tasks…

Page 71: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 71

Research Challenges and Opportunities

• Techniques for achieving rapid quality– Risk/value-driven process lightening– Agile with lightweight V&V overlay– Capitalizing on domain knowledge– Reuse, component-based approaches– Automating quality enhancement

• Empirical analyses– Distributed agile methods– Hybrid agile/plan-driven methods– Effects of individual practices– Effects of scale, personnel turnover

Page 72: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 72

•60% of projects in agile home ground

•60% of effort in plan-driven home ground

Size Distribution

Page 73: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 73

Development Methods

Page 74: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 74

Do Both Assure Success?

• TSP and agile methods are indeed silver bullets and always succeed spectacularly well.

• People tend to report success more than they do failures.

• The pioneer projects are being done by high-capability early adopters of new methods.

• The pioneer projects are experiencing some Hawthorne effects of performing extra well while being in the spotlight.

• The projects are being compared to particularly poorly performing past projects.

• High improvement numbers make options worth exploring

Page 75: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 75

Reifer Scorecard for XP

Page 76: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 76

Pair Programming Results

• Short studies are suspect; pairs take about 10 hours to jell

Page 77: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 77

Educational Approaches

• Survey courses– Materials here plus excursions into practice– Try, compare inspections and pair

programming– Try, compare refactoring vs. use of design

patterns

• Project courses– Some practices need tailoring to student

constraints– Steep learning curve; precede with survey

course

Page 78: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 78

Experimental XP-Like Course

• Goals:– Create an improved version of Agile

COCOMOII– Use XP practices; supplement where needed– Gather software process data

• Characteristics:– Part-time, non-collocated student team– Part-time customer– Personnel with moderate

platform/applications experience

Page 79: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 79

Page 80: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 80

XP + situational common sense => Lightweight method

• Planning variants– Brainstorming +modified win-win ->

e-Story/Task cards– Bi-weekly meetings– Stories prioritized -> iteration requirements

• Design variants– Brainstorming:: group input:: team buy-in– Architecture determined from shortfalls of

previous arch.– Top level design :: iteration designs– Iteration design :: fulfills iteration

requirements– Prototype GUI, draft class design: pair-work

Page 81: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 81

Electronic Story/Task Cards

Page 82: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 82

XP + situational common sense => Lightweight method

• Coding variants:– Coding standards:: drafted, team consensus,

will evolve as needed– Customer available bi-weekly for

feedback/report– Tests are being written before any code, all

code is unit & integration tested

• Quality guidelines:– Digital archives of artifacts – Simple, short, risk-based documentation

Page 83: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 83

Organizational Way Forward

• Convene key stakeholders to determine organizational goals and strategies

• Rebalance agility and discipline in this organizational context

Page 84: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 84

Determining Organizational Goals and Strategies

• Current software organization’s status and needs• Key stakeholders’ needs and trends• How to cope with future trends• The increased pace of change and need for agility• The increased concern with software

dependability and need for discipline• Your ability to satisfy your stakeholders’ evolving

value propositions and to keep up with your toughest competitors

• The increasing gap between supply and demand for Cockburn Levels 2 and 3 people

• Your ability to cope with existing and emerging challenges– COTS integration, evolving Internet/Web

capabilities, distributed and mobile operations, agent coordination, multimode virtual collaboration, and outsourcing jobs

Page 85: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 85

Collins’ Good to Great- HarperBusiness, 2001

Bureaucratic Organization

Start-up Organization

Hierarchical Organization

Great Organization

Low

Low

High

High

Ethic of Entrepreneurship

Culture of Discipline

Page 86: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 86

Rebalancing Agility and Discipline

In agile or plan-driven home ground

Highly mixed agile/plan driven profile

Graph “typical project” on 5D chart

-Now; 5 years ahead

Develop best home ground continuous process improvement strategy

Treat anomalies as risks to be managed

Develop incremental mixed strategy. Try on pilot project

Integrate, execute process, people, technology plans. Monitor and control using Balanced Scorecard.

In home ground with some anomalies

Page 87: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 87

Hands-on Exercise

• Graph your organization’s “typical project” on 5D charts– Now; 5 years from now

• Identify major needs for organizational change– With respect to balancing agility and discipline– With respect to future trends, environmental risks

• Identify most critical first steps for improvement

• Identify pilot project for applying first steps– Application, staffing– Needs for education, teambuilding, culture change

• Summarize in bulleted strategic plan

Page 88: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 88

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan-driven

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan-driven

Figure 6-1

Now

Page 89: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 89

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan-driven

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan-driven

Figure 6-1

In 5 Years

Page 90: Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods

4/19/04 90

Conclusions

• Plan-driven and agile methods both aim to– Satisfy customers– Meet cost and schedule parameters

• Home grounds exist, but the need/opportunity for integration is expanding

• We recommend a self-assessment of your organization and business – Locate your place in the home ground space– Identify areas of change and how they might

move your location– Look for ways to integrate methods to better

respond to change• People concerns dominate method

concerns