Skip to content.

TalkBMC

Sections
You are here: Home » Blogs » Walter Bodwell » Agile Engineering » The Importance of Prioritization

The Importance of Prioritization The Importance of Prioritization

Document Actions
Agile development has many aspects, but the two I focus the most on are prioritization and releasability. In many ways, they're the hardest to get right. But, the better you get at these, the more you'll get out of Agile. In this blog entry, I'll focus on prioritization. I'll save releasability for next time.

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:
Tuesday, October 23, 2007  |  Permalink |  Comments (0)
Walter Bodwell

Subscribe to Walter's blog Subscribe to Walter's blog

Walter Bodwell's Bio

Agile Engineering
« July 2008 »
Su Mo Tu We Th Fr Sa
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
 

Powered by Plone

This site conforms to the following standards: