Archive for March 18, 2013

Swinging the axe…

To quote the insanely awesome Steve Jobs, “Deciding what not to do is as important as deciding what to do. That is true for companies, and it’s true for products.”

That’s great advice, but how do you decide?  How do you get started?  How do decide between one project or another which one gets the nudge off the plank?

Personally, I handle the project planning problem with a series of very defined steps that I’ll outline for you here.

  • Step 1: Identify and define your metrics
  • Step 2: Categorize the projects
  • Step 3: Add weights to the metrics and categories
  • Step 4: Estimate values for the metrics and categories
  • Step 5: Use some small equations to rank the projects
  • Step 6: Evaluate the rankings to decide what can be done and what can’t in the current development cycle

Most organizations at one point or another seem to gravitate to a set process like this.  Usually with a spreadsheet that allows you to calculate characteristic values, weightings, and rankings.

However, if your company is still small, you might not yet have a set procedure for project ranking and culling, but it’s good to get a procedure in place early and established because the process usually does take some tweaking as you go along.

So, let’s go through the steps and talk about each one.  I have provided a sample spreadsheet that you can look at as we talk about the process at the bottom of this post.

Step 1: Identify and define your metrics

In Step 1, what we’re trying to do is find some metrics that we’d like to use to help rank our projects.  Answering questions like, “How much will this project help us land new sales?” or “How much will this project help satisfy our current customer base?” are good questions to ask at this level.  These questions require a “thumb in the air” estimation as to the level of contribution each project makes to that particular metric.

These questions then each become columns in the spreadsheet.  Each of these columns will also have an associated weight value attached to it that will be used during the final calculation.

There may possibly also be special metrics that aren’t of the standard “thumb in the air” type.  “Cost” or “Effort” is one of these metrics.  I normally put this at the end of the list and use it as a negative metric as opposed to the other positive metrics.  In the sample spreadsheet I’ve also included a “funded” column that is used for signifying that a project is paid for by a customer.  These would be special identifiers for those projects, and this column is not weighted since these are already “must do” projects and do not need to be evaluated with the other “normal” projects.

Step 2: Identify categories for the projects

You should be able to identify categories of projects that you normally address during a development cycle.  Common project categories are projects that improve quality, projects that improve the underlying architecture, projects that improve system performance, projects that are of a visionary nature, or projects that are of a strategic nature.  These categories are “binary” in that a project either belongs to the category or doesn’t.

Like the metrics values, these categories become columns in the spreadsheet with weights attached as well.

Step 3: Add weights to the metrics and categories

Each column in your spreadsheet should now correspond to a metric or a category.  Now it’s time to think about how important each of these items is to the current release, the business goals, and the product itself.  It’s also worth thinking about the granularity of the weighting.  In most cases I use a 1-5 weighting with 1 being minimally important and 5 being maximally important.  I find that having 5 grades allows me enough flexibility without being too dense.  One could go as small as 1-3, but I find that having two more grades is usually the sweet spot for me.

Once you have the granularity of your grading system defined, you can then assign grades to each column.  You will see in the example spreadsheet that I’ve done this on a separate sheet.  you will also see that there are hidden columns associated with each of the columns in the spreadsheet that capture the calculated value after each value is multiplied by the weight.

So, to take “Cost” as an example, I would decide whether the level of resources I have available during this cycle is insufficient, sufficient, or plentiful.  If resources are insufficient, then the cost is very important (5).  If resources are plentiful, then the cost might be of lesser importance to my decision process (2 or 1).

I would use a similar process to decide upon weights for the other categories with 5 being very important, and 1 being not important.

Step 4: Estimate values for the metrics and categories

Now, we get to the meat of the process.  This is where you assign numerical values to each of the metrics and “yes” or “no” values to the characteristics.

Here is where the spreadsheet work really begins.  What you want to do is create a spreadsheet with a row across the top with headings.  These headings will correspond to each of the metrics and categories that you defined earlier.

Then, in the first column from the second row down, you want to list each of your potential projects.  (P1-P14 in the sample spreadsheet.)  These could be unique descriptive names like, “Update UI for widget X”, or they could be unique project identifiers like, “DES1967″.  Just make sure that you can identify which project you’re talking about on each line.

Once you have the header row and the project column filled out you can begin entering values for each of the projects in the columns.

For normal metric values, I again use a scale of 1-5 with 1 meaning that the project minimally conforms to that metric, and 5 meaning that the project definitely helps/conforms to that metric.

For the category columns, I place a 1 or X in each category that applies to that particular project.

Special categories like “Funded” get an X since this is a binary value, but other special columns like “Cost” might get a number.  In the case of the example spreadsheet, I used “Person Days” values.  The units aren’t really important just as long as they’re all the same.  What you’re really interested in is the relationship between the various values, not so much the values themselves.

Step 5: Use some small equations to rank the projects

Now that you have your spreadsheet filled out, you can do some simple math to organize and rank the projects.  You’ll see that in my example spreadsheet I’ve hidden a series of columns (C, E, F, etc.)  These columns are simply there to aid with the math.

The equation I used in my example spreadsheet works like this…

For each of the “metrics” columns (Sales importance and Customer importance in the example spreadsheet), I take the value in the column and multiply it by the weight for that metric.  I then add those together in a running total.

For each of the “categories” columns (quality, performance, etc.), I take any columns with an X or 1 and add the weight value from that column to the running total.

I ignore special columns like “funded” in the calculation since these are not there to add weight to the calculation, but are to specify a special project.

For the “Cost” or “Effort” column, I multiply the value by the weight for that column, and then I SUBTRACT that value from the running total.  I do this since the cost is something negative associated with the project where as the metrics and categories add value to the project.

This weighted running total of the metrics and categories with the cost subtracted is then my final ranking.

I have also seen some people use a division instead of a subtraction.  I’m not sure that either one is better than the other.  Dividing leads to fractional numbers and the cost having a higher influence, subtracting leads to possible negative numbers and cost having an influence more equal with the other factors.  I used subtraction in my example, but you may feel that division is more correct for your situation.  Again, adjust the method as necessary for your situation.

Step 6: Evaluate the rankings to decide what can be done and what can’t in the current development cycle

Once the final score has been calculated, you’re ready to rank the projects according to score.  This will allow you to see which projects are more important to accomplish according to the metrics, characteristics, and weights you’ve identified.

The final part of the process will be to calculate the resources available to you during this cycle and to estimate where the axe begins to fall.  Once you run out of resources, then you have to start making hard decisions.

In my example spreadsheet, I’ve identified the number of resources on the weights sheet.  Then I’ve used some conditional formatting to turn the numbers in the “Cost” column red when the resources run out.  This tells me where the “red line” is and which project is the first to fall off the map for this release.

Then I can begin to make hard decisions about whether the last project above the line is really more important than the first project below the line, or whether a project below the line can be moved up to be in-scope considering whatever resources I have left, etc.

Conclusion:

Using a regimented method such as this at least allows you to compare apples to apples, and gives you a quantifiable, defensible method for deciding which projects get to stay and which ones get deferred until later.

You can see an example of this with my PM Survival Kit item #5: Project Planning & Scoring Template

As with all of my templates, this template is released under the Creative Commons license as I expect that you’ll need to modify the template to fit the needs of your particular business, company, or situation.  All I ask is that if you make major improvements, you send them back to me at ae@ashleyeckhoff.com so that I can update the template and supply any worthwhile changes to the wider Product Management community.

UPDATE : I had the honor of giving a presentation about this subject at Product Camp St. Louis 2013.  You can find a copy of the presentation I gave here:

Voted off the Island: Deciding which projects make the grade

And a note to anyone who attended my session…  Please feel free to leave me feedback in the comments.  I’m especially interested in any constructive criticism so that I can improve and hopefully deliver even more value at Product Camp next year.  Thanks again!