Discussion
How Do You Estimate Effort?
Analyzing how engineering teams can predict the implementation time of new product changes.
Making commitments is a challenge for any engineering team. It can be difficult to know the full extent of a new change. Even small gaps in knowledge or understanding can add weeks or months to an implementation plan, blowing out timelines or commitments to partners. Some engineering leaders even advocate not setting hard deadlines at all, only communicating targets with engineers working on a problem until it is complete. This approach, however, does not work in all scenarios, and most businesses need to be able to make firm commitments to their partners.
How can you make firm commitments and still have confidence that they are realistic? To estimate completion dates, you can generally think about how much effort new work will take to complete and the degree of parallelism associated with that work. Previously, we talked about how to measure capacity. Based on the degree of parallelism, additional capacity from your team can be allocated to speed up the work. How can we estimate the amount of effort something takes? We call this process sizing and although there are no hard and fast rules about how to appropriately size work, there are a number of competing strategies.
In this article, we will look at some common examples of sizing techniques and discuss why they are useful and how they can be used. First, we will answer the question, “Why should we size or work?”
Why you should size your work
Sizing work is an important exercise for any engineering team. One obvious benefit of sizing is being courteous to the cross-functional stakeholders at your company. Product managers, sales teams, and project managers are in constant communication with external partners and internal executives about timelines and the current status of new implementations. Providing accurate sizings of work helps these teams understand the scope of changes—the big rocks that need to be moved—and helps them communicate on your behalf where required.
That is not the only benefit. Not only is it crucial for accurate planning, but early investigations into proposed changes pay dividends in the long run. In sizing investigations, we often reveal the contours of a project and even clear subdivisions for breaking down the work into smaller pieces. Generally, work is easier to understand, implement, and size when it is broken down into small atoms of work, so this process is invaluable.
Now that we are properly motivated, let’s take a look at some sizing methods.
Person-week estimates
Person-week estimates are probably the most straightforward sizing method, and in fact, managers often talk about capacity and effort in terms of person-weeks. This is because person-weeks are easy to convert to target dates and thus make the manager’s life easier. However, the algebra of person-weeks doesn’t actually behave the way we intuit. There are a few reasons why. Most notably, in the real world, not all work weeks are created equal. Overhead, such as meetings or environment issues, and even third-party downtime can directly impact the amount of work that can be completed. A direct conversion of person-week efforts into dates won’t accurately capture the scope of overhead and will likely lead to bad dates or mis-estimations.
When work is sized using person-week estimates, what the sizer is really doing is translating their understanding of the work into an abstract understanding of the amount of work it would take to complete. Generally, the person-week estimate is more similar to the amount of time completion would take with no overhead and full focus. It is easy, however, to mix up this abstraction with a calendar time estimate since they use the same units. It’s for this reason that most engineering teams adopt more abstract methods of sizing work.
T-shirt sizing
T-shirt sizing is a common form of abstract sizing where pieces of work are sized according to a T-shirt size scale, e.g., XS, S, M, L, XL. With this technique, work items are assigned a T-shirt size relative to some fixed concept of a medium (M) size. This is usually a previous work item that the team collectively agrees fits the concept of an M, and as such, the actual effort required at each step in the T-shirt size scale will be different for every team.
Since T-shirt sizing is an abstract measure, it doesn’t tie back in any obvious way to real timelines. In this way, it avoids some of the problems inherent in person-week estimation. If managers want to tie an estimate back to a date or timeline, it needs to happen team-by-team and sometimes even project-by-project. If such a translation scale does exist at a company, the engineering team needs to be careful not to implicitly substitute the concrete time translations for the abstract T-shirt; otherwise, it can damage the quality of the estimates.
T-shirt sizes are commonly used for long-term plans that are generally less accurate, but they are sometimes used for short-term sprint planning.
Fibonacci sequence
Fibonacci sizing, similar to T-shirt sizing, is another abstract sizing scale. In this case, pieces of work are sized according to the Fibonacci sequence, e.g., 1, 2, 3, 5, 8, 13, etc. Using this strategy, work items are given a score in the Fibonacci sequence based on the relative amount of effort that is required to get the work done. Like T-shirt sizing, Fibonacci requires the team to determine effort scores by comparing work to a previous work item with a fixed score, usually something like an 8. What’s different about the Fibonacci sizing is that the effort scores grow non-linearly. This is thought to help with the accuracy of sizing by encoding the non-linear way in which we conceptualize different levels of effort and, indeed, how that complexity often unravels in practice.
The non-linear scale also helps make it clear when work items need to be broken down. When things get to size 13 or 21, the size of these numbers is a clear indicator that the work should be delivered in smaller parts, and the engineering team should do more work to determine how to split up the work.
Fibonacci sizing is often used for short-term planning, like sprint planning.
Conclusion
In this article, we took a look at some different techniques for estimating the amount of effort that work will take. In particular, we introduced abstract sizings such as T-shirt sizing and Fibonacci sequence as an alternative to person-week estimates in order to get better results. At PlanEngine, we use AI to automate the process of sizing work for engineering teams while also encoding repeatable best practices. This helps keep your team focused on the things that matter: adding value to your customers. Sign up for early access to PlanEngine to unlock efficiencies in your product planning process. Thank you for reading, and I hope you learned something useful for your team.