do we do next? or: colour is your backlog?

56
Scrum Gathering March 17, 2009 Copyright © 2009 Philippe Kruchten 1 What do we do next? Or: What colour is your backlog? Or: What colour is your backlog? Philippe Kruchten Scrum Gathering Orlando, March 1620, 2009 1 Philippe Kruchten, Ph.D., P.Eng., CSDP Professor of Software Engineering Department of Electrical and Computer Engineering University of British Columbia Vancouver, BC Canada [email protected] +1 604 8275654 Founder and president Kruchten Engineering Services Ltd Vancouver, BC Canada [email protected] +1 604 4182006 2

Upload: others

Post on 02-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 1

What do we do next?Or:What colour is your backlog?Or: What colour is your backlog?

Philippe KruchtenScrum Gathering

Orlando, March 16‐20, 20091

Philippe Kruchten, Ph.D., P.Eng., CSDP

Professor of Software EngineeringDepartment of Electrical and Computer Engineering

University of British ColumbiaVancouver, BC [email protected]+1 604 827‐5654 

Founder and president

Kruchten Engineering Services LtdVancouver, BC [email protected]+1 604 418‐2006

2

Page 2: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 2

Outline

• Context• Software development

• Estimation• BuffersSoftware development

• Backlog• Time‐box• Features &Value • Work & Cost• Invisible features

Buffers• Defects• Technical debt• Constraints• Time and depreciation• Tool support

• Dependencies• Release and budget• Dollars, or points & utils

pp• Colours• Research agenda• Recommendations

3

No more planning

4

Page 3: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 3

Context

• Research on modern software development practicespractices

• Software project management• “Evidence‐based software‐engineering”• Old stuff in new clothes ?• Integrationg

• Financial support from Scrum Alliance

5

A Conceptual Model of Software Development

4 key concepts 3 key attributes4 key concepts, 3 key attributes

Intent

Product Time

Q litWork

People

Quality

Risk

6

Page 4: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 4

Intent, Work, People, Product

7

Adding Time, Quality & Risk

Intent Product

TimeQualityRisk

TimeQualityRisk

TimeQualityRisk

Work

TimeQualityRisk

People

8

Page 5: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 5

9

Project: Tension between Intent and Product

Intent 

δV

Product

δT10

Page 6: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 6

Iterations

11

Backlog

12

Page 7: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 7

The BacklogThe Backlog

Feature RequestsFeature Requests

Priority

13

Sprint PlanningSprint Planning

Feature RequestsFeature Requests

PrioritySprint Backlog

14

Page 8: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 8

Painting your backlog

Features Architecture infrastructure

Defects Technical DebtDebt

15

Time‐box

16

Page 9: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 9

Time‐box

Staff

Work (≈Cost)

Time17

Time‐box

better than

Brooks,  Mythical Man‐Month,1975Boehm, COCOMO, 1981

18

Page 10: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 10

Time‐boxes: Releases

Release 1 R2 R3 R4

Time

19

Time‐boxes: Iterations (sprints)

Release N

ITERATION 1 It. 2 It. 3

Time

20

Page 11: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 11

Features 

Intent21

Features 

22

Page 12: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 12

Features 

Rn

23

Work and Cost

• How much work is associated to a feature?

• Work is strongly related to cost in software development (a human‐intensive activity)

• Overall budget is roughly the size of the time‐box(es)

• Time box budget• Time‐box = budget

• Features must fit in budget

• Q: How do we select what goes in the box?

24

Page 13: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 13

Features 

?

Rn

25

Features & Value 

46

4

6

52

7 3

12

53

5

26

Page 14: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 14

Maximizing value

4

2

3

3

4

4

5

5

6

7

12

Highest value firstIgnore time

27

Value = Cost?

46 $8$5

4

6

52

7 3

12

5

$15

$5$2

$5

$5

$5

$1

35

$5$5

28

Only for simplest cases

Page 15: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 15

Value /= Cost12 $15

7 $2Cost

6 $8

7 $2

4 $5

5 $5

4 $55 $1

3 $5

3 $5

2 $5Value

Value and Cost

• Value: to the business (the users, the customers the public etc )customers, the public, etc.)

• Cost: to design, develop, manufacture, deploy, maintain

• Simple system, stable architecture, many small features:– Statistically value aligns to cost

• Large, complex, novel systems ?

30

Page 16: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 16

Time

Intent

Time

Product

Value

TimeQualityRisk

TimeQualityRisk

Time

Work

Time

People

TimeQualityRisk

TimeQualityRisk

Cost31

Efficiency  vs. Effectiveness

Efficiency Effectiveness

• relationship between the output in terms of goods, services or other results and the resources used to produce them

• relationship between the intended impact and the actual impact of an activity

32

Cost Value

Page 17: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 17

Earned‐Value System ?

33

“Spent‐Cost” System

34

Page 18: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 18

Invisible Features

1212

?

$10$15

$5

35

Invisible Features

• Architecture

• Infrastructure

• Common elements

• Libraries

• Reuse

36

Page 19: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 19

Features 

37

Dependencies

38

Page 20: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 20

Release Planning

• Time‐box = budget

• Fill the time‐box with a combination of visible and invisible features

• … while maximizing value

• Product manager: maximize value (green stuff)stuff)

• Project manager: maximize budget utilization

• Techie: maximize the fun stuff (yellow) ?

39

Units of Cost and Value

• Value in Dollars ?– Increases confusion value vs costIncreases confusion value vs. cost– Very hard to define

• Priority– High, medium, low– MoSCoW

• Relative index• Util

• Matches “points” for cost

43

Page 21: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 21

Utils & Points

• ValueM d i Util

• Cost ≈ effortM d i P i t– Measured in Utils – Measured in Points

∑ ∑Dev. $$$Rev. $$$

∑ ∑∑ points∑ utils

44

Bass et al 2003Rick Kazman, SEI

Research: Value “Flow down”

• Heuristics to allocate value to invisible featuresfeatures

• Assign value to visible features (utils)• “Borrow” value from visible features and allocate to invisible features, using dependencies

• Keep total value constant• Goal: using value and dependencies to sequence development

45

Page 22: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 22

Points (cost) and Utils (value)

47

Points (cost) and Utils (value)

49

Page 23: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 23

Points (cost) and Utils (value)

50

Points (cost) and Utils (value)

52

Page 24: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 24

Points (cost) and Utils (value)

53

Heuristics?

• Value of invisible feature = Max (value of all dependents)dependents)

• Value of invisible feature = Max + f(number of dependents)

• Value of invisible feature = total value achievable if implementing it – total value hi bl ith t i l ti itachievable without implementing it

• …(Not there yet)

54

Page 25: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 25

More on value & cost

• CBAM = Cost Benefit Analysis MethodChap 12 in Bass Clements Kazman 2003– Chap 12 in Bass, Clements, Kazman 2003

• IMF: Incremental Funding Method– Denne & Cleland‐Huang, 2004– Software by numbers

A l ti Hi h P (AHP) S t 1990• Analytic Hierarchy Process (AHP) Saaty, 1990• Evolve* ‐ Hybrid

– Günther Ruhe & D. Greer 2003, etc…

55

IMF: Incremental Funding Method

• MMF = Minimum Marketable Features

• AE = Architectural elements

• Cost

• MMF depends on AE

• Time and NPV = Net Present Value

• Strands = Sequences of dependent MMFs

• Heuristic

56

Page 26: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 26

What colour is your backlog? 

(so far)

57

Features 

58

Page 27: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 27

Visible &Invisible Features 

59

Estimation

• Cost estimation

• Work

• Estimate– Ideal case?

• Things go wrong

– Worse case?– Worse case?• ∑ all worse cases = impossible implementation

60

Page 28: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 28

Buffers

• E. Goldratt: Theory of constraints

• D. Anderson

• Buffer: unallocated effort (work)

• Shared by all staff members and all explicit work

61

Time‐box

62

Page 29: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 29

Time‐box with Buffer

63

Defects

• Defect = Feature with negative value

• Fix (defect) has a positive cost (work)

• Time/place of discovery– Inside development (in‐house, in process)

– Outside development (out‐house?) in a released product

64

Page 30: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 30

Buffer for in‐process defect

65

Defect Value

Perfect product Imperfect product Defect

66

Page 31: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 31

Fixing a Defect

• Defect have both value and cost

• Value of fixing a defect =  −Value of the defect

• Cost of fixing a defect (estimated)

• Defects have dependencies– Defect fix depend on invisible feature

– Visible feature depending on a fix

67

What colour is your backlog? 

(so far)

68

Page 32: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 32

Visible and Invisible Features 

69

Visible & Invisible Features + Defects fixing

70

Page 33: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 33

Technical Debt

• Concept introduced by Ward Cunningham• Concept introduced by Ward Cunningham

• Often mentioned, rarely studied

• All experienced SW developer “feel” it.

• Drag long‐lived projects and products down

71Cunningham, OOPSLA 1992

Technical Debt (S. McConnell)

• Implemented features (visible and invisible) = assets = non‐debtassets = non‐debt

• Type 1: unintentional, non‐strategic; poor design decisions, poor coding

• Type 2: intentional and strategic: optimize for the present, not for the future.– 2 A short‐term: paid off quickly (refactorings etc )– 2.A short‐term: paid off quickly (refactorings, etc.)

• Large chunks: easy to track• Many small bits: cannot track

– 2.B long‐term

72McConnell 2007

Page 34: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 34

Technical Debt (1)

12 $15 12 $16 12 $18

12

12

a

$15

$5

12

b

$16

$3

12 $18

$20 $19 $18

73

Technical Debt (2)

12 $15 12 $16 12 $18

12

12

a

$15

$5

12

b

$16

$3

12 $18

8 8 $5 8 $8 8 $10

$25 $27 $28

74

Page 35: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 35

Technical Debt (3)

12 +$212 $18

12

12

a

+$2

$5

12 $18

8 8 $5

$30

75

Technical Debt

• Defect = Visible feature with negative value

• Technical debt = Invisible “feature” with negative value

• Cost of fixing

• Value of repaying technical debt

76

Page 36: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 36

Interests

• In presence of technical debt• Cost of adding new feature higher• Cost of adding new feature higher

• When repaying (fixing), additional cost for retrofitting already implemented features

• Technical debt not repaid => lead to increased cost, forever

• Cost of fixing increases

77M. Fowler

Buffer for debt repayment

Estimate

Defect correction

DebtRepayment

Simple workEstimate uncertainties

78

Page 37: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 37

Colours in a Product

Visible Invisible

VisibleFeature

Hidden, architectural feature

Visible d f t

Technical D bt

PositiveValue

Negativedefect DebtValue

79

• YAGNI = You Ain’t Gonna Need It– But when you do, it is technical debt

– Technical debt often is the accumulation of too many YAGNI decisions

• Again the tension between the yellow stuff and the green stuff.g

80

Page 38: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 38

What colour is your backlog? 

(so far)

81

Visible & Invisible Features + Defects fixing+ Technical Debt payment

82

Page 39: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 39

Time and depreciation

Denne 200483

Net Present Value

84

Page 40: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 40

In which release?

R1 R2 R3 R4

8

Time85

Value decreases

R1 R2 R3 R4

8

Time86

8 7.5 7 6

Page 41: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 41

Technical debt: increase (?)

R1 R2 R3 R4

8

Time87

8 8.5 9 10

Tool support

• Strategic and tactical planning– Release and iteration (sprint) levelRelease and iteration (sprint) level

• Uses:– Value and cost– Dependencies– Depreciation

• Integrate concept of buffers• Graphical UI (hence the colors)• Add‐on to existing scrum supporting tool• Needed for experimentation and validation

88

Page 42: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 42

89

90

Page 43: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 43

91

92

Page 44: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 44

Constraints

• Use rules and heuristics to do an initial plan

• Force (move) elements from one time‐box to another

• Dependencies will “drag” things around

• Proceed similarly at both levels:R l l i– Release planning

– Sprint planning

93

Constraints (cont.)

• Dynamically re‐arrange with new informationC l t d l t– Completed elements

– Actual costs (buffer consumption)– New elements (in all colours)– New estimates– New dependencies – De‐scoping– Additional scope– Loss of resource

94

Page 45: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 45

95

Dilbert: XP & user story

96

Page 46: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 46

Summary of Research Questions

• Heuristic to allocate value to invisible features• Heuristics to define size of buffer in a time‐box• Heuristics to define size of buffer in a time‐box

1. For absorbing errors in estimations2. For defect correction3. For debt reduction

• Definition of the “value” of technical debt• Impact of time on unpaid technical debt• Visual paradigms (for tool)

• Use of surfaces (software team room)97

Supported by Scrum Alliance

Support from NSERC?

SurfNet Research

98

Page 47: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 47

Suggestions for project management

• Separate the processes for estimation of cost d land value

• Avoid monetary value (points & utils)

• Identify invisible features and make them more visible to more stakeholders

• Allocate value to invisible feature• Allocate value to invisible feature

• Use nominal and worse case estimates for cost (effort); create shared buffers

99

Suggestions (cont.)

• Make technical debt visible– Large chunks (McConnell type 2)

• Assign some value to technical debt type 2.B and include in backlog

• Allocate a buffer in a release time‐box for debt reduction for type 1 and 2 Areduction for type 1 and 2.A

• Allocate a buffer in an iteration (sprint) time‐box for type 1 (systematic refactorings)

100

Page 48: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 48

3 Kinds of Buffers

Estimate Defect 

correction

DebtRepayment

uncertainties

Straighforward work 101

Toward the 1st release

102

Page 49: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 49

A later release

103

Manage all colours in your backlog!

104

Page 50: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 50

Suggestions (cont.)

• Manage all work together, not in separate ilsilos: – new development, 

– architectural or infrastructure work, 

– defect fixing and 

– debt reduction.debt reduction.

• Single tool…?

105

106

Page 51: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 51

107

108

Page 52: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 52

109

110

Page 53: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 53

111

Architecture: Value and Cost

• Architecture has no (or little) externally visible “customer value”customer value

• Iteration planning (backlog) is driven solely by “customer value”

• YAGNI, BUFD, Metaphor…• “Last responsible moment!” & Refactor!E hit t l ti iti t i• Ergo: architectural activities are not given proper attention

• Ergo: large technical debts

113

Page 54: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 54

Role of Architecture

• Novel system• Gradual emergence of architecture• Gradual emergence of architecture• Validation of architecture with actual functionality

• Early enough to support development

Zipper model…• Not just BUFD• No YAGNI effect

114

Zipper: Weaving the functional and architectural work items

115

Page 55: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 55

Questions

Questions?

116

ReferencesAgile Alliance (2001) Manifesto for Agile Software Development. http://agilemanifesto.org/Bass, L., Clements, P., & Kazman, R. (2003). Software Architecture inBass, L., Clements, P., & Kazman, R. (2003). Software Architecture in Practice (2nd ed.). Reading, MA: Addison-Wesley.Beck, K., & Fowler, M. (2001). Planning Extreme Programming. Boston: Addison-Wesley.Boehm, B. and Lane, J.A. (2007) Using the incremental commitment model to integrate system acquisition, system engineering, and software engineering, University of Southern California, Los Angeles, September 2007.Boehm, B. & Ross, R. (1989) "Theory-W Software Project Management: Principles and Examples." IEEE Transactions on Software Engineering 15 (4) 902 916(4) 902-916. Cohn, M. (2006) Agile Estimating and Planning. Upper Saddle River, N.J.: Prentice-Hall.Denne, M., & Cleland-Huang, J. (2004). Software by Numbers: Low-Risk, High-Return Development, Prentice Hall.

117

Page 56: do we do next? Or: colour is your backlog?

Scrum Gathering March 17, 2009

Copyright © 2009 Philippe Kruchten 56

References (cont.)Denne, M., & Cleland-Huang, J. (2004). The Incremental Funding Method: Data-Driven Software Development IEEE Software, 21(3), 39-47.Karlsson, J. & Ryan, K. (1997). A Cost-Value Approach for PrioritizingKarlsson, J. & Ryan, K. (1997). A Cost Value Approach for Prioritizing Requirements, IEEE Software, 14 (5) 67-74. Kruchten, P. (2007). Voyage in the Agile Memeplex: Agility, Agilese, Agilitis, Agilology. ACM Queue, 5(5), 38-44.McConnell, S. (20087) Notes on Technical Debt,http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical‐debt‐2.aspxRuhe, G. and Ngo-The, A. (2004) Hybrid Intelligence in Software Release Planning. International Journal of Hybrid Intelligent Systems, 1, pp 99–110.Saaty, T. (1990). How to make a decision: The analytic hierarchy process. E j l f ti l h 48(1) 9 26European journal of operational research, 48(1), 9-26.Wiegers, K. (1999). First Things First: Prioritizing Requirements. Software Development Magazine, 7(9), 48-53.

118

Slides at philippe.kruchten.com/kruchten_backlog_colours.pdf

119