Satyajit Gantayat
Satyajit has broad and deep experience in Agile coaching at the strategic senior executive level wh... Read more
Satyajit has broad and deep experience in Agile coaching at the strategic senior executive level wh... Read more
If our estimates are wrong most of the time, why should we even attempt estimating in the first place?
Since we are in a complex world and the requirements, customer demands, and technology change rapidly, we know little about what & how we are going to develop. We learn more through empiricism. If this is the case, why bother estimating at all?
Estimating can work but only if you understand why you are doing it. Estimating is about creating a shared understanding of the requirements, and a shared understanding of the solution. When teams have problems estimating, it is rarely an estimating problem, it is a shared understanding problem.
Let us understand why we estimate.
We need to understand how much work the team can do, need to understand the scope that can be delivered in a schedule, or estimate a schedule derived from the scope. Estimates should be provided by the people that will be doing the work.
Solution/Program Backlog: The Program Backlog is the holding area for upcoming Features, which are intended to address user needs and deliver business benefits for a single Agile Release Train (ART).
It also contains the enabler features necessary to build the Architectural Runway. The Solution Backlog is the holding area for upcoming Capabilities and Enablers, each of which can span multiple ARTs and is intended to advance the Solution and build its architectural runway.
It is crucial to estimate Solution Backlog and Program Backlog because it allows a team and its Product Management/Product Owners to make longer-term predictions about how much can be delivered by when.
It allows teams to answer questions like:
For prioritizing the work, we consider the cost of developing the backlog items and the cost of delay using a technique called WSJF ( which we will discuss in a different article).
But, to be able to use this technique we need to know the estimates at a high level of the duration to build the backlog items.
For both Capabilities and Features, we would typically have lesser-known details. They are of large size. In these cases, it makes sense to use the T-Shirt Sizing technique.
Team Backlog: The Team Backlog contains user and enabler Stories that originate from the Program Backlog, as well as stories that arise locally from the team’s local context.
It may include other work items as well, representing all the things a team needs to do to advance their portion of the system. Each Agile Team will have its Team Backlog as an output of the PI Planning, for the duration of Program Increment.
For the Team Backlog, there are two reasons to estimate the stories. The first is that it helps the team determine how much work to bring into the iteration. By splitting team backlog items into small, discrete tasks and then roughly estimating them during iteration planning, the team is better able to assess the workload.
This increases the likelihood of the team finishing all they say they will. Second, identifying tasks and estimating them during iteration planning helps team members better coordinate their work. For example, if team backlog items are not estimated, a team might not notice a critical path through the work or that the designer will be the busiest during the coming iteration.
Most Agile estimation techniques use relative units. This means that we don’t try to estimate dollars or days directly. Instead, we use “points” or even qualitative labels and simply compare the items we are estimating to each other.
This takes advantage of the human capacity to compare things to each other and avoids our difficulty in comparing something to an abstract concept (such as dollars or days).
Agile Estimation is done considering :
The sizes can, if needed, be given numerical values after the estimation is done. This is a very informal technique and can be used quickly with a large number of items.
This theory could be utilized as Bucket System Estimation.
These techniques are used to estimate Solution and Program Backlogs since we have lesser-known details and estimates are at a high level.
“A Story Point is a relative unit of measure, decided upon and used by individual Scrum teams, to provide relative estimates of effort for completing requirements“
Story Points are intended to make team estimating easier. Instead of looking at a team backlog item and estimating it in hours, teams consider only how much effort a team backlog item will require, relative to other team backlog items.
Planning poker starts with the team members involved in the estimation process sitting together for the session. Each member holds cards with the story point values described above.
The next step is for either a leader figure or the customer to read out the ‘user story’ (which is essentially the project), and describe all the requirements and features.
The stakeholder reading out the story will engage in discussion with the team members who are estimating, who will, in turn, discuss with one another. In this phase, they can ask the customer or owner questions for clarification and express any reservations they have.
When the discussions are finished, all of the estimators will select a card with the story point they believe needs to be assigned to the project. If the story point estimations match up – then that will be the final estimate.
However, if they do not match up, then estimators who gave the lowest and highest points can voice their reasoning, and more discussion will ensue until there is a consensus. This technique is not good for large teams, or when there are many items that need estimating.
If you only have a selected number of items (between 2 and 10) and a small band of teammates, then this is a good technique to use. It’s also one of the most popular estimation techniques.
If you ask two developers to estimate the same user story, you’ll get two different answers. While some of the differences might be explained by gaps in the specification or understanding, the fact is that developers have different knowledge and experiences so it will take more or less time to do the same work.
Ask those same two developers to rate the amount of effort required to complete one team backlog item relative to another team backlog item and you’re far more likely to end up with a consensus.
Worse, if the membership of the team changes, the velocity will change and we won’t know what that new velocity is until sometime down the road. But to try and match Story Points to hours is missing the point.
What’s important is how many Story Points a team can complete in a sprint, known as the velocity. When you know this, you can make some predictions and you know what, they’re likely to be good.
Since the Tasks are assigned to specific developers, they could be estimated in hours. There are a lot of other estimation techniques used by different teams.
This article suggests only some specific ones gather an understanding of estimates done at different levels of SAFe.
Satyajit has broad and deep experience in Agile coaching at the strategic senior executive level while also coaching and uplifting the capability of teams and individuals. An Agile Coach and SAFe® Practice Consultant with more than 24 years of experience.
WhatsApp UsSumeet is an excellent coach and can relate the subject to the day-to-day work we do. That makes our understanding easie...
I attended PSPO Training by Sumeet Madan last wakened and I must say it has been the best training ever. He did not open...
I had recently attended PSPO training with Sumeet Madan and it was fantastic! His expertise in Agile product ownership i...
Excellent way of providing the training by Preeth. Scenario based teaching approach makes it extremely easy to learn and...
I recently took the ICP-ENT (Enterprise Agile Coaching) training with an online course. The customer service was great a...
We will get back to you soon!
For a detailed enquiry, please write to us at devops@agilemania.com
We will get back to you soon!
For a detailed enquiry, please write to us at devops@agilemania.com