For a long time (since my time at Massive Entertainment working on Ground Control II back in 2004) I have been thinking about non-invasive ways of keeping projects (be they software or otherwise) organized and on track.
Almost needless to say, being the swedish game industry, things could get chaotic at times at Massive, considering the need to be agile and consistently be able to change requirements on the game. This got me interested in the very nature of prioritization, in particular when you have a huge pile of feature requests that grows and (sometimes) shrinks on an almost daily basis.
At the time I was infamous with the project management on demanding at least a constantly prioritized list of those features that remained to be implemented. I never did get that list, but I became aware of a lot of the reasons why such a list (a sorted list of 100+ items) never materialized.
At the core this is about algorithmic complexity. Faced with a such a big list of things to prioritize (which is to say, sort), the project management simply gave up because there were too many choices. It seems that about the best a human can do is approximate some sort of bubble sort, which would be to compare every item to every other item. Often it's even worse in real cases, since we as humans often can't focus enough to compare on thing to another in sequential order; we constantly look at many things at once.
When you think about it that way it's pretty obvious that there are (seemingly) more important things to do on a project than spend hours sorting a list that might have a life expectancy of less than 24 hours. However, after Ground Control II was done I kicked ideas around for years on how to create a tool that would automate as much as possible of this painful but (in my opinion) very important process.
Well now it's years later, and various incarnations and implementations of what I now call prio has become a central part of my workday. I use it to prioritize everything, and while it doesn't completely remove the pain of prioritization it does automate a lot of it and keep the number of choices required at a minimum.
But in the end, decisions are still decisions, and what would YOU do when faced with the choice of buying toilet paper over implementing that funky HLSL shader? The appropriate Ground Control II tagline would be:
"what would YOU command?" :P