Story Points Considered Harmful Or why the future of estimation is really in our past... OOP 2012, Munich All pictures ava...
Vasco Duarte @duarte_vasco http://bit.ly/vasco_blog Joseph Pelrine @josephpelrine www.metaprog.com/blogs
 
Tell me again: why did we move here?
 
 
 
 
</intro> <talk>
 
The Flat Earth Society (also known as the International Flat Earth Society or the International Flat Earth Research Societ...
Expert estimation Consensus estimation Function Point Analysis COCOMO SDM
Precognition [pree-kog-nish-uhn] pre·cog·ni·tion    [pree-kog-nish-uhn] <ul><li>knowledge of a future event or situation, ...
(Hindsight is always twenty-twenty) -Anonymous (the other one!) Life Can only be understood backwards, but it must be live...
 
GREEN
To be or not to be complex! That is the question!
 
Looking for an alternative...
<ul><li>Q1 : Is there sufficient difference between what Story Points and ’number of items’ measure to say that they don’t...
Data summary <ul><li>Nine (9) data sets </li></ul><ul><li>I was not a stakeholder or had any role in any of these projects...
The Data Correlation: 0,755 Team A / Company N Team HC / Company N Correlation (w/out) normalization: 0,83 Correlation (w/...
The Data Team HCM / Company N Correlation (w/out normalization): 0,88 Correlation = 0,86 Team A / Company JO Correlation: ...
The Data <ul><li>What does this mean: </li></ul><ul><ul><li>Q1: With so high correlation it is likely that both metrics re...
We should analyse the claims that justify Story Points...
<ul><li>Claim 1: allows us to change our mind whenever we have new information about a story </li></ul><ul><li>Claim 2: wo...
Claim 1: allows us to change our mind whenever we have new information about a story <ul><li>No explanation about what thi...
Claim 2: works for both epics and smaller stories <ul><li>Allowing for large estimates for items in the backlog does help ...
Story Points Hours
Claim 3: doesn’t take a lot of time <ul><li>Not my experience. Although some progress has been done by people like Ken Pow...
Claim 4: provides useful information about our progress and the work remaining <ul><li>This claim holds if, and only if yo...
<ul><li>The example you are about to see is a real life example. One where the data collected made a big impact on an impo...
Sprint x Evolution of velocity Start of pilot/beta Release date Start of pilot/beta Actual progress trend What progress tr...
Sprint x + 1
The Velocity Bet Their history stated the following velocity evolution in the last 3 sprints: 1  8  8 They were learning t...
Sprint x + 2 They did 10 items. A 20% increase in velocity.
Finally...
We release Stories/Backlog items, not story points...
The Number of Items technique in a nutshell <ul><li>When doing Backlog Grooming or Sprint Planning just ask: can this Stor...
Why it works <ul><li>By continuously harmonizing the size fo the Stories/Epics you are creating a distribution of the size...
<ul><li>Assuming a normal distribution of the size of the stories means that you can assume that for the purposes of looki...
Vasco Duarte @duarte_vasco http://bit.ly/vasco_blog Joseph Pelrine @josephpelrine http://metaprog.com/blogs
Upcoming SlideShare
Loading in...5
×

Story Points considered harmful – a new look at estimation techniques

1,468
-1

Published on

Story Points are the typical estimation unit for Agile Teams. But do they really work, or are there better ways to estimate? In this talk, we‘ll look at the problem of estimating, as well as empirical data questioning the validity of story points, and we‘ll explore new techniques, based on cognitive psychology, chronobiology, and good old common sense, that will immediately help your teams estimate more accurately.

Published in: Technology, Education
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,468
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide
  • Blog:185 on 18.01.2012 Slideshare: 48 on 18.01.2012
  • I used to live in a warm, sunny place: Portugal but…
  • … for some reason (which I don’t understand yet) I decided to move to Finalnd :O)
  • Galileo started by asking questions about what he saw...
  • Just like we should...
  • We’ve all been exposed to various estimation techniques. Just quickly: can you name a few? Expert estimation Consensus estimation Other complex estimation techniques like: Gantt, PERT, Function Point Analysis. Then we have cost vs time with cost techniques like: COCOMO, SDM, etc. And of course, the topic for today: Story Point Estimation. What do all of these have in common? They all look at the future. Why is this important?
  • Because looking at the future is always difficult. We humans are very good at anticipating immediate events in the physical world, but in the software world what we estimate is neither immediate, nor does it follow any physical laws that we intuitively understand! The indisputed fact is that we, humans are very bad at predicting the future. But that is not all! Lately and especially in the agile field we have been finding a new field of study: Complexity Sciences.
  • Retrospective Coherence... Fibonnaci series as an example of this
  • A field of study that tries to identify rules that help us navigate a world where even causality (cause and effect) are challenged. An example may be what you may have heard of: the Butterfly effect... Complexity Sciences are helping us develop our own understanding of software development based on the theories developed in the last few years. Scrum being a perfect example of a method that has used complexity to inspire and justify its approach to many of the common problems we face in Software development. Scrum has used self-organization, and ”emergence” as concepts in explaining why it’s approach works. However, there’s a catch.
  • What do you think of when you read this word? This is just a simple example of something that Complexity Sciences explore. In a complex environment we don’t have discernable causality! Some times this is due to delayed effects from our actions, most often it is so that we attribute causality to events in the past when in fact no cause-effect relationship exists (restrospective coherence). But, in the field of estimation this manifests itself in a different way. In order for us to be able to estimate we need to assume that causality exists (if I ask Tom for the code review, then Helen will be happy with my pro-activeness and give me a bonus). The fact is that in a complex environment, this basic assumption that we can assume causality is not valid! Without causality, the very basic assumption that justifies estimation falls flat! Cognitive ping-pong to re-inforce the ”complexity” point.
  • So, which is it? Do we have a complex environment in software development or not? If we do then we cannot at the same time argue for estimation (and build a whole religion on it)! And, if we are not in a complex environment we cannot then claim that Scrum, with it’s focus on solving a problem in the complex domain, can work! So then, the question for us is: Can this Story Point based estimation be so important to the point that its creator now claims exhorbitant amounts of money to teach you what either does not work, of fully invalidates the method (scrum) which he will also happily sell you? Luckily we have a simple alternative that allows for the existence of a complex environment and solves the same problems that Story Points were designed (but failed to) solve.
  • Not everything scales Not everything scales equally Not everything scales linearly
  • The alternative to Story Point estimation is simple: Just count the number of Stories you have completed (done) in the previous iterations. They are the best indicator of future performance! Then use that information to project future progress. Basically, the best predictor of the future is your past performance! Can it really be that simple? To test this approach I looked at data from different projects and tried to answer a few simple questions
  • Here are the questions that I started with...
  • Exchange rate – how people transform SP’s into time (real – understandable)
  • Shelf-life and how long term estimates don’t work
  • This was a very important project for this company. They were suffering pressure in a market segment that was very important for the revenues, and they needed a good product with lots of features… Here’s how you should read this graph, let me go slow to make sure you all understand this…
  • Let’s quickly survey the room. How many items did that team complete in the third Sprint ? Why?
  • The final question is really: why do we really estimate stories in Story Points and have built an entire religion with ceremonies, sacrifices, priests and a pope of Story Point estimation? The fact is that we don’t release Story Points! When all is said and done the question that me or you as a customer will be interested in answering is: does this product have the ”story” that I am interested in?
  • Blog:185 on 18.01.2012 Slideshare: 48 on 18.01.2012
  • Story Points considered harmful – a new look at estimation techniques

    1. 1. Story Points Considered Harmful Or why the future of estimation is really in our past... OOP 2012, Munich All pictures available on
    2. 2. Vasco Duarte @duarte_vasco http://bit.ly/vasco_blog Joseph Pelrine @josephpelrine www.metaprog.com/blogs
    3. 4. Tell me again: why did we move here?
    4. 9. </intro> <talk>
    5. 11. The Flat Earth Society (also known as the International Flat Earth Society or the International Flat Earth Research Society) is an organization that seeks to further the belief that the Earth is flat instead of an oblate spheroid More at : http://theflatearthsociety.org
    6. 12. Expert estimation Consensus estimation Function Point Analysis COCOMO SDM
    7. 13. Precognition [pree-kog-nish-uhn] pre·cog·ni·tion    [pree-kog-nish-uhn] <ul><li>knowledge of a future event or situation, especially through extrasensory means. </li></ul>
    8. 14. (Hindsight is always twenty-twenty) -Anonymous (the other one!) Life Can only be understood backwards, but it must be lived forwards… - Soren Kierkegaard
    9. 16. GREEN
    10. 17. To be or not to be complex! That is the question!
    11. 19. Looking for an alternative...
    12. 20. <ul><li>Q1 : Is there sufficient difference between what Story Points and ’number of items’ measure to say that they don’t measure the same thing? </li></ul><ul><li>Q2 : Which one of the two metrics is more stable? And what does that mean? </li></ul><ul><li>Q3 : Are both metrics close enough so that measuring one (# of items) is equivalent to measuring the other (Story Points)? </li></ul>
    13. 21. Data summary <ul><li>Nine (9) data sets </li></ul><ul><li>I was not a stakeholder or had any role in any of these projects </li></ul><ul><li>Data came from different companies and different sized teams </li></ul>
    14. 22. The Data Correlation: 0,755 Team A / Company N Team HC / Company N Correlation (w/out) normalization: 0,83 Correlation (w/out normalization): 0,92 Team CB / Company N Team CF / Company N Correlation: 0,51 (0,71 without the spr14) !!
    15. 23. The Data Team HCM / Company N Correlation (w/out normalization): 0,88 Correlation = 0,86 Team A / Company JO Correlation: 0,70 Team 2 / Company RF Correlation: 0,75 Team 1 / Company RF
    16. 24. The Data <ul><li>What does this mean: </li></ul><ul><ul><li>Q1: With so high correlation it is likely that both metrics represent a signal of the same underlying information. </li></ul></ul><ul><ul><li>Q2: The normalized data has similar value of Standard Variation (equaly stable). No significant difference in stability </li></ul></ul><ul><ul><li>Q3: They seem to measure the same thing so... </li></ul></ul>Team AT / Company AT Correlation: 0,75
    17. 25. We should analyse the claims that justify Story Points...
    18. 26. <ul><li>Claim 1: allows us to change our mind whenever we have new information about a story </li></ul><ul><li>Claim 2: works for both epics and smaller stories </li></ul><ul><li>Claim 3: doesn’t take a lot of time </li></ul><ul><li>Claim 4: provides useful information about our progress and the work remaining </li></ul><ul><li>Claim 5: is tolerant of imprecision in the estimates </li></ul><ul><li>Claim 6: can be used to plan releases </li></ul><ul><li>Source: Mike Cohn, User Stories Applied, page 87 </li></ul>
    19. 27. Claim 1: allows us to change our mind whenever we have new information about a story <ul><li>No explanation about what this means in the User Stories Applied book </li></ul><ul><li>Measuring completed number of items allows for immediate visibility of the impact of the new items in the progress (project burndown) </li></ul>
    20. 28. Claim 2: works for both epics and smaller stories <ul><li>Allowing for large estimates for items in the backlog does help to account for the impact of very large items by adding uncertainty. </li></ul><ul><li>The same uncertainty exists in any way we may use to measure progress. The fact is that we don’t really know if an Epic (say 100 SPs) is really equivalent to a similar size aggregate of User Stories (say 100 times 1 SP story). Conclusion: there is no significant added information by classifying a story in a 100 SP category. </li></ul>
    21. 29. Story Points Hours
    22. 30. Claim 3: doesn’t take a lot of time <ul><li>Not my experience. Although some progress has been done by people like Ken Power (at Cisco) with the Silent Grouping technique , the fact that we need such technique should dispute any idea that estimating in SP’s ”doesn’t take a lot of time” </li></ul>Silent Grouping technique: http://slidesha.re/AgileKonstanz_silentgrouping
    23. 31. Claim 4: provides useful information about our progress and the work remaining <ul><li>This claim holds if, and only if you have estimated all of your stories. Even the stories that will only be developed a few months or even a year later (for long project). This approach is not very efficient (Claim 3). </li></ul><ul><li>Basing your progress assessment on the Number of Items completed in each Sprint is faster to calculate (# of items in the PBL / velocity per Sprint = number of Sprints left) and can be used to provide critical information about project progress. Example : </li></ul>
    24. 32. <ul><li>The example you are about to see is a real life example. One where the data collected made a big impact on an important business decision. </li></ul><ul><li>The names have been changed to protect the innocent... </li></ul>
    25. 33. Sprint x Evolution of velocity Start of pilot/beta Release date Start of pilot/beta Actual progress trend What progress trend should be What progress trend should be
    26. 34. Sprint x + 1
    27. 35. The Velocity Bet Their history stated the following velocity evolution in the last 3 sprints: 1 8 8 They were learning the product and area in the first few sprints, which allowed for a ”getting-up-to-speed” assumption. Additionally they had committed to 15 items in the Sprint planning meeting. The product Owner stated that the R&D team would start doing 15 items per sprint (which would help them meet the goal of releasing the pilot and the release on time.) What was the result after the sprint?
    28. 36. Sprint x + 2 They did 10 items. A 20% increase in velocity.
    29. 37. Finally...
    30. 38. We release Stories/Backlog items, not story points...
    31. 39. The Number of Items technique in a nutshell <ul><li>When doing Backlog Grooming or Sprint Planning just ask: can this Story be completed in a Sprint by one person? If not, break the story down! </li></ul><ul><li>For large projects use a further level of abstraction: Stories fit into Sprints, therefore Epics fit into meta-Sprints (for example: meta-Sprint = 4 Sprints) </li></ul>
    32. 40. Why it works <ul><li>By continuously harmonizing the size fo the Stories/Epics you are creating a distribution of the sizes around the median: </li></ul>
    33. 41. <ul><li>Assuming a normal distribution of the size of the stories means that you can assume that for the purposes of looking at the long term estimation/progress of the project, you can assume that all stories are the same size , and can therefore measure progress by measuring the number of items completed per Sprint . </li></ul>
    34. 42. Vasco Duarte @duarte_vasco http://bit.ly/vasco_blog Joseph Pelrine @josephpelrine http://metaprog.com/blogs
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×