Skip to main content

Story Points estimation for Scrum with Fibonacci vs Shirt Sizes vs Linear - 7 minute guide


It is all began long time ago when Development Teams were constantly asked to provide estimate and they were having a hard time to properly face the task. Let's admit it, there are so many things that can change, happen, and simply go wrong during the development process that one can hardly expect a proper estimation of hours for each task. That why a relative estimation with Story Points came along.

Story Points Estimation
Its a different way to estimate the effort of the Scrum Development Team with-in Agile methodology, which means that instead of estimating hours of work the team estimates each effort relatively to other efforts in the project.
Let's assume that a developer knows that specific 'Task 1' is much harder than another 'Task 2' it is hard for him/her to quantify that harder feeling in hours of additional work but it is possible to say that it much more work. This situation is being address by Story Points when each story point is representing some arbitrary amount of effort and hence 2 points are representing twice the effort of 1 point and so on.

T-Shirt Sizes (S,M,L,XL....)
The most straight forward way to approach it, is of-course by saying for each task how hard it will be to accomplish it. Meaning how much effort it will take to bring it from idea state to deliverable increment. Is it a small effort then we assign it an 'S' is it a Large effort than an 'L' and so on. The  benefits here are obvious it is a quick and easy approach to provide estimation but the main issue here is the lack of proper relative proportions. Meaning who can say how much bigger 'L' compare to 'M', is twice more effort? Three times more? a bit more?

Linear Estimation (1,2,3,4,5......)
The approach here comes to fix the main concern with the T-Shirt size by giving each arbitrary amount of effort a a point and say: "This task will take  2 points effort and that task which seems to be twice as hard will take 4 points effort". Here we can easily see the benefits of  not only relative estimation but also the proportions of work are being taken into account, by looking on the estimation we can see how much more effort each task is compared to the other.

Fibonacci Estimation (1,2,3,5,8,13,21,34,55....)
The reality of the day-to-day work is that "the harder the task is, the more unexpected delays and compilations we might encounter", and with that understanding come the need to ask the development team to provide estimation in a non-linear fashion. People tend to say "This twice as hard" but in reality it might take more than twice of the effort, so to put the estimation activity in a proper mindset the Fibonacci sequence came along.
For those who don't know the Fibonacci sequence is when each next number is the sum of the two previous numbers in the sequence, which for our needs creates a unique situation when during the estimation you need to decide if the effort for the task is a bit more or more than a twice more than the other.
The main benefits of this approach is while keeping the relativity and proportional characteristics of the previous two it creates a proper road map for estimations of unknown complications in the work effort.

My recommendation for this type of estimation then is to go with Fibonacci sequence.



Comments

Popular posts from this blog

Proper QA estimation in Agile project

  Today, I want to chat about a common issue in Agile development – story point estimation. You see, it's easy to get caught up in estimating how long a feature will take to develop and forget about the crucial Quality Assurance (QA) effort.  It happens to often: your team is in the middle of sprint planning. New user stories are being discussed, and estimations are given, but there's a catch. You've estimated the development time perfectly, but you've barely even glanced at how much effort QA will take. Why? Agile talks about Development Team and you mistakenly thought that it is all about DEVELOPMENT. Sound familiar? Trust me; it's a more common scenario than you might think. So, what's the big deal? Well, when you leave QA effort out of the equation, several not-so-great things can happen: Vilocity can suffer: You might think you can squeeze more into a sprint than is humanly possible, setting your team up for disappointment and overcommitment. Quality can de

Performance testing vs Load testing vs Stress testing

Today I want to discuss a popular topic regarding a difference between Load and Performance testing. Those two types of testing are commonly used together but there are several key differences between the two. To get a better understanding of the topic lets have a real life example from one of my clients and use it to explain the difference. I have worked for a client that was building an in-house web application that provides its customers with an option to select and order different products and services. The request was, before the up-coming release, to test the performance of their product. We started the task by trying and understand what they expect from performance point of view and then went through an exercise of defining what is captured by what test. The client said that they are looking to have about 900-1300 active users on the site at a given moment, and the expected response time (for a page to load) should be less than 5 seconds. With those details what are the t

What is the velocity of an Agile scrum methodology?

Let's discuss some of the important measurements in Agile, and that is the Velocity of the Scrum team work. Based on Wikipedia definition Velocity is " ...the rate of change of its position with respect to a frame of reference and is a function of time...", which when transferred to the scrum world can be summarized as: The amount of work that the scrum team completed in a single measure of time - in a sprint. How we Calculate Velocity? Velocity is actually a very simple to calculate, it is done but totaling the number of story points of fully completed user stories from the sprint backlog. So if a current sprint included 4 user stories: 2 with 8 story points each, one with 3 story points and one with 32 story points. and by the end of the sprint the 32 one was not fully done the velocity calculation will be: 8+8+3=19 Note: the 32 story points are not part of the velocity calculation as this user story was not completed. What Velocity is used for? The v