Team Foundation Sever is a funny tool in that it provides all of the mechanics to organize your work, but often does not provide the guidance necessary to organize it. This is where consultants are often called in. One area that I keep seeing confusion on is how to determine what to work on next. There are many fields that you can use to prioritize, the most obvious one is the Stacked Priority.
The Stacked Priority provides a true ranking from 1 to infinity. When we use the backlog to prioritize the work, we are simply changing and renumbering the priority. This sounds good and is easy to move items around on the board, but what is difficult is understanding when something is of a higher priority than another. If you ask any Product Owner, they'll tell you I have 6 #1 items. If you dig into it a little further, you'll find out that they have the same priority, but not exactly the same value. In fact many of the items are urgent, but just not important.
This reminds me of Stephen Covey's quadrant system for personal time management. The remainder of this blog post is about mapping the Covey system to TFS to help determine what to work next.
Personal Time Management has always been difficult. We all have a million things to do and never enough time in the day. I'm always amazed at those people that seem to keep several things going at the same time, without ever seeming to waste their time. If you ask, you'll usually find that they are using a good time management system. There are several of them out there, 42 folders, Getting Things Done, and the grandfather of them 7 Habits for Highly Successful people by Stephen Covey.
In Covey's book, one of the most useful items he identified was a simple way to take a list and break it down into categories. There are only 4 categories, but these quickly show you where to spend your time, actually there are really only 2 categories with 2 values each.
Importance. Either the item is important to you, or it is not. It is really a value judgment, so of course it can only be assessed by you personally. Often others will tell you something is important, but usually it is only important to them. You need to make that your own determination.
Urgency. Usually urgency does come from others or your environment. A flat tire on your car while on a trip is definitely urgent. A flat tire on your weekend car is not urgent during the week. Any medical emergencies are urgent, the annual checkup, not so much.
Covey organized these by putting them into a nice chart that you can quickly visualize what to work on next. In the chart, you can see that quadrant I is your first priority since everything is Urgent and Important, Quadrant II is where you want to spend the most time since it prepares you for the future. Quadrants III and IV are the vortex of time that seem to steal all of your time away, so steer clear.
Mapping to Team Foundation Server
So you can easily see how organizing work by a simple set of quadrants can provide the necessary tools to keep you focused. We can apply the same technique to Team Foundation Server. We already talked about having the Stacked Priority in TFS to put items at the top of the list, but you can quickly see that the stacked priority does not give you enough information. It provides the urgency, but not the importance. The solution is to use the Business Value field.
Business Value is another of the relative size fields like Effort on the PBI and Size on the Requirements work items. It can be any number you want. I would stay away from actual value since you probably will not be able to calculate that. Instead choose a simple scale that you can map things to. That can be 1 to 100, 1 to 10, or even 1 to 5. I think in most cases, 1 to 10 is a pretty easy one to implement.
The process is pretty simple:
1. Edit all PBI and add a value from 1 to 10. 2. Using the backlog, order the PBI in terms of Urgency (ignore business value for this pass). 3. Add the Business Value to the columns on the backlog. 4. Turn on the forecasting feature, and set your velocity. 5. Fill the iteration by importance. a. Take the items with a business value of 10 and move them to the very top one at a time. b. As soon as you fill up the forecasted iteration, stop. Assign all the top items to the iteration, you are done. c. If you run out of items at the level 10, go to step a with level 9 items.