Skip to content

The significance of Story points

March 20, 2009 by Jack Milunsky

Expecting your teams to estimate in Story Points can be quite a leap of faith. When I first introduced the concept of Story Points at my previous company no-one could wrap their heads around the concept. When it comes to estimating, we’re so accustomed to thinking in days or hours that making the leap to some obscure, seemingly illogical measurement is quite the expectation – especially a bunch of engineers.

Getting used to it
Once you start using Story Points, it usually only takes a couple of sprints before teams start to understand the magic in this new practice. Many companies I talk to, who have adopted Agile, generally practice a modified Scrum/XP process. Many do not estimate in story points and from my point of view, this is a big mistake. In my opinion, Story Points are the fuel for the Agile machine. If you get the Story Point estimation working well, the rest of the Agile/Scrum process is a breeze.

So what makes Story point estimation so important, so good…

Since this topic is near and dear to my heart, I have lots to say. So in an effort to keep this blog post short, I will present only the first 3 most important aspects of story points this week.

1. Universal measurement
It’s the only mechanism that I know of for universally, determining the size of a user story. What I mean by this is that it’s the same measurement for any member on the team. In other words, if you rate a user story as a 5 story pointer; whether a senior developer or a junior developer on the team is implementing it, it’s still a 5 story pointer. The reason is that this is the relative size of this task compared to other tasks estimated by the same team – it has nothing to do with who is implementing it and how long it's going to take. If on the other hand, you rather choose to estimate in hours or days, it might be a 2 day task for a Senior developer and a 1 week task for a junior developer. Once the team has had some experience with estimating this way, Story Point estimation becomes quite accurate and can be done very quickly in comparison with traditional estimating techniques.

2. Steady state
The real magic in Story Point estimation is when a team reaches what I call their steady state velocity. Generally this happens after 3 –5th sprint. Assuming all your Sprints are of the same duration (which I highly recommend – subject for another blog), then if the team is averaging lets say 40 story points per sprint then that represents their velocity, no ifs ands or buts. What’s great about this is that scheduling future sprints becomes a no brainer. i.e. the Product Owner get’s to fill the tank with, in this example 40 Story Points, nothing more, nothing less. As a result no unrealistic expectations are placed on the team and since the team is generally able to deliver 40 Story Points per sprint (because they’ve done this before already), the team is setup to succeed rather than fail.

3. In the zone
Story point estimating helps teams reach a sustainable pace. And hitting your targets sprint after sprint is an incredibly powerful and wonderful thing. The team feels really good about their abilities and this encourages them to do better. The business starts to believe in the team and this sets the team up in Zone. When you get into the Zone, the team can generally sustain it’s steady state velocity month after month without burning out. And better yet, they get to enjoy doing it.

If you’re not estimating in story points, start now. You won’t look back!

















About the Author: As COO and Scrum Master, Jack Milunsky heads software development at Brightspark. Jack is an early adopter of Scrum and has a great passion for early stage startups. Jack is co-creator of Agilebuddy, a next generation Scrum Application SaaS. Jack combines over 18 years of experience managing software development teams both large and small. You can follow Jack for great tips on Agile at http://twitter.com/agilebuddy

Comments

great post i would say that

March 20, 2009 by scot mcphee (not verified), 46 weeks 4 days ago
Comment id: 2395

great post

i would say that varying sprint length is not only "not recommended" but an absolute no-no, i.e. if you vary sprint length, you're just not "doing agile".

i'd probably also extend that to the concept of story points, only of course, it's accepted by the wider community to use ideal-hours as well. however, that method still blows.

My experience has been that

March 20, 2009 by Dada Mungo (not verified), 46 weeks 4 days ago
Comment id: 2396

My experience has been that holidays and other immovable events sometimes impact the duration of sprints, without negative impact, but yes, it should be the exception and not the norm.

Furthermore, allowing sprints to be of different lengths tends to invalidate sprint velocity, i.e. velocity means nothing if the unit (sprint length) from which it is derived (indirectly) is varying.

Allowing teams room to bed down and find their optimal sprint length I think is important. I have had a team that moved from two-week to three-week sprints because they felt that they could be more productive that way (e.g. less overhead from the planning and review meetings). However, once the team has found their optimal pace for sustainable productivity, it should be locked in and not touched unless absolutely necessary (see first comment above).

Inspect and adapt. Inspect and adapt. Inspect and adapt....

Create a good Story Point Scale

March 20, 2009 by Kevin E. Schlabach (not verified), 46 weeks 3 days ago
Comment id: 2397

Jack-

Totally agree with you. Lately we've been poking the community on this topic, but I have noticed that we keep talking about "it" without describing how to set "it" up.

I recently wrote a post on how to define a good story point scale:
http://agile-commentary.blogspot.com/2009/02/create-proper-estimate-scal...

I'd love your feedback, feel free to extend/re-use.

-Kevin E. Schlabach

Some comments

March 21, 2009 by Janusz Gorycki, 46 weeks 2 days ago
Comment id: 2399

Overall, good post. I have some comments though:

- I hope this is just a matter of sub-optimal wording, but in your point 1, you seem to be suggesting to estimate TASKS in story points. This is wrong - you only estimate USER STORIES (something that benefits your customers) in story points, not tasks that are required to deliver these stories

- the "steady state" velocity is unfortunately just a statistics - which means that "on average" a team will be going "at a speed of" X story points. But for a particular sprint, it may happen that a momentary velocity will differ - sometimes by quite a lot - dues to various circumstances, sometimes related to factors that influence the sprint itself (illnesses, earthquakes, etc.), sometimes due to bad plannig (over/under estimating of effort required)

- one characteristics of story points that you have not mentioned, and which I find essential, is that they are RELATIVE MEASURE - which means that they compare the size of one story to another and there is no need to a "standard meter value" for "1 point". This gives a lot of flexibility and allows for the "gut feeling", experience-based judgements to become statistically accurate

- you have not mentioned one potential danger of story points - it is quite easy to have the "size of 1 point" fluctuate (inflate or deflate) over time. The only way to prevent this is frequent "triangulation" by comparing current story points to point values you have assigned to stories done in the past

Cheers
Janusz

Story point estimation

March 23, 2009 by jackMilunsky, 46 weeks 1 day ago
Comment id: 2402

Hi Janusz,

Thanks for the reply. My wording was sub-optimal in that I started out by saying User stories are estimated in story points "It’s the only mechanism that I know of for universally, determining the size of a user story" but then later I inlcuded the word tasks in the mix which is confusing.

You are 100% correct - you only estimate User Stories in story points. Tasks are estimated in hours.

Velocity can definitely vary quite substantially but a good team will get to a point where the velocity definitely helps with understanding how much a team can do on average in a Sprint.

Our team for example uses 45 story points, although we have had some lows in the 20's and some highs in the 70's but on average thats what we do and that's what we schedule each sprint - using our average steady state velocity of 45 story points

Relative estimation is what makes user story estimation so good. It's way easier to estimate stories when compared with one another. In Agilebuddy we have an excellent estimation User Interface that let's you view previously estimated stories in buckets and makes estimating very easy.

Really appreciate the comments Janusz and keeping me honest :-)

Jack

True true

March 24, 2009 by David (not verified), 46 weeks 6 hours ago
Comment id: 2405

Hi Jack,

Great article. I think estimating the stories and establishing veolicty will also benefit individuals in terms of taking advantage of peoples competitive nature. When the story points are realised, it may move individuals to try to reach further and increase that velocity.

Regards,
David

Great article

March 25, 2009 by jackMilunsky, 45 weeks 6 days ago
Comment id: 2407

Thanks for the comment. It feels good to be able to write again and to interact with the audience. It's better than my day job :-)

I agree with your comment 100%

I always believe that "you can't manage what you can't measure" and velocity is just another data point, measurement or metric for you to assess progress against. It's not everything, but it provides a great way to motivate teams and helps to keep teams on the right track.

Cheers,
Jack

How do story points work in the real world?

August 20, 2009 by learnerplates (not verified), 24 weeks 5 days ago
Comment id: 2994

Nice article but I still don't see how it works.
How do you separate the points from the days?

Here's our usual SCRUM planning scenario.
50 Product Backlog Items with high prioirities.
The development team sit down and start at the highest priority tasks, talk about each on and before moving to the next we vote on an estimate in Story Points.
I as scrummaster recommend that the storypoints awarded be relative to another historical task which is similar in functionality and has a low score e.g. a previously implemented PBI that had a story point of 1.
The first question I get from the team is "how is this related to days?".
Each developer has different strengths and all will implement different PBIs in different times, how can a common story point be used?
What we usually end up doing is mapping a Story Point of 1 to 0.5 developer days, and we usually work backwards i.e. this task will take about 2 days so we'll give it 4 Story points

These seems natural afterall the estimates are analysed in the Sprint Retrospective based on the amount of "time" it actually took to implement the task versus the actual time we estimated.

It's all about time as far as I can see.

divorced from time

August 20, 2009 by jackMilunsky, 24 weeks 4 days ago
Comment id: 3000

@learnerplates

It is agreed upon by all the agile experts that divorcing the size of the task from time is a really good thing to do. Duration is derived from the size multiplied by the average velocity.

The reason you want to go with a pure size estimate is exactly what you said above. Your time and my time are two totally seperate things.

I still find however that most teams find it difficult to estimate in pure points so to start, it is a good idea to equate 1 SP to 1 Ideal hour (or something like that) but once you get the hang of it you really should try your best to drop the time association. It actually does get easy to do especially if

you have some historical data to work with.
Your teams have had time to get
You have broken your stories down to small stories
Your'e playing planning poker

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters (without spaces) shown in the image.

Best of AgileSoftwareDevelopment.com