We’ve been fine-tuning our agility at Info-Tech, and even before we formally adopted agile and Scrum as our methodology, we’d been moving towards an Agile approach for a couple of years.
One of the interesting things about Agile is the abstraction of the concept of “units of work,” and taking that abstract idea and putting it to something that the team holds itself accountable towards.
For example, the concept of a velocity is basically that a person can get a set amount of work done in a week. We level this out so that while some people can do more work in that amount of time, and others can do less in that same time, the average ends up being a number that we can all commit to. Over time, we’ve decided that the number is 20.
How we got to that number is interesting though, and required us to think a little bit differently. Getting people to understand abstracted time made me feel a little bit like Jennifer Aniston’s character in The Break Up; “I don’t want you to do the dishes…I want you to WANT to do the dishes!” We had to make people not think about time, but think about the concept of effort. Don’t think about how much time it took you to do that task, think about how much EFFORT it took you to do that task.
To figure out the smallest amount of effort, we took a mundane chore that has a measurable outcome. In this case, cutting a lawn. Before: unruly, out of control grass. After: golf green-like manicured lawn which we can boast about to our neighbours.
To make this effective though, we needed to abstract the concept of “cutting the grass” into some sort of measurable effort. While it takes me about twenty minutes to cut the grass at my house, it may take someone else on my team two hours to cut the grass at their house.
That might be because I have a smaller yard, better tools, or I’m just better at cutting grass than the other person, but the point is the task was the same – cut the grass – and the effort was likely the same. We got behind a lawnmower and pushed for a period of time.
With that in mind, we got a few other people’s opinions on how long it takes them to cut the grass, and we ended up with an average of about an hour.
Then we looked at some other tasks that are roughly the same “shape” as cutting the grass. Let’s say “vacuuming the house,” and “doing the dishes.”
Knowing those are all roughly somewhere between 20 minutes and two hours, we were able to establish a baseline for our lowest level of task. We call this a 1 on our point chart.
We then figured out how much effort we can get into a day, two days, and a week.
We call these 5, 10, and 20 points.
So we know that a five-point story is roughly one person working on it for one day. The math isn’t perfect; in theory you can fit eight one-point tasks in a day, but the reality is it’s closer to five.
With that wrapped up, we started using the point system for a little while, tweaking it as we needed to. One of the interesting things we found was that the larger the story was, the worse we were at estimating its points.
My group found that we were pretty good at estimating anything that was a one or a five, but much over a five, and we started to get a little less accurate.
What tends to happen is that we underestimate the things that are contained in those larger stories.
When you’re dealing with a five or below, it’s usually a discrete enough task with a few small dependencies. Something like “style a specific thing,” or “make a portion of a page work”.
Again, making this abstract, a 20 might be “paint the house,” there’s a lot of detail inside of “paint the house.” Does that mean all of the bathrooms, all of the bedrooms, all of the hallways? Just doing the master bedroom might be a day and a half. What about the basement? That could be a full two days on top of the bedrooms, bathrooms, kitchen, dining room, living room, and family room. What about the trim? Trim alone might be a 20-point story!
That week quickly becomes two or three weeks (and that doesn’t take into account all of the blockers like “work,” and “taking the kids to gymnastics”).
So we started breaking the tens down into fives and ones, and then we introduced the number three, which represented a half day’s work. It was amazing how quickly a ten would become five threes or four fives. The problem is that people are horrible at estimating time.
However, once we could break things down into discreet tasks and look inside those tasks to figure out accurate estimation, things got much better, and we ended up being able to accurately estimate how much work we could get done in a reasonable amount of time.
All because we decided to bite off only as much as we could chew in each mouthful.