Agile

Mastering Effort Estimation in Agile

Waqas Sharif June 14, 2023 - 7 mins read
Mastering Effort Estimation in Agile

Effort estimation in Agile is an important aspect that, unfortunately, many tend to get wrong. This, in turn, puts projects at risk, wastes time and effort, and may lead to failure.

But First, What is Agile Estimation?

Agile estimation is a principle designed to manage work efficiently as it influences the outcome of any project.

Effort estimation in Agile refers to expert opinions on when work can be completed based on its complexity. When done correctly, it helps in determining important insights such as timeframe and feasibility. With the latter, the end goal of estimation is achieved — determining the efforts required to complete work.

The Importance of Effort Estimation in Agile

Agile estimation is one of the factors that ensure customer satisfaction, adaptability, and frequent value delivery. By implementing it, your self-managed team can reap benefits including those below.

  • Uncovering Potential Risks and Issues – Taking the time for this activity can help teams detect issues that may not have been considered. For instance, when estimating a website redesign, Scrum masters can identify which team members may become a risk due to their unavailability.
  • Adding Transparency and Accountability to the Team – Creating estimations requires input from every member of the team. Therefore, you’ll be able to open a dialog with the team to ensure you’re on the same page and determine how much time they need for work items.
  • Aligning Teams to a Plan – Estimates help in creating a project schedule which, in turn, keeps teams on track and reduces the risk of delays. You also get to create a strategy to plan things in advance and prevent major changes from within.
  • Benefiting from Five Opportunities – In his ‘5 Overlooked Opportunities in Agile Estimation’, Ajeet Singh mentions five opportunities teams can benefit from during effort estimation in Agile –
    1. The opportunity to learn from others and collaborate while developing building blocks for a solution
    2. The opportunity to determine multiple solution approaches and allowing the team to pick an appropriate one
    3. The opportunity to validate stories based on the available information
    4. The opportunity to improve the estimating ability of team members and protect their rhythm
    5. The opportunity to reinforce Scrum values, mainly commitment, respect, openness, courage, and focus

Types of Agile Estimation Techniques

Effort estimation in Agile can either be done in an absolute or relative manner. Absolute estimations have been around for years, but more Scrum masters are embracing relative estimations. So, let’s take a look at both.

Absolute Estimations

Absolute estimations in Agile estimate the effort or time needed to complete a task without comparison with similar reference estimates. This makes them non-variable and rigid in comparison with relative estimations.

This type of estimations is so common and used even in non-technical contexts. For instance, a mechanic may estimate the time for repairing a car to be around 4-5 hours.

One of the reasons absolute estimations is still going strong is that it can be more accurate. That’s because teams capture the full complexity and effort required for a task.

However, it’s more time-consuming and requires more effort from teams. Plus, it’s less flexible, preventing teams from adjusting the estimates when requirements change.

Relative Estimations

Emerging aggressively recently, especially in the IT sector, relative estimations estimate efforts in comparison with lined-up or similar work. For instance, if it takes 5 hours to cover 500 KM, you can estimate how long the drive will take in bad weather conditions.

Now, there are several relative effort estimation techniques you can use. Of these, three are quite popular, and they’re what I’ll explain below: story points, t-shirt sizing, and buckets.

Story Points

In the software industry, relative estimates use story points. So, after a team assigns a story point to the first work item, they can compare the next item with it. After determining whether it requires more or less effort, they can assign a story point to it and continue with the next item in the backlog list.

Teams can also use past story points as reference. This may enhance the accuracy of the points for current items.

There are three factors that impact story points which you should keep in mind –

  • Story Size – Not every backlog item is equal. You need to be open to the idea that some items may need more work.
  • Risk and Uncertainty – Every project has its risks and uncertainties. Some factors such as the lack of skill working with a new framework will increase point story value.
  • Complexity – Complexity is an important factor for effort estimation in Agile. So, make sure not to neglect this while estimating story points.

T-Shirt Sizing

T-shirt sizing is a capacity planning technique that entails assigning each task a shirt-size – from Extra Small to XXL – depending on the relative effort. It’s an alternative to traditional story points that allows teams to think in more dimensions aside from numbers or time.

Now this may seem too simple to use, but the method is quick powerful. Especially to simplify estimation lead time. Teams can spend less time thinking about the number of hours they can spend, and focus on getting high impact work done.

Bucket System

The Bucket System technique is used when estimating a large number of items with a medium to big sized team. Each story is discussed in terms of pre-defined buckets of complexity before teams assign its final points.

What makes this method so useful is that it promotes fast, collaborative estimation. Moreover, it enhances group accountability as teams work together and possibly with stakeholders to estimate values.

Absolute Estimations vs. Relative Estimations

Simply put, absolute estimations are ideal for simple situations as they’re one-dimensional in nature. They are also useful for projects that allow teams ample time to create estimates. However, keep in mind that absolute estimates don’t get better over time.

On the other hand, relative estimates are multi-dimensional and cater for complexity. They’re also capable of speeding up the estimation process and definitely get better over time.

The #NoEstimates Movement

In recent years, developers started questioning the efficacy and purpose of using effort estimation in Agile projects. And thus, the #NoEstimates hashtag was born on Twitter along with the debate to end estimates.

According to its strongest proponents –

  • Developers, managers, and team leads deem estimates a necessity to the software development process. However, effort estimation may not always be effective or beneficial.
  • Estimates tend to be inaccurate most of the time. Therefore, they’re pointless.
  • Estimates can be padded by developers, impacting project transparency and working relationships.
  • Estimates waste time and prevent developers from starting work quickly.

Based on these assumptions, the #NoEstimates technique has taken the following form –

  • Instead of providing estimates, developers can identify the most important story and implement it. Once that’s completed, they can pick the next most important story.
  • Developers should work in small chunks to avoid the need for adding items in the requirements document.
  • Instead of story points, developers should look at the total number of stories that should be completed to gauge the amount of work to be done. In short, developers should count the number of stories to be delivered by the end of a sprint.

Final Words

Effort estimation in Agile will continue to change to adapt to the needs of the industry. Therefore, make sure to constantly read up on this topic to continue delivering value to your clients.

Waqas Sharif
Waqas Sharif

"PSM ( I - II ) Certified Scrum Master with extensive experience in facilitating, guiding, coaching, and training companies and teams in their agile journey. Being an agile explorer, servant leader, and facilitator, adept at identifying impediments and problem areas."