Estimation Part 4 - T Shirt Sizing

Last time we started to look at relative estimates and the most common method of relative estimation using story points. We looked at why they work well but also at some of their limitations. The biggest limitation is the fact that they are numbers and we have some built in cognitive biases when it comes to numbers. We mistake precision for accuracy and tend to agonise for ages over the story point numbers which turns story points from a fast, lightweight and accurate method of estimation into a slow, heavyweight and accurate method. It's still accurate but we waste a lot of time.

There is a way to keep the accuracy of story points but remove the cognitive biases we have around numbers. It’s a simple as not using numbers in our estimates. The usual way to do this is by using T-Shirt sizing – stories are small, medium, large or extra-large. Some teams go a bit further and add Extra Small and XXL but we’re getting into false precision there so I would recommend against that.

The big advantage T-Shirt sizing has is that it's really intuitive. Everyone gets the concept of small, medium or large as a relative size. The other big advantage is that they aren’t numbers so we don’t fall into the same sort of cognitive traps that we do with numeric estimates.

T-Shirt sizes do have some disadvantages though. One that is often overlooked is that T-Shirt sizes are an incomplete metaphor for sizing stories. When we go shopping, we expect a logical progression in our clothing sizes – a medium is larger than a small by the same proportion that a large is larger than a medium. It’s a linear increase in size. Stories don’t work that way. There can be orders of magnitude differences between small and extra-large. Stories tend to get bigger exponentially, not linearly. An extra-large shirt isn’t 20 times bigger than a small shirt but, if we drop back into numeric for a moment, a small story on the backlog might be 1 point while a large might be 20 or more.  This leads teams to focus on the small differences between already small stories and struggle to assign any value at all to really big stories. Now this can lead to teams breaking down stories into smaller pieces which is a good thing, but more usually we end up in false precision land again, arguing whether a story is small or medium the same way that we argue whether a story is 1 or 2 points.

The biggest disadvantage though is that they aren’t numbers. Once we have them, then what? What can we do with them? We can’t really use them to make any meaningful predictions. What is a team’s velocity in T-Shirts? They did 3 smalls and a medium last sprint, can they do a medium and two larges next sprint? I have no idea unless I start assigning numeric values to the T-Shirt sizes – a medium is twice a small and a large is four mediums. And then we are back to using numbers again and all our numeric biases kick in.

As soon as we start introducing numbers we start thinking in numbers – “that’s four times the size of that one so that makes it a large”. We might as well say that a small is a 1, a medium is a 2 and a large is an 8 and not use T-Shirt sizes at all. Which is what most teams who use T-Shirt sizes end up doing. They may call it a large but everyone is thinking an 8.

Yes, their greatest strength is also their greatest disadvantage – they aren’t numbers. They remove our numeric biases but mean we can’t use any of the nice things that numbers give us, like the ability to make predictions and comparisons which is really the point of estimation.

So T-Shirt sizes on their own aren’t especially useful, but remember how I said that they can help force teams to break down stories into smaller chunks? We can make use of this property if we radically change the sizing scheme and make everything either small or extra large. We will see how this works next time.