Tuesday, May 26, 2009

ABCs of the Matrix

There's a technique in time/resource management called "ABC analysis", where you group tasks by criticality and timeline to set priorities.

I think ABC is a little simplistic, but it works for a lot of things. Doing basic ABC analysis let's you get a pretty good prioritization going, pretty quickly.

The problem I have with it, is simply that it chops up criticality into two categories (important, and not important), and timeline into two categories (soon, not soon).

So let's say under the ABC system you have four tasks to do; you would rank them like this:
A. Tasks that are very important, and due soon
B. Tasks that are very important, and due later
C. Tasks that are not important, and due soon
D. Everything else
In the ABC system, you are advised to simply not do (reject or reassign) things that are not important, and due later (drop the D is the mantra).

That's good advice. Stuff that's not important and due later is probably a waste of your time anyway.

Again I say, the problem is in the simplifying criticality and timeline into two values each. There's a good reason for it of course. With only two values for each variable, you can "chart" your priorities in your head easily.

The problem is that the analysis is really only suited to managing the time and resources of a single individual, or small group of individuals with equal skill, productivity, and resource cost.

Thing is, there are really four states of criticality, and four states of timeline.

Critical and required
Important and required
Less important and required
Not important and optional


Due now or overdue
Due soon
Due later
Due at no fixed time
ABC analysis is frequently right to simplify those categories down to two. By doing so, you reduce the total number of possible priority states from 16, down to 4.

But what about the items that fall in between the ABC classifications? For example critical items, that are due at no fixed time.

Under ABC you are advised to take such an item and either reclassify it as not important (because how important can it be if it has no fixed due date), or to fix a due date.

Human beings work a lot better with a due date, so it makes sense to do that... until it doesn't and everything explodes. Ok... sometimes that works and sometimes it doesn't; but again, it emphasizes that ABC is really designed and suited for a single individual.

What if you're trying to manage time and resources for a group of a half dozen or more, with differing levels of productivity, differing skills, and differing resource costs (in terms of staff, the resource cost is how critical a resource that staffer represents, divided by how much time that staffer has multiplied by a productivity correction factor).

At this point experienced project managers are breaking out their Gantt charts, and thinking about taskings and timelines.

I hate Gantt charts. I don't think they work. I think they are "successful" as a tool, because people force themselves into the charts reporting system after actually doing whatever it was they needed to do, in the way they wanted or needed to do it.

I prefer something from the wonderful world of science (also programming, statistics, finance, economics... really anything with heavy multivariable calculations) called Matrix Analysis.

Any problem with a finite and discrete set of variables, will have a finite set of solutions, which can be expressed as a matrix.

An aside: Unfortunately, realworld problems are never finite or discrete; but we can only plan properly if we approximate, and pretend that they are. Just remember that it IS an approximation, and a plan, not the real world. Be flexible, and responsive

So the matrix looks like this:





The higher up in the matrix, and further to the left, the higher the priority; or more precisely, the further from the origin, the lower the priority.

This method allows for items to have equal priority, as well as providing a nice numeric indication of that priority.

There's two ways of doing it, depending on how much of a spread you want, and how much weight you want to give relative differences in criticality and timeline. You can either add the numbers together for priorities of 2-8, or you can multiply them together for priorities 1-16.

How you do it is really up to you. Adding will result in lower priority differences, and less emphasis placed on how far down in each ranking the items are. Multiplying will result in higher priority differences, and more emphasis placed on relative position on each axis. Choose which works better

For example in a multiplication system, an item that was in the box "Critical, Now" would have a priority of 1 (because it is 1 step from the origin in either axis, in a 1 indexed list); whereas an item in the box "Optional, Unknown", would have a priority of 16 (four down times four over).

In an addition system "Critical, Now", the highest priority, would have a priority of 2; and "Optional, Unknown" would have a priority of 8.

Realistically, neither one is "better". It's just a matter of how you want to weight relative position.

In an addition system, the priority scaling is linear relative to the level of criticality or timeline; in a multiplication system it's progressively non-linear.

For example, in an addition system, an item in "Important, Soon" would have the same value as in a multiplication system, because 2 plus 2 is the same as 2 times 2.

The next level down in criticality, with the same priority would result in a single point difference in an addition system, but a larger increase in a multiplication system i.e. "required, soon" would be 5, in an addition system, and 6 in a multiplication system.

The next level both down and across would reduce in priority linearly with an addition system, "required, later" would be 3+3=6, whereas in a multiplication system, it would be 3x3=9. The next difference would be even greater at 8, vs 16.

So, once you decide whether to add or multiply; all you need to do is sort all the tasks into the boxes, and you've got your priorities sorted for you.

What surprises people here, is that often "highly critical" items end up as lower priorities than less critical, because of timeline; and that sometimes items with a very tight timeline end up deprioritized in favor of more critical items.

For example, a critical item with no fixed due date would be a priority four or five (depending on whether it was addition or multiplication); and would be outranked by anything with a due date of "now" other than an optional item. Conversely, a required item, due "now"

It may seem counterintuitive, but it works... IF you have your criticality correct.

...which is the big gotcha in ANY time management system.

None of that helps you with the most difficult task of all this; deciding on criticality. That's actually a much harder subject than setting priorities.

Well... sometimes it's easy, you're simply told by management that one item is more critical than another. If you are very lucky (in my experience this never happens), you are even given a ranked list of criticality.

More likely though, everyone says everything is equally critical, and it's all due yesterday.

Of course, not everything is equally critical... or at least not everything assigned to you (and your people) should be. If it is, then you have a major problem because resources are one of those finite variables we talked about above.

All you have to work with are timeline, criticality, and resources (effective manhours). If you end up with multiple equally critical items, you need to talk with your leadership (or your management as it were), about resources, tasking, and due dates. Sure, you can take five equally critical items, but only if the due dates allow for them to be accomplished with the resources available.

What it comes down to though, is without explicit guidance from higher, you have to set your own criticality, based on your own organizations priorities and responsibilities; and the priorities and political realties of those you report to, and work with.

Best of luck in that.