The Importance of Prioritization
Prioritization is at the heart of Agile development. Agile is all about doing the most important / valuable things. You make a list of the things you could / should do (a backlog). You rank that list. And then you attack the first item on the list.
When an organization first starts doing Agile, the ranking part can be a challenge. Product Managers are used to putting things in categories: critical, important, useful. We've got to do all of the critical things. We should do as many of the important things as we can. We should work in the useful things as possible. In Agile, you have to be more granular. What is the most critical of the criticals? The second most?
This is hard because they can be very close to each other (a toss up). Worst case, go with your gut feeling. If they're that close, it likely won't make a huge difference if you're wrong. As you do it more, it'll get easier. Plus, you'll be learning more about the value proposition of each as time passes. It is better for the Product Manager to make the gut call than the team since he/she is closer to the customer. If the Product Manager doesn't rank them, the team will.
What's the right level of granularity for a backlog? If an item has some parts which are optional and can be prioritized independently, they should be broken out into separate backlog items.
The goal of the engineering team is to get as far down that backlog as possible in the release. As focal areas change from release to release, cross training is important. Your people or your teams need to be able to work on areas outside of their core (in case that core isn't a focus for the current priorities).
The priorities don't remain constant. Every iteration you learn more about the customer and the ability of the items in the backlog to help the customer. That knowledge should be used to re-evaluate / change the backlog based on what you've learned.
Why is prioritization so critical? If you rank the work and attack in that order, you know that the things that won't make it are less important than anything that did. The biggest productivity gains from Agile come from what you don't do.
_____
tags:


