Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing...

36
Balancing Agility and Discipline (Part 1) CS 566 – Software Management and Economics Lecture 9 (Boehm and Turner Tutorial 2004; Chapters 1 – 3, Boehm and Turner Book 2004) Ali Afzal Malik

Transcript of Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing...

Page 1: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

Balancing Agility and Discipline (Part 1)

CS 566 – Software Management and Economics

Lecture 9 (Boehm and Turner Tutorial 2004;

Chapters 1 – 3, Boehm and Turner Book 2004)

Ali Afzal Malik

Page 2: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 2

Outline

• 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 (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 3

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 4: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 4

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 5: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 5

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 6: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 6

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 7: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 7

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 8: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 8

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 9: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 9

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 10: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 10

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 11: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 11

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 12: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 12

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 13: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 13

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 14: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 14

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 15: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 15

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 16: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 16

XP Characteristics

Page 17: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 17

The Team Software Process (TSP)-Watts Humphrey, Introduction to the TSP, 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 18: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 18

Example TSP Role Script

Page 19: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 19

TSP Characteristics

Page 20: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 20

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 21: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 21

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 22: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 22

Normal and Crisis Days

• Used Friday as common day

• Crisis days are plan-breakers– New requirements– Short schedule

Page 23: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 23

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 24: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 24

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 25: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 25

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 26: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 26

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 27: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 27

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 28: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 28

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 29: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 29

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

Cos

t of C

hang

eTime

Beck

LiLi

Page 30: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 30

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

Cos

t of C

hang

e

Page 31: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 31

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 32: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 32

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 Res olution

Per

cent

of T

ime

Add

ed to

Ove

rall 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 33: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 33

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 34: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 34

Personnel Characteristics (2)Modified Cockburn Levels

(Skill, Understanding)

(Formality, Documentation)

(Skill, Understanding)

(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 35: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 35

Summary of Home Grounds

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

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

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

Culture

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

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

Developers

CRACK* performers, not always collocatedDedicated, collocated CRACK* performersCustomers

Personnel

Documented test plans and proceduresExecutable test cases define requirementsTest

Architect for parallel development; longer increments; refactoring assumed expensive

Simple design; short increments; refactoring assumed inexpensive

Development

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

Prioritized informal stories and test cases; undergoing unforseeable change

Requirements

Technical

Explicit documented knowledgeTacit interpersonal knowledgeCommunications

Documented plans, quantitative controlInternalized plans; qualitative controlPlanning/Control

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

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

Customer Relations

Management

Stable; low-change; project/organization focusedTurbulent; high change; project-focusedEnvironment

Larger teams and projectsSmaller teams and projectsSize

Predictability, stability, high assuranceRapid value; responding to changePrimary Goals

Application

Plan-drivenAgileCharacteristics

Page 36: Balancing Agility and Discipline (Part 1)suraj.lums.edu.pk/~cs566m07/PDFs/Lecture 9 Balancing Agility and... · •Evolutionary acquisition and spiral development –U.S. DoD Directive

LUMS 36

References

• Barry Boehm and Richard Turner, Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods, STC 2004 Tutorial, 2004.

• Barry Boehm and Richard Turner, Balancing Agility and Discipline – A Guide for the Perplexed, Addison-Wesley, 2004.