Joel Spolsky doesn't really need an introduction. He's one of the rare people that you can refer to by their first name, people know who you're talking about. He's so famous that there are people selling shirts referring to the man.
He hasn't been as chatty lately on his website as he was in the "golden years" of Joel on Software, so this is from a few years ago:
More importantly, I should have realized that "important" is not a binary thing, it's an analog thing. There are all kinds of different shades of important, and if you try to do everything, you'll never get anything done.
So if you want to get things done, you positively have to understand at any given point in time what is the most important thing to get done right now and if you're not doing it, you're not making progress at the fastest possible rate.
Joel on Software (http://www.joelonsoftware.com/articles/SetYourPriorities.html)
I suggest you read that post, along with all the other old posts that he has in his archive.
As for the content, I find it interesting that this is one of the primary components of Agile development. You don't do things in random order just cause they need to eventually get done, you work on what's important now. Scrum gives you specific points to inject changes to the "what's important now" list but allows you the chance to focus for a sprint.
In any case, I think the challenge is being able to identify what is the "most important thing to get done right now". I don't have all the answers and will probably post later with more thoughts on the subject, but since my "quote of the week" was quickly becoming a "quote of the month", I figured I should post something :)