In the past there have been many great debates:
- C# vs. VB.NET
- Capitalization of Id vs. ID
- Flat-top toothpaste lids vs. Screw-top toothpaste lids
- Proper direction of toilet paper rolls
Now out of this chaos, a new darker dilemma has risen to challenge all who might stand in its way:
“How does the priority column work?”
The company I work for has been growing, and has recently focus a great deal of attention to improving our software estimation process. So far we have been impressed with Joel Spolsky's Painless Software Schedules.
We didn't want to wait until we were finished with the current project we are working on to start. So we took our task list and added it to the document.
The only thing is half of us think priority works one way, and the other half thinks it works the other way. So at the end of the day, we had a task list that was a little confused. It is easily sorted out, but the greater question remains: “How does the priority column work?”
Consider the following:
Task Priority
Blah 2
Bleh 1
Bluh 3
Which is the most import task: Blah, Bleh, or Bluh?
In one corner you have the “Bigger is better” team. And in the other corner you have the “First things first”.
“Bigger is better” Pros:
- It is kind of subjective, but Joel's article seems to support this side from the screenshot.
- Microsoft Project appears works this way as well. Surprisingly, searching help didn't reveal this for certain.
- Parallelism: Higher value is higher priority.
- Stubborn pride.
“First things first” Pros:
- Everyday ordinary usage: Blah is my first priority. Blah is my second priority. Etc.
- Windows Event logs uses lower number as higher priority and therefore more significant.
- Definition: Precedence, especially established by order of importance or urgency. [Subjective]
- Direct relationship: You would assign the first thing you need to work on the directly related value of one.
- Usage: Priority1.com and PriorityOne.com exist. Priority10.com, PriorityTen.com, Prority100.com, Priority1000.com don’t.
- Stubborn pride.
I guess programmers just like to argue over petty things sometimes, because the sides formed almost instantly and everyone's heals dug in on this one.
So do you find yourself, “thrust upon the horns of dilemma” or do you see an easy way out? I'm hoping for a landslide majority so there can be no question to the truth.
Please comment if you'd like to share your thoughts (or save us from each other).