Priority is a sequence, not a single number!
This morning I opened up an email (and associated spreadsheet) that just made me cringe. Which of course made me blog about it, so here we are. Welcome to my world.
Time and time again I get a list of stories that a team has put together for me to either review, estimate, build, filter, whatever. Time and time again I keep seeing this:
Story | Points | Priority |
---|---|---|
As a user I can ... | 5 | 1 |
As an administrator I can ... | 3 | 1 |
As an application I can ... | 4 | 1 |
No. No. No!
Priority is not "make everything 1 so the team will do it". When you're standing in front of a task wall with dozens of tasks relating to various stories, which one do you pick? For me, I take on the tasks that are the highest priority based on what the user wants. If he wants Feature A to be first, then so be it and I grab the tasks related to Feature A.
However I can't do this (read: will not do this) when someone puts *everything* to be Priority 1. It's like asking someone to give more than 100%. You simply cannot do it. Priority is there to organize stories so the most important one gets done first. How you define "most important" is up to you, whether it's technical risk, business value, etc. and what value that gives you.
This is more like what priority should be:
Story | Points | Priority |
---|---|---|
As a user I can ... | 5 | 1 |
As an administrator I can ... | 3 | 2 |
As an application I can ... | 4 | 3 |
Another thing I see is priority like this:
Story | Points | Priority |
---|---|---|
As a user I can ... | 5 | High |
As an administrator I can ... | 3 | Medium |
As an application I can ... | 4 | High |
Another no-no. I can't tell from all the "High" features what is the "Highest" one and we're basically back to everything being a 1 but now we're calling it "High". Unless you've had a mulitple core upgrade in your brain (or are someone like Hanselman, JP, or Ayende who don't sleep) you do things one at a time then move on. As developers and architects, we need to know what is the most important thing to start with based on what the business need is.
With customers everything is important, but for planning sake it just makes life easier to have a unique list of priorities rather than everything being #1. When all is said and done and I have to choose between 3 different #1s in a list, I'll pick one randomly based on how I feel that day. And that doesn't do your customer any good.
Okay, enough ranting this morning. I still haven't finished my first coffee and I still have a few dozen emails to go through.