Industrial Case Studies of Extreme Programming...

20
Industrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina State University [email protected] Real Engineers Real Projects Real Impact © Laurie Williams 2006 2 Agenda Brief Overview: Extreme Programming (XP) 2 nd Edition (XP2) Empirical Research Design of XP1 Studies Empirical Studies of XP1 Teams IBM Two Sabre Tekelec Summary and Research Challenges

Transcript of Industrial Case Studies of Extreme Programming...

Page 1: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

Industrial Case Studies of Extreme Programming Teams

Laurie Williams North Carolina State [email protected]

Real Engineers – Real Projects – Real Impact

© Laurie Williams 2006 2

Agenda

• Brief Overview: Extreme Programming (XP) 2nd Edition (XP2)

• Empirical Research Design of XP1 Studies

• Empirical Studies of XP1 Teams• IBM• Two Sabre• Tekelec

• Summary and Research Challenges

Page 2: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 3

XP2 Practices

From Extreme Programming Explained Second Edition, Kent Beck 2005

© Laurie Williams 2006 4

XP2 Practices: Primary

From Extreme Programming Explained Second Edition, Kent Beck 2005

Page 3: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 5

XP2 Practices: Primary

From Extreme Programming Explained Second Edition, Kent Beck 2005

© Laurie Williams 2006 6

XP2 Practices: Primary

From Extreme Programming Explained Second Edition, Kent Beck 2005

Page 4: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 7

XP2 Practices: Primary

From Extreme Programming Explained Second Edition, Kent Beck 2005

Sit

toge

ther

Informative Workspace

© Laurie Williams 2006 8

XP2 Practices: Primary

From Extreme Programming Explained Second Edition, Kent Beck 2005

Sit

toge

ther

Informative Workspace

Pair Programming

Page 5: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 9

XP2 Practices: Corollary

From Extreme Programming Explained Second Edition, Kent Beck 2005

© Laurie Williams 2006 10

XP2 Practices: Corollary

From Extreme Programming Explained Second Edition, Kent Beck 2005

Page 6: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 11

XP2 Practices: Corollary

From Extreme Programming Explained Second Edition, Kent Beck 2005

© Laurie Williams 2006 12

XP2 Primary Practice Summary

Simple DesignRefactoring

Incremental Design

TestingTest-first Programming

SustainedContinuous integration

NewTen-minute build

NewSlack

Small releasesQuarterly cycle

Planning gameWeekly cycle

Planning gameStories

SustainedPair programming

40-hour weekEnergized work

NewInformative workspace

NewWhole team

NewSit together

Sustained/New/XP1 Name

XP2 Primary Practice

RemovedCoding standard

Corollary: Real customer involvement

On-site customer

Corollary: Shared code

Collective code ownership

RemovedMetaphor

DispositionXP1 Practice

Page 7: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 13

Agenda

• Brief Overview: Extreme Programming (XP) 2nd Edition (XP2)

• Empirical Research Design of XP1 Studies

• Empirical Studies of XP1 Teams• IBM• Two Sabre• Tekelec

• Summary and Challenges

© Laurie Williams 2006 14

XP: Goal – Question – MetricGoal: To build laws and evolve theories about whether the business-

related results of a team change when XP practices are used.

Q1: Does the pre-release quality change when a team uses XP practices?Q2: Does the post-release quality change when a team uses XP practices?Q3: Does programmer productivity change when a team uses XP practices?Q4: Does customer satisfaction change when a team uses XP practices?Q5: Does team morale change when a team uses XP practices?

Metrics . . . Will be discussed in detail.

Example Law: The use of XP increases customer satisfaction.

Example Theory: Because of the continuous communication between the development team and the customer, the product is more likely to be what the customer actually wants, rather than what the customer initially stated he/she wanted.

Page 8: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 15

Software Development Process Selection

Boehm, B., Get Ready for Agile Methods, with Care, IEEE Computer, January 2003

© Laurie Williams 2006 16

Process Selection – GQM Goal: to build laws and evolve theories aboutsystematic guidelines for software development process selection.

Questions:Are the most important factors in choosing aplan-driven or agile methodology the following: personnel, dynamism, culture, size, and criticality?Personnel: Should lower-skill teams should use plan-driven methodologies; higher skilled teams can use agile methodologies?Dynamism: Should projects with lower requirements volatility should use plan-driven methodologies; projects with higher requirements volatility should use agile methodologies?Culture: Should teams comprised of engineers who like order should use plan-driven methodologies; teams comprised of engineers who thrive on chaos should use agile methodologies?Size: Should large teams should use plan-driven methodologies; small teams should use agile methodologies?Criticality: Should reliability-critical projects should use plan-driven methodologies; projects with minimal implications of defects should use agile methodologies?

Boehm, B., Get Ready for Agile Methods, with Care, IEEE Computer, January 2003

. . . And co-location?

Page 9: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 17

Software Technology Maturation Basic ResearchRecognize problem, invent ideas

Concept FormulationRefine ideas, publish solutions

Development & ExtensionTry it out, clarify, refine

Internal ExplorationStabilize, port, use for industrial-strength problems

External ExplorationBroaden user group, extend

PopularizationPropagate through community

RedwineRedwine, S. and Riddle, S., , S. and Riddle, S., Software Technology MaturationSoftware Technology Maturation, ICSE 1985., ICSE 1985.

WhereWhere’’s the s the beef . . . . beef . . . .

validation? validation?

© Laurie Williams 2006 18

Software Technology Maturation

StateState--ofof--artart

Impact researchersImpact researchers

Basic ResearchRecognize problem, invent ideas

Concept FormulationRefine ideas, publish solutions

Development & ExtensionTry it out, clarify, refine

Internal ExplorationStabilize, port, use for industrial-strength problems

External ExplorationBroaden user group, extend

PopularizationPropagate through community

Page 10: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 19

Software Technology Maturation

Focus of case study-based

research

Basic ResearchRecognize problem, invent ideas

Concept FormulationRefine ideas, publish solutions

Development & ExtensionTry it out, clarify, refine

Internal ExplorationStabilize, port, use for industrial-strength problems

External ExplorationBroaden user group, extend

PopularizationPropagate through community

StateState--ofof--practicepractice

Impact practitionersImpact practitioners

© Laurie Williams 2006 20

Process Evaluation

XP-Context Factors (XP-cf)

Is this team like my team?

But, what did the team really do?

Was the team successful?

XP-Evaluation Framework (XP-EF)

XP-Context Factors (*-cf)

XP-Adherence Metrics (*-am)

XP-Outcome Measures (*-om)

Qualitative and Quantitative

Subjective and Objective

To conduct methodologically-defensible case studies . . .

That are proactively planned for combining studies . . .

On topics salient to industry . . .

To increase the impact of a family of case studies.

Page 11: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 21

Documenting How/What to Measure

© Laurie Williams 2006 22

Agenda

• Brief Overview: Extreme Programming (XP) 2nd Edition (XP2)

• Empirical Research Design of XP1 Studies

• Empirical Studies of XP1 Teams• IBM• Two Sabre• Tekelec

• Summary and Challenges

Page 12: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 23

IBM: XP-Context Factors (XP-cf)

Small team (7-10)Co-locatedWeb development (toolkit)Supplier and customer distributed (US and overseas)

Examined one release “old”(low XP) to the next “new”(more XP)

© Laurie Williams 2006 24

IBM: XP-Adherence Metrics (XP-am)Subjective: Shodan Survey

– Example survey at: http://agile.csc.ncsu.edu/survey/shodan_survey.html– Old 56%– New 72%

Objective Metrics

WeeklyWeeklyShort ReleaseIteration Length5 months10 monthsShort ReleaseRelease Length48%<5%Pair ProgrammingPairing Frequency

NoNoTestingDid customers run your acceptance tests?

ManualManualTestingAccept test execute0.420.26TestingTest LOC/Source LOC11%14%TestingUnit test runs per person day46%30%TestingTest coverage (statement)

0.450.11TestingAutomated test class per user story

NewOldPracticeXP-am Metric

Page 13: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 25

IBM: XP-Outcome Measures (XP-om)

1.111.0 Morale (via survey)

High (qualitative)NACustomer Satisfaction

1.341.701.92

1.01.01.0

Productivity (stories / PM)Relative KLOEC / PMPutnam Product. Parameter

0.611.0Post-release Quality(released defects/KLOEC of code)

0.501.0Pre-release Quality(test defects/KLOEC of code)

0.23NAResponse to Customer Change(Ratio (user stories in + out) /total)

New Old XP Outcome Measures

Normalized values

© Laurie Williams 2006 26

Sabre-A: XP Context Factors (XP-cf)

Page 14: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 27

Sabre-A: XP-Adherence Metrics (XP-am)Subjective: Shodan Survey

– 76.7% (new)

Objective Metrics

10 days--Short ReleaseIteration Length3.5 months18 monthsShort ReleaseRelease Length

50%<0%Pair Programming

Pairing Frequency

NoNoTestingDid customers run your acceptance tests?

ManualManualTestingAccept test execute0.2960.054TestingTest LOC/Source LOC1.00TestingUnit test runs per person day32.9%N/ATestingTest coverage (statement)

0.5720.036TestingAutomated test class per new/changed class

NewOldPracticeXP-am Metric

© Laurie Williams 2006 28

Sabre-A: XP-Outcome Measures (XP-om)

Normalized values

68.1%N/AMorale (via survey)

High (anecdotal)NACustomer Satisfaction

N/A1.462.89

N/A1.01.0

Productivity (stories / PM)Relative KLOEC / PM Putnam Product. Parameter

0.701.0Post-release Quality(released defects/KLOEC of code)

0.351.0Pre-release Quality(test defects/KLOEC of code)

N/ANAResponse to Customer Change(Ratio (user stories in + out) /total)

New Old XP Outcome Measures

Page 15: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 29

Sabre-P: XP Context Factors (XP-cf)

Medium sized team (15)Co-locatedLarge web application (1M LOC)Customers domestic & overseas

Examined 13th release of the product; 20 months after starting XP

© Laurie Williams 2006 30

Sabre-P: XP-Adherence Metrics (XP-am)Subjective: Shodan Survey

– 70.2

Objective Metrics

10 daysShort ReleaseIteration Length

3 monthsShort ReleaseRelease Length

70%Pair programming Pair programming

0.296TestingTest LOC/Source LOC

0.4TestingUnit test runs per person day

7.7%TestingTest coverage (statement)

0.0225TestingAutomated test class per new/changed class

NewPracticeXP-am Metric

Page 16: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 31

Sabre-P: XP-Outcome Measures (XP-om)

HigherSimilarProductivity

LowerLowerTotal defect density

LowerSimilarPre-release defect density

Capers JonesBangalore SPIN Benchmarking group

XP Outcome Measures

© Laurie Williams 2006 32

Tekelec: XP Context Factors (XP-cf)

Small team (4-7; 2 during maintenance phase)

Geographically distributed– Contractors in Czech Republic for US development organization

(Tekelec)

Simulator for a telecommunications signal transfer point system (train new customers)

Considerable amount of requirements volatility

Page 17: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 33

Tekelec: XP-Adherence Metrics (XP-am)

10 daysShort ReleaseIteration Length

4 monthsShort ReleaseRelease Length

77.5%Pair programming Pair programming

0.91TestingTest LOC/Source LOC

1/day for all; 1/hour for quickset

TestingUnit test runs per person day

N/ATestingTest coverage (statement)

1.0TestingAutomated test class per new/changed class

NewPracticeXP-am Metric

© Laurie Williams 2006 34

Tekelec: XP-Outcome Measures (XP-om)

1.22 KLOEC/PM [Lower than industry standards]

2.32 KLOEC/PM (including test code) [on par with industry standards]

Productivity

Capability – NeutralReliability – SatisfiedCommunication – Very Satisfied

Customer Satisfaction(interview)

1.62 defects/KLOEC [Lower than industry standards]

Post-release Quality(post-release defects/KLOEC)

N/APre-release Quality(test defects/KLOEC)

F-15 projectOutcome measure

Page 18: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 35

Tekelec: ConjecturesConjecture 1: In a globally-distributed XP team, a well-defined customer authority is essential for effective decision making and a clear requirements statement.

Conjecture 2: In a globally-distributed XP team, having a key member of one team physically located with the other team can provide an essential two-way communication conduit.

Conjecture 3: In a globally-distributed XP team, prompt responses to asynchronous queries positively impact development commitment and confidence and create a focused development environment.

Conjecture 4: In a globally-distributed XP team, providing the team with continuous access to process and product information (e.g. XPlanner) can help to improve process control and plan effectiveness.

© Laurie Williams 2006 36

Agenda

• Brief Overview: Extreme Programming (XP) 2nd Edition (XP2)

• Empirical Research Design of XP1 Studies

• Empirical Studies of XP1 Teams• IBM• Two Sabre• Tekelec

• Summary and Challenges

Page 19: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 37

Empirical Studies of XP Teams

© Laurie Williams 2006 38

Software Process Selection

*-Evaluation Framework

*-Context Factors (*-cf)

*-Adherence Metrics (*-am)

*-Outcome Measures (*-om)

XPXP--EF EF XPXP--cfcf; XP; XP--am; XPam; XP--omom

RUPRUP--EF EF RUPRUP--cfcf; RUP; RUP--am; RUPam; RUP--omom

TSPTSP--EFEF TSPTSP--cfcf; TSP; TSP--am; TSPam; TSP--omom

XP2XP2--EF EF XP2XP2--cf; XP2cf; XP2--am; XP2am; XP2--omom

Page 20: Industrial Case Studies of Extreme Programming Teamsisr.uci.edu/events/dist-speakers05-06/williams06.pdfIndustrial Case Studies of Extreme Programming Teams Laurie Williams North Carolina

© Laurie Williams 2006 39

ReferencesIBM Case Study: Williams, L., Krebs, W., Layman, L., Antón, A., Toward a Framework for Evaluating Extreme Programming, Empirical Assessment in Software Engineering (EASE) 2004, Edinburgh, Scotland, pp. 11-20. Sabre-A Case Study: Layman, L., Williams, L., Cunningham, L., Exploring Extreme Programming in Context: An Industrial Case Study, Agile Development Conference 2004, Salt Lake City, p. 32-41. Sabre-P Case Study: Layman, L., Williams, L., Cunningham, L., Motivations and Measurements in an Agile Case Study, Journal of System Architecture, to appear.Tekelec Case Study: Layman, L., Williams, L., Damian, D., Bures, H., Essential Communication Practices for Extreme Programming in a Global Software Development Team, Information and Software Technology, to appear.

Available from: http://collaboration.csc.ncsu.edu/laurie/publications.html