Agile estimations and Planning Cornel FATULESCU agile coach

  • Slides: 41
Download presentation
Agile estimations and Planning Cornel FATULESCU agile coach

Agile estimations and Planning Cornel FATULESCU agile coach

Did It Ever Happen to You? • • • Who the. . . made

Did It Ever Happen to You? • • • Who the. . . made this estimation? Sorry it will take me than … hours! I hope we’ll deliver tomorrow. I can’t tell you how much time it will take! We don’t have time for testing … 2

Usual solution e v ti a n r e t l a n n!

Usual solution e v ti a n r e t l a n n! a r o i o t f u l e o s m i T 3

Classical IT services supplier scenario Some knowledge might be lost Basic knowledge Product Vision

Classical IT services supplier scenario Some knowledge might be lost Basic knowledge Product Vision Goals Initial Backlog Some experts Sales Capitalize Release RFP Problem 1 Planning Knowledge. How to estimate Start-up features? Do. R Do. D Grooming sessions Ongoing project Estimations Initial Release Problem 2 Planning How to plan? Some members of newly created team The team 4

How to estimate features ? • What does the team need for each feature

How to estimate features ? • What does the team need for each feature in order to increment it? Definition of Ready • How features become part of the increment? Definition of Done • Estimate the features! Relative Estimations 5

Feature metamorphosis flow! Suggestion Assumed Estimated Ready In Progress Pre. Production Done 6

Feature metamorphosis flow! Suggestion Assumed Estimated Ready In Progress Pre. Production Done 6

Release Planning End of Release Feature metamorphosis flow! … … ? ? … ?

Release Planning End of Release Feature metamorphosis flow! … … ? ? … ? … … ? … Suggestion Assumed … … Estimated … Ready In Progress … … Pre. Production … … … Production Done … … … 7

Sample of Definition of Ready for a feature Story clarified Scrum Team accepts the

Sample of Definition of Ready for a feature Story clarified Scrum Team accepts the story Tasks identified Responsible for acceptance Story estimated User story complies INVEST rules Acceptance criteria … Clear dependencies 8

Sample of Definition of Done for a feature Design complete Continuous build Development complete

Sample of Definition of Done for a feature Design complete Continuous build Development complete Tests Code commented Documentation Done Static code quality analysis Unit testing is done Peer reviews Jira is updated Code Refactoring Story is accepted Code checkin 9

Why relative estimations? Product Owner: How long it will take to deliver feature A?

Why relative estimations? Product Owner: How long it will take to deliver feature A? • 1 st team member : 3 Days • Both estimations might be right! • 2 nd team member: 6 Days 10

Why relative estimations? Product Owner: How long it will take Compared to feature B

Why relative estimations? Product Owner: How long it will take Compared to feature B we’ve done the last time? • 1 st team member : 3 times more • • more 2 nd team member: I agree, 3 times 11

Measure the size, calculate the time • 12

Measure the size, calculate the time • 12

Measure the size, calculate the time • http: //www. mountaingoatsoftware. com/blog/its-effort-not-complexity 13

Measure the size, calculate the time • http: //www. mountaingoatsoftware. com/blog/its-effort-not-complexity 13

It’s effort, not complexity “In a class a few years back, I was given

It’s effort, not complexity “In a class a few years back, I was given a wonderful example of this. Suppose a team consists of a little kid and a brain surgeon. Their product backlog includes two items: lick 1, 000 stamps and perform a simple brain surgery–snip and done. These items are chosen to presumably take the same amount of time. If you disagree, simply adjust the number of stamps in the example. Despite their vastly different complexities, the two items should be given the same number of story points–each is expected to take the same amount of time. ” -Mike Cohn http: //www. mountaingoatsoftware. com/blog/its-effort-not-complexity 14

Visualize the estimations To estimate Feature 2 Feature 5 Feature 6 Feature 7 Feature

Visualize the estimations To estimate Feature 2 Feature 5 Feature 6 Feature 7 Feature 8 1 SP 35 SPs 3 SPs 5 SPs Feature 10 Feature 13 8 SPs Feature 1 Feature 43 Feature 32 Feature 22 Feature 4 Feature 21 Feature 88 Feature 15 6 SPs 10 SPs Feature 18 Feature 9 Feature 11 2 SPs Feature 23 5 SPs 6 SPs 8 SPs 15

How to plan? Release Planning Process Our concern? Sprint Do. R, Do. D Release

How to plan? Release Planning Process Our concern? Sprint Do. R, Do. D Release Do. R, Do. D 16

What is release planning? • It is a process not an event! Release Planning

What is release planning? • It is a process not an event! Release Planning at project start -up Usually more effort needed than in a sprint Sprint 1 Sprint 2 In Scrum no more than 10% of the Sprint 3 Through Grooming Sessions 17

Sample of Definition of Ready for a sprint Sprint goal The Sprint Backlog is

Sample of Definition of Ready for a sprint Sprint goal The Sprint Backlog is prioritized No hidden work Calculated capacity Team accepted the Sprint Backlog All stories meet definition of ready List of stories for regression testing 18

Sample of Definition of Done for a sprint Release Build Functional testing done Regression

Sample of Definition of Done for a sprint Release Build Functional testing done Regression testing done Acceptance testing done by the Product Owner Closure 19

Sprint Context Team size Focus factor Sprint size Calendar days Velocity 6 People 70%

Sprint Context Team size Focus factor Sprint size Calendar days Velocity 6 People 70% 2 weeks 10 Days 16 SPs 20

Estimate 1 SP • Estimate in hours several features – Ex: Feature 1 •

Estimate 1 SP • Estimate in hours several features – Ex: Feature 1 • Estimated initially at 3 SPs • Estimated in man days at 6 days • =>1 SP = 2 days • Ask the team directly how they evaluate 1 SP? • Experience and measure 21

Calculate Sprints Velocity Team size Focus Factor Sprint Size Calendar Days 1 SP? 6

Calculate Sprints Velocity Team size Focus Factor Sprint Size Calendar Days 1 SP? 6 70% 2 weeks 10 Days 1. 5 Man Days Sprint 1 Sprint 2 Sprint 3 Person days in sprint = calendar days * team size 60 60 60 Ideal person days in sprint = person days in sprint * focus factor 42 42 42 Sprint ideal man days 1 st sprint = (1 -40%) * ideal person days 2 nd sprint = (1 -20%) * ideal person days 3 rd sprint = ideal person days 25 33 42 Velocity = Sprint ideal man days/1 SP 16 22 28 22

Simulate sprints Backlog Sprint 1 Sprint 2 Sprint 3 5 SPs 3 SPs 1

Simulate sprints Backlog Sprint 1 Sprint 2 Sprint 3 5 SPs 3 SPs 1 SP 8 SPs 13 SPs 1 SP 2 SP 1 SP … 3 SPs 5 SPs 2 SPs 5 SPs 1 SPs 2 SPs 1 st Sprint Velocity 16 SPs 2 nd Sprint Velocity 22 SPs 5 SPs 1 SP 5 SPs 2 SPs 5 SPs 2 nd Sprint Velocity 28 SPs 23

Measure and re-estimate 1 SP? • Ex: 1 st sprint estimated at 16 SPs

Measure and re-estimate 1 SP? • Ex: 1 st sprint estimated at 16 SPs velocity – After execution we deliver 12 SPs – Do reverse calculations from the previous slides Sprint 1 Sprint 2 Sprint 3 1 SP? Before starting 1 st Sprint 16 22 28 1. 5 After 1 st Sprint 12 16 21 2 After 2 nd Sprint 12 16 21 2 24

Criteria for ordering the backlog • 1 st The risk which the story should

Criteria for ordering the backlog • 1 st The risk which the story should diminish • 2 nd The uncertainty on client needs which the story should reduce • 3 rd The contribution to the product quality • 4 th The dependencies between stories • 5 th The utility of a story, based on business value, ROI, costs…. 25

Dealing with uncertainty Demo inspired from http: //blog. bobcravens. com/2011/05/4 principles-to-estimation-applied-to-softwaredevelopment/ 26

Dealing with uncertainty Demo inspired from http: //blog. bobcravens. com/2011/05/4 principles-to-estimation-applied-to-softwaredevelopment/ 26

Estimate how long will the walking take?

Estimate how long will the walking take?

Walking from Iasi to Bucharest • Distance Iasi – Bucharest = 417 km •

Walking from Iasi to Bucharest • Distance Iasi – Bucharest = 417 km • Average walking velocity = 5. 0 (km/h) – http: //en. wikipedia. org/wiki/Walking • We estimate walking 8 hours per day • ~ 10. 5 days of walking from Iasi to Bucharest 28

Walking from Iasi to Bucharest • Initial uncertainty is probably in hours or days

Walking from Iasi to Bucharest • Initial uncertainty is probably in hours or days 29

We walk from Iasi to Roman

We walk from Iasi to Roman

Walking from Iasi to Bucharest • • Distance Iasi – Roman = ~86 km

Walking from Iasi to Bucharest • • Distance Iasi – Roman = ~86 km Real walking velocity = 4. 0 (km/h) We’ve walked 6 hours per day ~ 3. 6 days of walking from Iasi to Roman 31

Estimate from Roman to Bucharest?

Estimate from Roman to Bucharest?

Walking from Roman to Bucharest Distance Roman – Bucharest = ~331 km Estimated walking

Walking from Roman to Bucharest Distance Roman – Bucharest = ~331 km Estimated walking velocity = 4. 0 (km/h) Estimated walking hours per day = 6 ~ 14. 8 days of walking from Roman to Bucharest • Initial cycle time = 10. 5 days of walking • Total cycle time = 18. 4 days of walking • • 33

Burn-down chart Iasi-Bucharest 34

Burn-down chart Iasi-Bucharest 34

What about agile planning poker? • The most common estimation method known in the

What about agile planning poker? • The most common estimation method known in the agile community • The interest is in the discussions 35

What about agile planning poker? • The most common estimation method known in the

What about agile planning poker? • The most common estimation method known in the agile community • The interest is in the discussions 36

Estimation issues hide higher problems! 60 50 40 30 RAF Ideal RAF 20 10

Estimation issues hide higher problems! 60 50 40 30 RAF Ideal RAF 20 10 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8 D 9 D 10 -10 37

Sprint Backlog st 1 Story nd 2 Story rd 3 Story th 4 Story

Sprint Backlog st 1 Story nd 2 Story rd 3 Story th 4 Story th 5 Story 13 13 8 8 13 38

Observed issues • • • Just technical stories/no user stories Stories didn’t correspond to

Observed issues • • • Just technical stories/no user stories Stories didn’t correspond to INVEST criteria Waterfall approach in iterations Lack of Definition of Ready Definition of Done was not respected … 39

Start from the need of information • Clients want to know when it will

Start from the need of information • Clients want to know when it will be ready, the budget… – Ex: Continuous pulling systems like Kanban =>use average Cycle Time instead • TODO in another knowledge sharing session! 40

Planning is Everything. Plans are Nothing. - Helmuth von Moltke Cornel FATULESCU agile coach

Planning is Everything. Plans are Nothing. - Helmuth von Moltke Cornel FATULESCU agile coach