Why it’s so hard to make accurate planning when using story points (SP)? Well, one of the reasons are story points. So what is SP?
Story points are a unit of measure used to estimate the effort that will be needed to deliver an element from the product backlog. Story points are not a different way to express time, they express effort. That can include:
- the amount of work to do,
- the complexity of work,
Due to the complexity and nature of SP`s every team needs to put an effort to calibrate their estimation and planning processes. Let’s find out how it can be done.
You can’t plan properly if you can’t estimate properly. Of course, story points are relative. How you treat 8SP`s that’s your business. To properly estimate tasks you must be consistent.
Story points include: the amount of work to do, the complexity of work, risks, uncertinity.
I can understand 8 story points in a different way than you. It’s nothing bad! The problem is when I stop treating 8 story points in the same way as in the past. That’s why I always start fixing the situation by creating a benchmark. The benchmark MUST be accepted by the whole team.
My benchmark contains 2 different lists:
- Story points value explanation
- Model tasks
In my teams, we’re using Fibonacci string. We always create a list that contains: 1, 2, 3, 5, 8, 13, 21, 34 points. We describe each value. For example:
1 — trivial task, almost no effort
2 — trivial task, little effort, a small risk
3 — standard task, no review needed
5 — standard task, review needed
8 — standard task with risk
13 — big task, no risk
21 — big task, risk
34+ — epic
Those are just examples. Values, granulation, and descriptions depend on the project and work that we’re doing but I think that you get the point. This list — like everything — is calibrated during the work. We’re not afraid of going through it at the retrospective and adjust whenever it is needed.
Ok, we have the first list. It’s time to create the second one. This is a bit longer process because it is updated and reviewed during every planning and retrospective. For each value, we’re picking a few tasks from the past with the selected amount of story points. Thanks to that in the future we’re able to refer to already done tasks to adjust our current estimations.
So what do I achieve by having those two lists? Well, a couple of things.
First, I have a clear understanding of story points. Our estimations are consistent and we’re sure that they are similar during the whole project.
Second, if we have a problem with estimation we can refer to done tasks and compare them. Thanks to that our accuracy increases.
Thirdly, whenever PO, client, or someone else wants to understand what 8SP means we can give him our benchmark lists. This will give him/her a brief understanding. This understanding can be priceless sometimes.
It’s time to plan our sprint. It’s not an easy task. It’s much more than just picking the proper amount of story points and even this is a pretty complex task.
Planning is about value and numbers. Those two things are strongly related to each other. You can’t forget about any of them. The question is, how to make our numbers good enough to perform a valuable planning session?
I bet that you thought about counting capacity and velocity. But from my experience, simple counting isn’t enough. In most cases, it’s inaccurate because it doesn’t take into account the past. We have to use our experience and knowledge from the past to build a better future.
We’re using a simple spreadsheet with information about every sprint we had. Each line contains:
- manpower [Man days (MD)]
- commitment [SP]
- delivered SP`s
- working days
Based on that information we count:
- story points per man-day = delivered SP / manpower
- moving avg for story points per man-day — we count it from last 4 sprints
- velocity forecast [SP]= current manpower * moving avg from last 4 sprints
I know, it looks complicated but it’s not, especially when you’ll use a spreadsheet for that. Now you may ask yourself why we’re doing this? Well, the answer is pretty simple. This is a tool that helps us align our planning process.
Thanks to these calculations we can estimate our current pace and forecast how many story points we can take in the next sprint. Are those numbers accurate? Of course that not 100% but the longer the project is the more accurate numbers are. Remember that this is only a side tool that helps us calibrate our aim. This is not our oracle.
There is no good planning when there is no discussion. Whenever your planning meeting is fast and easy you can be sure that something went wrong.
The most common mistake is skipping the discussion when people have different opinions. If the team is young or lazy they tend to skip every opportunity for an open conversation. Why? Because such a discussion is hard and demanding.
No tools, methods, and numbers will help you if you won’t have a healthy discussion in your team. So keep an eye on that and encourage your team to discuss any ambiguity.
We always perform a short review after filling up our capacity.
Is the sprint goal possible? Do we see any risks? Maybe there are some constraints about which we forgot? Do we need to compare any of the tasks with the benchmark? Those are only example questions that we ask ourselves. We’re looking for a hole.
To be honest, in most cases we’re not finding anything. Yet, we’ll never resign from that activity. Thanks to it we’re better. We understand our work and the process better.
To wrap things up.
- Prepare yourself and your team. Start by creating a benchmark that will help you in a consistent valuation of tasks.
- Select a planning method that will support engagement and discussion. Use numbers to calibrate your planning process. Do not fully rely on numbers but only support them.
- Review your plan. It’s better to make changes before the work starts.
Hi, I’m Dawid Pacholczyk (aka TheDavidP). I’m a manager, lecturer, and researcher with over 15 years of experience in IT. I live in Poland but you can find me often in San Fransisco and Silicon Valley. My goal and passion are to share my knowledge and my experience to help others become better managers. I want to give others the same help I received in the past. During my career, I’ve met a few people that I can call my mentors. Now I want to do the same for others what they did for me. You can find me on Twitter, LinkedIn, and Facebook.