- 11 March 2021
- Posted by: Erkan Sarıkaya
- Category: AGILE
Summary: Explains why the Story Point (SP) concept is used instead of time (hours/days), and walks through estimation techniques such as the Fibonacci Series, Affinity Estimating, T-Shirt Sizing, CFP (COSMIC Function Points) and Velocity with examples.
How long will it take me to reach that village?
One day, while Nasreddin Hodja was working in his field, a young man passing by called out to him:
– Good day to you, sir! How long would it take me to get to such-and-such village?
The Hodja paid no attention and carried on working as if he hadn’t heard the question. The young man asked the same question again, louder this time. When the Hodja still ignored him, the man thought to himself, “Is this man deaf or what?” and shouted once more with all his might:
– Heeey, friend! I’m talking to you, can’t you hear me? I’m asking how long it takes to reach that village, give me an answer!…
When the Hodja still didn’t reply, the man thought, “This fellow is either deaf, or senile, or has some other problem,” gave up on the Hodja and started walking.
After he had walked a little way, he heard the Hodja call out from behind him:
– You’ll get there in exactly two hours.
Already annoyed at having asked three times without getting an answer, the man lost his temper and said:
– What kind of man are you? If you knew, why didn’t you just say so from the start!
The Hodja’s reply was that of a true sage:
– My son! I know perfectly well how far the village is, but without seeing how you walk, how could I possibly tell you how long it would take you to get there?…
These days, of course, we’re all swagger: “just drop me a pin, that’s enough.” 😉
Distance = Speed x Time (X = V x T)
The DISTANCE between Kurtköy and Ankara is a known 400 km. That doesn’t change much, but SPEED and TIME vary a great deal depending on the person, the vehicle used, and what happens to us along the way. As experience grows, our estimates mature. If we drove non-stop at an average of 90 km/h on the motorway, we’d probably make it in 4.5 hours.
The most constant of the variables in the formula is DISTANCE.
Yet what people want to know, without a second thought, is still TIME.
- – How long will it take me to get to that village?
- – When will you get here?
- – When will this work be done?
- – It has to be done by this date!
- – Deadline tonight!
This may well be the part Agile Teams have the hardest time getting used to (perhaps never do :)): assigning Story Points (SP) to user stories in Sprint/Iteration planning. Every metaphor gets tried: from comparing dog breeds to basketball teams, anything goes 😉
Still, there are even committees taking to the streets with “NO ESTIMATION” banners just to avoid assigning SPs 😉
Even Ron Jeffries, the man who came up with the SP concept, has regrets 😉
- – But there’s work, and then there’s work
- – Software work is complex; I can’t give you a reference point
- – Isn’t comparing tasks like comparing apples and oranges?
… objections like these come straight away. We still have TIME in our heads. The easy way out is obvious:
- – What does this work cost? How many man-days will it take?
- – 3 days, 5… 5… let’s say 5 days. I added 2 days of buffer too. Something always comes up.
- – If it’s 5 days, let’s call it 5 SP and move on. 😉
The straight answer: 1 DAY != 1 SP.
It’s true that we want to understand the size of software development work. That said, we are in a world far more complex and uncertain than a navigation calculation, with many parameters feeding into cost. (VUCA)
Do less, but do what matters; do the most valuable thing (MVP), make it simple, understandable and user-friendly, and if possible do it in less time. Are we asking for too much? 🙂
FIBONACCI SERIES
That’s why scientists and researchers, on their quest to understand cost, turned to nature: when you examine how a tree grows, how its trunk thickens, right down to its finest branches, or look at how a snail’s shell develops, the “Fibonacci Series” emerges. 1-2-3-5-8-13-21-…
Yes, you’ve spotted it. Each number in the sequence is the sum of the two before it.
Digging further into its roots, I got as far as “Information Theory”. I felt I was diving too deep. I stopped. 😉
The message in short: When a new piece of information enters a system, its cost is not linear. The cost grows in line with the Fibonacci series.
In other words, when a new request is added to an existing requirement, when someone wants to add a new feature or a CR (Change-Request) to the work, the cost does not grow linearly — think twice. 😉
Defining 1 SP
Good, so we’ve arrived at the SP reference definition, which is specific to each team.
We decide on this together with the team and make it clear. Simplicity is essential here too. You could define it like a formula by work type, but I don’t recommend it.
“IF <work type> then this is the SP definition, ELSIF <work type> then this is the SP definition” — the more you elaborate like this, the more it can wear you out, so be careful.
It’s enough to have a definition that is as simple and clear as possible, one that everyone on the team understands the moment they hear it.
Our suggestion for this: Describe the smallest unit of work that you do most often and deploy most often, and call that “1 SP”.
GIVE US AN EXAMPLE ALREADY!
E.g.: 1 SP = “Adding logging to a java application” ~ 10-20h
Let’s say this is our definition and a piece of work comes up in planning. As a team, you decide it is 3 SP.
And our value stream across the software lifecycle looks like this:
Refinement > Analysis > Development > Test > Prod
Let’s say 30 hours of effort were spent on 3 SP. Time passed, a similar piece of work came along, and good news: the test stage improved, and with automation you were able to move it along hands-free, with zero effort. So the work was done in 21 hours, a 9-hour improvement. Cycle Time shortened by 30%. You’re brilliant.
Question: So what happened to the SP? It used to be 3 SP. Should we now call it 2 SP?
Answer: No. SP doesn’t shrink just because effort went down. When you fly to Ankara in 1 hour instead of driving, the distance doesn’t get shorter. The size of the work is still 3 SP. As a team you made a KaiZen improvement and reduced the cost. So now you’ll finish more work, the total SP you complete will go up, and consequently your Velocity — your speed — will rise. Up to a point.
The distance is still the same distance; you just found a faster vehicle.
Sharper Estimation (AFFINITY ESTIMATING)
Once you start recording the SPs you assign using the Fibonacci Series in your “organizational memory”, as in the example below, making a new estimate will become easier and sharper. (sharpen your saw – “Affinity Estimating”)
Otherwise, SPs assigned from scratch in every planning session are, unfortunately, of little use. You may struggle with forward-looking estimation. You’ll miss out on what Sprint/Iteration cycles offer: revealing patterns and helping you understand your team’s capacity.
Sprint Planning > User story > SP estimation > 3 SP > Average duration of previously completed 3 SP items > Does it fit in the Sprint? > Sprint Backlog
This order matters. Notice that effort — the time spent — is a result, an output. It is not yet an input.
That’s why the first question should be “how many SP/CFP is this?” rather than “how long will it take?”. Consistency should be built up around a reference point.
We’ve seen estimation with SP. Of course, different techniques can be used too.
T-SHIRT SIZING
It’s possible to make sizing work easier by using T-Shirt Sizes, because it’s a reference everyone can understand.
Even with T-Shirt sizes, I’d like to draw attention to the SP ranges.
- Small –> 1-3 SP
- Medium –> 5-8 SP
- Large –> 13-20 SP
- XL –> 40+ SP
CFP (COSMIC FUNCTION POINTS)
An important approach to size measurement in software is CFP (COSMIC Function Points)
In fact, as you can see below, a study found that estimates made with CFP show less deviation than those made with SP. So using CFP may be more consistent and meaningful. In some companies, especially in “vendor contracting” arrangements, we come across contract models based on CFP.
VELOCITY (Speed)
The aim is to know yourself as a team. By recording how many SP we complete per Sprint/Iteration, we can understand our pace. (Velocity)
All we’re really after is being able to size the work waiting in the “backlog”, and to plan and forecast the future more sharply — to make a consistent estimate of when a project might be finished.
– What kind of man are you? If you knew, why didn’t you just say so from the start!
The Hodja’s reply was that of a true sage:
– My son! I know perfectly well how far the village is, but without seeing how you walk, how could I possibly tell you how long it would take you to get there?…
Erkan Sarıkaya
Enterprise Agile Coach
Frequently Asked Questions
How many hours is 1 Story Point?
Story Points do not map one-to-one to time (1 day ≠ 1 SP). SP expresses the size of the work, while the effort spent is an outcome. When the team improves its processes, work of the same SP may be completed in less time, but the size of the work (SP) does not change.
Why is the Fibonacci Series used in Story Point estimation?
Because the cost of new information (a feature/change) added to a system does not grow linearly but in a way that resembles the Fibonacci series, Fibonacci numbers (1, 2, 3, 5, 8…) are used in SP estimation.
In T-Shirt Sizing, how many SP do Small, Medium and Large correspond to?
Approximate ranges: Small 1-3 SP, Medium 5-8 SP, Large 13-20 SP, XL 40+ SP.
What is CFP (COSMIC Function Points)?
CFP is an approach used for size measurement in software; according to research, estimates made with CFP may show less deviation than those made with Story Points.
Related Posts
Author: Erkan Sarıkaya — Enterprise Agile Coach, founder of GONEX. He writes on enterprise agile transformation, Scrum and agile leadership coaching. You can learn more on the About Us page and read his other posts.








