Skip to main content

Myth 9: Story Points are Required in Scrum

December 18, 2017

Scrum is intended as a simple, yet sufficient framework for complex product delivery. Scrum is not a one-size-fits-all solution, a silver bullet or a complete methodology. Instead, Scrum provides the minimal boundaries within which teams can self-organize to solve a complex problem using an empirical approach. This simplicity is its greatest strength, but also the source of many misinterpretations and myths surrounding Scrum. In this series of posts we — your ‘mythbusters’ Christiaan Verwijs & Barry Overeem — will address the most common myths and misunderstandings. PS: The great visuals are by Thea Schukken. Check out the previous episodes here (1234 , 5678).

Myth: Story Points are Required in Scrum

Today we address the idea that work on the Product Backlog must be estimated in Story Points. The majority of the teams that we work with do this, and there really is nothing inherently wrong with it. The myth begins where people misunderstand the purpose of estimation in Scrum and Story Points become an end in themselves.

For those unfamiliar with Story Points; teams that use this technique estimate effort with relative estimates instead of time-based estimates (e.g. hours, days). This is usually done with a simplified version of the Fibonacci sequence (0, 1, 2, 3, 5, 8, 13, 20, etc). The numbers have no meaning in themselves, but only in relation to other items. So an item of 5 points takes roughly twice as much effort from the team as an item of 3 points, and so on. Several methods exist to estimate Story Points, including Planning Poker and Magic Estimation.

Although the use of Story Points is the most widely spread technique, we could easily generalize this post to include estimates in hours, ideal days or t-shirt sizes for that matter.

myth-9-work-is-estimated-in-story-points-1024x550.png

Busting the Myth

As with previous posts, let’s start with what the Scrum Guide says on estimation. Although it states that “work may be of varying size, or estimated effort”, it does not prescribe how this estimation should be done. Although Scrum Teams should apply some sort of ‘estimation’, there is no mention of Story Points, hours, ideal days, gut feeling, t-shirt sizes or any other unit for that matter. The Scrum Guide does remind us to use an approach that respects the complexity of software development and to not let estimation replace the importance of empiricism itself.

So we can easily bust this myth with the Scrum Guide alone. But a more thorough explanation helps to better understand why.

The Purpose of Estimation in Scrum

In plan-based approaches, estimates are used to arrive at budgets and to determine delivery dates. Supposing that the estimates are accurate, they provide us with a means to manage (financial) risks of spending either too much money or spending money on the wrong things.

The primary purpose of estimates in Scrum is to give Development Teams a rough sense of the amount of work they can pull into a Sprint. This requires a conversation between members; ‘What is involved?’, ‘How should it work?’ and ‘What work is needed?’. Although the Development Team commits to achieving the Sprint Goal, they do not commit to completing all this work within the Sprint. As even within a single Sprint, unexpected problems and insights are likely to emerge.

This underscores that the role of estimates is quite different in Scrum — and something that people coming from a plan-based perspective often struggle with. Scrum is built on the observation that software development is a very complex endeavor, making it impossible to arrive at accurate estimates. In complex environments, what will happen in the (near) future is largely unknown. New and better insights will emerge and unexpected problems surface as we work together to discover both the problem and the (most suitable) solution. Instead of relying on estimates to forecast and control what happens in the future, we should use the empirical process of Scrum to capitalize on change rather than control against it. As the Scrum Guide observes: “Only what has already happened may be used for forward-looking decision-making”.

“Use the empirical process of Scrum to capitalize on change rather than control against it.”

This provides us with four important insights with regard to estimates:

  • Accurate estimates are impossible, as even the most thorough, detailed technique can’t cover all scenarios, potential issues, insights that may emerge and external factors that influence our work. Let alone entirely unexpected events (called ‘Black Swans’);
  • An estimate can’t be a guarantee. “An estimate is simply a prediction based on known information and input at a given point in time” — Ilan Goldstein;
  • The time we spend on estimation is a form of waste. Estimates are inaccurate at best and the work we are estimating is likely to change dramatically as our understanding changes over time (or may even be dropped from the Product Backlog);
  • The estimates themselves are the result of a necessary conversation within the Development Team to arrive at a shared understanding.

Instead of spending a lot of time and effort on estimation, we’re better off spending that time on building valuable software and using the empirical process of Scrum to learn. The question now becomes; what method of estimation is ‘just-good-enough’ to help Development Teams select a do-able amount of work for a Sprint and getting a sense of what is needed, while requiring as little time and effort as possible.

Time-based estimates — hours, ideal days — are one option. A major disadvantage is that they tend to uphold the illusion of accuracy and predictability, and are often interpreted as such. Another disadvantage is that their illusion of accuracy often drives teams into ‘analysis paralysis’, where all details need to be discussed in-depth in order to arrive at a detailed estimate.

“Time-based estimates uphold the illusion of accuracy and predictability.”

This is why the use of relative estimation, in particular ‘Story Points’, was popularized by Extreme Programming. Relative estimates are not based on units of time, and avoid all pretense of detail and accuracy. But they can provide Development Teams with a guide on the amount of work they may be able to complete within a Sprint. Take this example:

Suppose a Development Team has been working together for 20 Sprints. The empirical process of Scrum has taught them that they can complete — on average — 35 points of work (their so-called velocity). Based on what has already happened, the Development Team has a rough sense of the amount of the work (about 35 Story Points) that they can pull into their next Sprint. Furthermore, this empirical data (~35 Story Points) can be used by the Product Owner to create a rough forecast for specific features or releases. If a Development Team can take on 35 Story Points of work per Sprint, and there are 350 Story Points of work on the Product Backlog, it would not be unreasonable to anticipate another 10 Sprints to complete the Product Backlog in its current state.

So Story Points are a lightweight approach to get a rough idea of how much work can be completed in a Sprint. It remains a rough indicator, however. But at least it is based on what has already happened and not on what we hope will happen. Estimation in hours or ideal days is certainly still an option, but teams need to be aware of their disadvantages.

Why Estimate At All?

If estimation is largely waste, it makes sense to ask: “Why even bother?”. This point is raised by the #NoEstimates-movement. They encourage to build small chunks of work incrementally, leading as rapidly as possible to a desired shippable product, without spending endless hours on trying to predict the future. We don’t want to go into a #NoEstimate debate here, but we do want to offer some alternatives to estimating individual items:

  • Use the number of items per Sprint as a guide to select a doable amount of work for a Sprint. For example, a Development Team may know from experience that they can complete between 6 and 8 items per Sprint. This requires that items are broken down to about equal size;
  • Use size buckets as a guide, where the Development Team classifies items in terms of size (e.g. large, medium, small). It may know from experience that it can complete 1 large item, 2–3 medium-sized items, and 4–6 small-sized items;
  • Simply use the combined gut feeling of the Development Team to determine if enough work was selected for the Sprint;

Although some of these approaches may complicate forecasting based on historical results, they are viable alternatives that fit well within the Scrum Framework and its purpose for estimation.

Probably the most important reason why we feel that estimation is useful is that it helps to focus the conversation within a Development Team on what is needed for a particular item. Having to arrive at some kind of estimate, often helps to trigger the right kind of discussions: “What is needed?”, “Can we find a simpler solution?”, “Have we considered X?”. Estimation is not so much about the estimates, but about the discussions that it triggers. It’s about having a conversation — ideally with the actual customer — and creating a shared understanding.

“Estimating is often helpful, estimates are often not.” — Esther Derby

Tips

  • Whatever you do in terms of estimation, make sure to do it with the entire Development Team. The process of estimation is not solely about the resulting number, but perhaps even more about the communication that takes place within the team to arrive at a shared understanding of the work involved. By pooling your expertise, creativity, and experience, you are more likely to identify potential issues or oversights;
  • Some teams want to stick to hour-based estimates because it feels ‘more real’ or easier to estimate for them. One approach is to create time buckets with increasing intervals (e.g. 1 hour, 2–3 hours, 3–5 hours, 5–8 hours). This communicates more clearly the growing uncertainty as a result of a higher estimate;
  • Explore different techniques and determine what works best for your Development Team, and requires as little effort and time as possible;
  • Don’t ask the customer what software you need to build. Instead, figure out what problem the customer wants to solve and determine how you’ll know when it is solved;
  • With software development “I don’t know” is a valid answer to questions like “how much will it cost” or “how long will it take”.

Closing

In this post, we busted the myth that Scrum requires work to be estimated in Story Points. Although it is a useful technique, and used by many Scrum Teams, it is by no means the only technique. We used this post to describe some alternatives and to explain why Story Points became prevalent. By doing so, we also explained how estimation fulfils a different role in Scrum than compared to plan-based approaches.

Above all, remember the quote by Esther Derby: “Estimating is often helpful, estimates are often not.” The more complex the activity at hand, the more important communication and collaboration gets.

“Respect the complexity of software development, and don’t let estimation replace the importance of empiricism itself.”

What do you think about this myth? Do you agree? What are your lessons learned?

Want to separate Scrum from the myths? Join our Professional Scrum Master or Scrum Master Advanced courses (in Dutch or English). We guarantee a unique, eye-opening experience that is 100% free of PowerPoint, highly interactive and serious-but-fun. Check out our public courses (Dutch) or contact us for in-house or English courses. Check out the previous episodes here (1234 , 5678).


What did you think about this post?

Comments (19)


Krishnakumar Chinnappachari
06:33 am December 19, 2017

Hi Barry, you truly busted this myth


David V. Corbin
01:01 am December 26, 2017

100% agreement on your coverage of the relationship between estimating and Scrum :)

That being said, I believe that much of your post focuses on aspects of estimating that are potentially problematic without looking at means of having accurate estimates.

One of the most common items I find is the people tend to try to estimate things that are too big (and are therefore estimating a fairly small sample size). If one estimates small items (and lots of them) then statistical measurement rather than individual measurement is the driving force.

I often mentor teams at an "internal level" ("let the team decide" - and they want coaching on the possible decisions and ramifications). When talking estimates, my general "rule" is that 50% of items estimated should be +/-50% of the estimated amount. That's right, less than 0.5x or more than 1.5x . However when one looks at an aggregate of say 100+ items, then +/-20% is pretty good, +/-15% is very good, +/-10% excellent. If the deviation is consistently within 5% then the probability is that people are "cooking the books".

On the topic of "Black Swans", they definitely exist. In my 40+ years in the field, I have encountered about a half-dozen of them. When they do occur, disruption of plans is a virtual certainty. However, focusing on an event which [in my experience] happens on average once per 7 years, rather than on that which occurs hourly/daily/weekly is probably sub-optimal.


Ryan Key
05:16 pm December 26, 2017

Estimation is a such a touchy topic in organizations. I've yet to see an entire organization agree on how things should be estimated and come to a shared understanding. Thanks for sharing Barry.


Rumman Amin
08:50 pm December 27, 2017

Great post Barry. Unfortunately, I think half the battle is convincing stakeholders of this!

I've worked in places where the team and the PM are all on the same page when it comes to estimation but stakeholders inevitably ask 'How long?' and 'What the hell are story points?!'


Scaap
10:20 am December 10, 2019

Don’t ask the customer what software you need to build. Instead, figure out what problem the customer wants to solve and determine how you’ll know when it is solved; > This one line is very interesting. Could you please build up a bit? It seems to me to be the exact opposite of Agility.


ktrbojevic
01:24 pm December 14, 2019

Great article Barry!

Regarding ‘Although the Development Team commits to achieving the Sprint Goal, they do not commit to completing all this work within the Sprint’.

But development team creates and owns sprint backlog, and they commit to finish the specific workload in the particular iteration. I would say that they commit to complete all work within the sprint.

And the whole point about estimates has been founded due to empiricism. Also, it would be interesting to decide which technique to choose while working with young teams, when you are in the phase of catching ‘an appropriate level’ of empiricism.


nihil sumnus
08:50 pm January 7, 2020

One small problem with this very ideological take on this esoteric philosophy - unless you are in an alternate reality, the code is not being done for the sake of coding, it is to solve a business problem. It is a tool to solve this problem. As such, there is not a business or customer out there (including yourself) that if you asked how much it would cost to buy a tool, that it would be satisfactory for the seller to say "I don't know", "I'll let you know later", or "it'll be done when we say so". Imagine if you went to order a pizza and when you ask how much and when will it be done they give you that answer. Are you likely to go back? Although hospitals can get away with that, not many other businesses can survive with that model. You cannot code in a vacuum, there has to be accountability to the organization that is giving you a paycheck. It is not unreasonable to expect there to be some sort of ability to forecast when, given no interruptions or unexpected occurrences, you can give a rough estimate of man-hours and delivery date. I realize this may go against the the pure definition, but just having a reality check.


mohamed chibani
07:54 pm May 12, 2020

I agree, in the real life we do need estimates to plan, request resources and make business proposal. The problem is when the estimates which are uncertain by nature, are used as commitments. Often the issues with estimates are not the estimates themselves but the interpretation each party is given them.


mohamed chibani
08:07 pm May 12, 2020

I can give you an example from my personal experience. The company I worked for provides SDK to build VOIP solutions. Many times, customers come to us with a detailed lists of requirements to support a new feature. Often, the requirements come from specifications (RFC, ITU standadard, ...) Sometimes, part of the requirements are just not needed because the never really get implemented in real product, and have little value. Sometimes, the real requirements are not even listed. We usually try to challenge the customers, and ask them to focus on describing their use cases instead of describing what to implement.


mohamed chibani
08:22 pm May 12, 2020

" If the deviation is consistently within 5% then the probability is that people are "cooking the books" ".

I could not agree more. have been arguing with my colleagues for ages. They insisted to measure the success of a sprint item using the variance of the estimate from the actual cost. Needless to say that often we were just get trapped by the Goodhart's Law (when a performance measure becomes a target)


Caner Tasan
04:24 pm June 8, 2020

What I understand from the sources of scrum and application experiences is that sprint backlog is pretty flexible where as sprint goal is where the commitment makes a sense. As long as the increment is in alignment with the sprint goal, some backlog items would be left unfinished/replaced with new items. This is due to the nature of empricism, where new experiences gained in a complex work increment would make a sprint backlog item obsolute.. Stay safe..


Saurabh Sharma
04:46 pm December 19, 2020

Making Pizza doesn't qualify as "complex" work. It can be estimated with fair confidence given the same process can be repeated again and again using mostly machines (read oven). While making software (or any other similar work) is pretty complex and can not be repeatitive talking same/similar amount of time every time. Hence the comparison is unfounded.

Regarding the estimates themselves it's ok to have estimates as long as people/organization accepts the fact that they are "estimates" and are bound to change as more is known about the work being estimated


Christian Viehmann
06:35 am April 8, 2021

Hi Barry,

I think there is a typo in the example numbers of the fibonacci sequence: instead of a 20, it should be a 21, right?


Mishelle Ilieva
03:25 pm February 25, 2022

"Use the empirical process of Scrum to capitalize on change rather than control against it."

Well said! Interesting article..


Jesus Espinoza
02:06 am March 24, 2022

Good!


Scott Silvester
06:05 am May 17, 2022

@christianviehmann:disqus, yes, 21 is the correct number for the proper Fibonacci sequence, however Barry is using the simplified version that is commonly used for estimating, i.e. 0, 1, 2, 3, 5, 8, 13, 20, 40,100.


Beata Nowakowska
10:28 am February 2, 2023

Great article. Love that sentence "The time we spend on estimation is a form of waste."


Philip
07:16 pm November 3, 2023

The Fibonacci sequence should be 0, 1, 2, 3, 5, 8, 13, 21, etc.


Josh Miekley
06:52 am December 3, 2023

Thank you Berry! Well-balanced and helpful