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:

StoryPointsPriority
As a user I can ...51
As an administrator I can ...31
As an application I can ...41

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:

StoryPointsPriority
As a user I can ...51
As an administrator I can ...32
As an application I can ...43

Another thing I see is priority like this:

StoryPointsPriority
As a user I can ...5High
As an administrator I can ...3Medium
As an application I can ...4High

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.

4 Comments

  • If they won't (often they can't) provide priorities, you need to be very clear with them that for items with the same priority you will assign sub-priorities based on your understanding of the problem.

    You could also re-frame priority as urgency but that will sometimes just lead to "everything is urgent".

  • Personally I have eliminated the "Priority" column and simply ask the project owner to put stories/use cases in priority order from highest to lowest. This forces the project owner to make a decision as to the relative importance of each one. If it's higher on the list, it (typically) gets tackled sooner.

  • You know James, sometimes the simplest things just escape me. Personally I never thought of that. Brilliant.

  • Agreed on the removal of priority from the sheets. Just a hindrance in most cases - sometimes I wish the same thing could be done for bug tracking so that bugs would not *all* be "catastrophic - must fix" in nature. ;)

Comments have been disabled for this content.