My day job involves working in an agile development shop — I’m not a developer, but I’m constantly assigning them tickets and then verifying them when they’re done. I attend estimations, sprint planning meetings, and retrospectives, as well as the occasional scrum*.
One of the things that was most difficult for me to learn about agile was that work is estimated via complexity, not time, and that the numbers aren’t ordinal. It’s not a scale of 1 to 10; it’s a scale of 1 to 100 with only 11 total choices.
Let me explain, for the one of you who doesn’t know what the Fibonacci Sequence is: F-sub-n equals F-sub-n-minus-1 plus F-sub-n-minus-2. Or: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, and so on. At my office, we use the Mountain Goat planning poker deck, which has a sequence of 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, and 100.
One of our team leads, who also takes the role of Moderator (according to the Wikipedia page above), says that anything lower than a 2 is “get a cup of coffee” — in other words, it doesn’t take longer than that to complete the work. And, yes, while we’re estimating complexity and not time required it’s still roughly similar.
Which is a wrinkle to the system that I only just realized.
0 — I’ve never seen one of these, but I’m guessing it means “this task isn’t something we’re going to do”.
0.5 — A very simple task; can’t take more than half an hour.
1 — Slightly more complex, but will only take half an hour plus another half-hour of complaining about it.
2 — A pretty simple job; you can do two of them between lunch and quitting time.
3 — A not-very-complex job, usually with a lot of cutting and pasting; it’ll take you most of the morning.
5 — You think you can knock this out before lunch, but it ends up carrying over and you either eat late or come back to it afterward. You won’t stay late to work on it, though.
8 — This shouldn’t take more than a full day of work, but because of interruptions, count on a day and a half.
13 — About two days of work; three if you have a lot of meetings.
20 — This won’t take an entire week, but it’ll feel like it did. Just when you get on a roll, someone will interrupt you and knock you off-track.
40 — This one is so complex that you’ll work from home all week just to get it done, and probably work more than 40 hours. If you can’t work from home, you’ll stay late and you’ll keep your headphones on at all times. You’ll work through meetings and probably through lunch as well. You’ll promise to have it done by the end of the week, but you’ll end up staying at the office until ten on Friday night as a result. And maybe even working through the weekend.
100 — I’ve never seen one of these. I assume it would be used if you wanted to launch an entirely new site or app.
Compared to other places I’ve worked (where I’m the only developer on staff), agile seems like a really good way to keep everything on-track, organized, and allocated. And because most programmers are at least a little nerdy, using something clever like a Fibonacci Sequence (modified or not) appeals to people like that.
But sometimes I’d like to just pick a number from 0 to 10 and move on.