Tuesday, 9 AM, in a pre-Covid era
The team stumbles into meeting room 3.12 where Rose, the Agile coach, stands at the entrance to welcome everybody in. Everyone is chatting while enjoying a cup of coffee, when Rose abruptly stops the background music that sounds softly throughout the room, everybody looks up.
Okay, ‘Team Raptors’, today we’re meeting to see how good you are at estimating how much effort an activity takes in order to improve our velocity estimation.
In particular, I want to dive deeper into the relative difference of effort it takes you to perform a task. How well can you estimate one task compared to another?
Since you are a software development team you may immediately think about how many lines of code are needed to complete a task. But first I want you to assess your muscle strength.
So let me start by telling you about my sweet tomcat, Tommy.
Tommy is a tabby male, about 4 years old. He came to our house when his previous owner could no longer take care of him. He is a real hugger that prefers to lie in your lap in the evening when you’re watching TV. He’s not a very unique tomcat. You probably know several similar cats like Tommy, but he is a very sweet one.
This room right here is 4 meters across, I’ve just measured it. Now I want you to estimate how much effort it would take you to throw Tommy across the room...
Everyone is quiet for a moment, and then laughs and groans break out. Aaaahwww, no, that’s not possible? I can’t do that to a poor cat, Emma exclaims, while smiling the tiniest smile. Well, Jim calls from across the table, I’ve been suffering from neighboring cats pooping in my garden for months, I would throw one of those stupid animals in a heartbeat.
When the noise subsides, Rose asks everyone to join her up at the front of the room and then gives Jim a linen bag filled with dried beans. This bag weighs 3.5 kilos. Just like my Tommy. Now throw it across the room and experience how much ‘effort’ it costs you.
With a big swing, Jim throws the bag across the room. It hits the opposite wall. Emma and the other team members also throw “beanbag Tommy” and feel how much effort this costs them.
Good, says Rose. Now that you’ve all experienced this and gained knowledge, on a 5 point scale, you can consider the effort you had to do this as 3 “story points”.
That’s what we now use for reference. That’s what we will be comparing all other items against that we are going to throw from now on.
This afternoon, we will do the same by finding an activity that you all encounter in your daily development work. That activity will then become the reference number of story points for all other work that you will estimate afterwards. However, for now, we will first improve our estimation skills with “cat throwing”.
This is where I want to tell you some more about Tommy, Rose says.
As mentioned, we got Tommy from his previous owner. He was about 2 years old when he came to live with us and we assumed he had already been neutered. However, that turned out not to be the case. Well, Tommy is a tomcat like any other, so you can guess what happened… Within eight months, one of the neighborhood cats had a litter with kittens. The color and composition of the fur left little doubt as to who the father was.
Okay, here’s my question to you all: If we know that throwing a ‘Tommy’ is a 3 in ‘story points’, what would you estimate the effort to throw the equivalent of one of Tommy’s kittens weight across the same distance?
We’re not actually going to do this, so just try to estimate the effort based on the empirical experience you have of throwing Tommy’s weight-equivalent a few minutes ago.
The team quickly reaches a consensus: If throwing a Tommy is a 3, then throwing a kitten’s weight is about a 1.
That’s fine, Rose says. If you and your team together estimate the effort for throwing a kitten as a 1, from now on that will be the ‘1’ of the ‘Raptors’.
Then I have another estimate to ask of you:
If Tommy is a 3 and throwing a kitten a 1, how much effort would it take to throw a lion?
Wow, now the team needs a little more time. A discussion at the table ensues. I can’t throw a lion on my own, says Emma. Well me neither, Jim exclaims, but if we all work together, and we build a throwing device, I think it should be possible.
OK, but how much effort does that cost compared to Tommy? Rose hears them say. After some further discussion, the team comes up with its joint estimate. Throwing a lion costs us 24 story points!
Good. If you estimate it at 24, then that is what it is. You have a point of reference and measure everything accordingly. Your assessment is a joint effort, you discussed it thoroughly and so it becomes the truth for this specific team.
Throwing a lion is therefore worth 24 story points.
While Rose is saying this, meanwhile she is taking something out of her bag. When she opens her hand, the group sees what it is.
A candy bar. A Lion bar, to be precise.
She puts the Lion down on the table and looks at the team with an inquiring look.
Ok, how much effort did you say it takes to throw a Lion?
Hey, come on! Jim exclaims. We didn’t know that! You talked about a lion. You did not mention that it was a candy bar. After Tommy and that kitten, we assumed you meant a real lion, a big cat! This one is only 0.5 in story points.
Exactly, Rose says. You hit the nail on the head. You assumed it was a big cat, based on your thinking and expectations.
To be honest, of course, I did frame it a bit, but this is what happens in real life too.
A stakeholder describes some functionality that the customer is looking for and, based on the image you have in mind, you estimate the effort it costs.
This is why it’s so important to have good conversations with your stakeholders or Product Owner. Make sure you as a team REALLY understand and comprehend what is meant. Only then can you make a well-considered estimate of the effort it will cost you.
Hmm, you’re right, says Jim, and the rest of the team nods.
Next time I will no longer trust your descriptions and I want to discuss everything about the task before I make any estimate again
Let’s do this after the break!
And for now, I think we deserved another cup of coffee, he says as he rips off the wrapping of the Lion and sinks his teeth into it.
As I tried to make clear in the story above, involving your stakeholders in the estimations you make as a team is indispensable.
Apart from the fact that by doing so you reduce the chance of making wrong assumptions and therefore giving false estimations, it carries another important opportunity:
The conversations you have with your stakeholders are the perfect opportunity to shape the story of your product together.
Nowadays, a product or feature never stands alone. It’s always part of a greater whole, a whole that is subject to continuous development.
Even your stakeholder (whether that is a manager, a Product Owner or an actual user) doesn’t know the whole story beforehand. In your conversations with that stakeholder, you build that story and shape its future together.
Not only will you as a developer get a better idea in these conversations of what is needed, but your stakeholder will also get an idea and understanding of WHY the estimation is what it is.
Why it can’t be built in one week. Why it is not as simple as s/he thinks.
Invest some more time in alignment upfront, avoid more difficult discussions or misunderstandings afterwards and deliver more value!
A Win-Win-Win approach!
What methods and approaches do you use to improve your “cat throwing skills”? Let me know via LinkedIn
I’m curious and love to learn from your personal experiences!