Particularly at the beginning of a Product Manager’s career, Scrum ceremonies and everything related to project preparation can be challenging. If you can relate to that, imagine the following scenario:
After we discussed the first story, I wanted to move on to the next one, when I “suddenly” got asked by a developer:
“Don’t we estimate stories anymore?”
My first question in response to her was:
“Is this important?”
... you should’ve seen the faces of my team members 🤦♀️🤦♂️🙈
I’ve learned over the past several years that it’s important. Although I believe it’s important I’m not religious about it! Therefore, I want to share how we do it and how it helps me as a Product Manager.
There are two agile frameworks most Software Development Teams work with these days:
Scrum and Kanban
The difference between these two is that Scrum is used as an iterative approach to work towards an MVP, MMF, or a goal, while Kanban focuses on continuous delivery.
Before I make things too complex or open up a religious discussion about “what’s better” or “when to use what”, I want to share two very simple and common examples for a typical Scrum and Kanban Team.
A Scrum Team usually works on a product or feature and iterates on it.
Example: Imagine the team at Instagram that introduced the “Stories Feature” on their app. They started with a simple story functionality, later they added filters, stickers, music, GIFs, and so on… a great feature in that app to iterate on.
A Kanban Team usually works as a service team that gets a lot of Ad-hoc requests.
Example: An Infrastructure team that grants permissions, and access to AWS, creates new environments, sets up technical dashboards, etc.
The performance of a Scrum Team is defined by its velocity while Kanban teams are measured by their throughput.
What’s the difference? 🤔
In simple words, the velocity is the amount of work (number of story points) a team can produce or “burn” from sprint to sprint. This number is very important for Product Managers to be able to estimate or forecast when things can be finished, as long as all the other open stories are already estimated in the backlog.
Example:
You have a velocity of 20 story points per sprint and a feature backlog of 80 story points. That would roughly mean you can finish all tasks in 4 sprints.
However, this is not a guarantee because multiple factors can impact the team’s velocity. Development Teams use it to understand what they are capable of delivering in a sprint. Furthermore, it helps teams to understand which circumstances have an impact on it like people on vacation, wrong estimations, deployment issues, etc.
Sometimes teams plan their sprints after they have done the capacity planning, which is often a better way to foresee and plan.
It’s very important to understand how much time each team member can actively work on tasks during a sprint. In this case, you need to look at how many hours each member is available in the upcoming sprint. In the beginning, we didn’t subtract time for meetings, vacations, or public holidays, which is a common mistake teams make. You don’t need to create a correlation between story points and hours. In the first place, you want to understand if people are fully available or on vacation, at conferences, in meetings, etc.
Here’s an example of how a capacity sheet can look:
Access and copy my capacity template here: 👉 click me 👈
Note: Don’t forget to check the capacity sheet during and after a sprint. Check if the original estimations were correct or not. You can do this, for example, during a retrospective.
To summarize with a quote from a great Agile Coach:
“The goal is to improve internal processes and ways of working to find the right capacity and with that to better predict velocity.” - Luis Gualberto
Throughput, simply explained is the rate of things like tickets that are getting constantly developed. Another example can be the number of cars produced on an assembly line. In Kanban, you don’t iterate in sprints and you don’t estimate stories. Based on my example above, a Kanban Team doesn’t work directly toward a big goal. If you’re curious about this, you can read and learn a lot in the book Toyota Kata.
Note: Some companies/teams use Kanban to work on products, features, etc. I’ll write about that in a separate article.
This is what teams produce in a certain time period no matter what framework they use to operate. For example, checking the developed features, tickets, etc. over the last 3 months or even over the course of one sprint. That’s a lagging indicator that tells you what has been achieved in the past.
After we’ve discussed all acceptance criteria of a story and understood how to solve the problem, including finding out the dependencies of a story, we estimate it.
If the team is ready to estimate we do the so-called: Planning Poker
The moderator of the session counts down from 3 to 1 and everyone in the team raises their hands or a card with the number of story points. Story points are segmented via the Fibonacci scale, which is between:
(small) 1, 2, 3, 5, 8, 13, 20, 40, 60, and 100 (big)
We look at 4 key things when we estimate tickets (WORD):
In my current team, we focus on an average story size of 5 story points.
How long does it take to finish/“burn” 5 story points? 🤔
The answer is simple: We don’t know 🤷
What we know from our previous sprints and experiences (data) is that we’re able to finish 5 story point tasks within a two-week sprint. At the end of the day, it’s not about the days or hours per task, it’s about the team’s commitment to finish the work according to our definition of done.
These can, of course, be smaller or bigger. Everything, that’s bigger than 8 will be broken down into smaller tasks to avoid us not being able to finish it in our 2-week sprint cycle.
Every team estimates differently in terms of story points. The best way to get started with estimations is to “just do it”. Create a reference sheet with stories and the story points you’ve estimated in your previous sprint(s). Based on that sheet you can easily estimate new tickets for upcoming sprints. Just ask yourself if the new stories are bigger, more complex, more risky, etc., than the old ones in your sheet.
The tickets we estimate are User Stories, Tech Stories, and Tasks. Sub-tasks or bugs won’t be estimated and spikes will be time-boxed.
Why not estimate in hours or days? 🤔
Another option would be to estimate a ticket in hours or days. The problem though is that it’s hard to estimate the correct time needed for a ticket. Also, time estimation and team commitment foster an emotional attachment to a ticket that creates pressure on people which they shouldn’t have. Instead of focusing on time, people should and want to focus on good implementation. 🤓
Next, I’d like to highlight some key reasons why estimations help Product Managers.
As much as companies like pushing for speed and fast delivery, the most important thing for Scrum Teams is to understand their capacity and the amount of work they can finish in a sprint, based on the available people. Every team will reach/discover a limit at a certain point. This can be helped by adding new team members or shrinking it down based on the team size, domain, skills of individuals, etc.
Note: Changing the team setup will trigger a restart of the forming, storming, morning, and performing process (Tuckman’s stages of group development). This can lead to a potential slowdown until the team starts performing again.
A well-prepared and groomed backlog with estimated stories can help you to better predict when you’ll reach certain goals, launches, or milestones. Keep in mind that velocity isn’t a guarantee but a good indicator. If you work with customers, you negotiate deadlines. I recommend always adding a big enough buffer.
I suggest not planning too far ahead. Usually, we have up to 2 sprints prepared and groomed and a third that’s ready to be groomed. Planning further isn’t necessarily bad but can lead you into the situation where:
Tools like Jira can predict outcomes based on story points and issues. It can accurately count when certain features (epics) will be finished. You can do the math by yourself by looking at:
Based on the estimated and un-estimated stories you can calculate how long it’ll probably take until all tickets are finished.
Simplified example:
Imagine your team works only on one particular feature over the next weeks/months:
If you apply the average story size of 3.57 to the 7 un-estimated stories you’d get 25 story points which equals one sprint = 3 sprints to finish the feature.
If you sum up the number of all the tickets, you get 22. That’s >= 3 sprints to finish the feature.
What to communicate to the customer/when will it be done? 🤷
On the one hand, it depends on your team.
On the other hand, it depends on the customer.
The math doesn’t answer these questions. I’d add a buffer of at least one sprint if possible considering the following scenarios:
Tip: Some people don’t include sick leave in their forecasts. Check out the average company numbers and add them on top. For instance, 1 or 2 days of sick leave per employee per month. That doesn’t mean every team member will be sick in one month. The idea behind it is to gain better planning security.
Being able to plan and forecast upcoming projects is very powerful. It helps me to
with customers and stakeholders.
Sometimes it happens that people want you to “squeeze” something in or change priorities. You can clearly visualize what’ll drop off if you decide to change them.
A mistake I often made was to push too many things and change priorities too often. This doesn’t only lead to the problem of not achieving goals and not finishing your sprints. Team members will become frustrated and the team’s mood will drop. You’ll also start losing your credibility. That doesn’t mean that you shouldn’t change them if needed. However, too many changes are an indicator of a lack of planning.
To be honest, If you have a couple of sprints prepared, your team works with a stable velocity, and the priorities are clearly communicated to all stakeholders… you’ll sleep way better. 🛌😴
There are many more things to say about Scrum, its planning process, and story estimations. Tell me how you work and benefit from it on Linkedin.