Over the years I’ve had many questions about how to effectively implement resource capacity planning.  I’ve written about this often in these pages and in other articles elsewhere.  ResCapBalance_300x123.jpg

Resource Capacity planning is theoretically very simple.  All I need is the resource availability and the resource requirement expectations and a-b=c!

Not so fast.  The challenge has many facets.

Who do we have?
First of all, not all resources are made equal.  The first challenge we’d have to pose is how do you want to identify the skills and roles we’ll require.  Most of those will be easy to do and some of those will require some discussion.  Next, we’ll need to be able to allocate people to those skills and roles.  Not everyone can do programming in Java.  Not everyone can do localization of documentation into french, etc.  But we’ll immediately run into another problem. Some of those resources will be able to do more than one thing.  Now how do we identify which they can do and which we’d prefer?  After that we’d like to know how much time each person is available.  Are they all on the same schedule?  Can we tell how many hours will be taken up by administrative duties?  Ok, so now we have a list of who we have.  Careful about double-counting those people with multiple resources though, Bob is still only here 8 hours a day even if he can fulfill 4 different roles.

What do we need to do?
Now we need to figure out the expected work load.  We’ll need to align our requirements with the same skills and roles that we defined when thinking about people.  We’ll need to look at the load for future projects and, for projects underway, we’ll need to evaluate how much work is left.  Once we have the list of work, we need to schedule it into the ideal schedule and finally we can begin adding the resources we identified to the work.  A resource levelling algorithm will tell us when the work could theoretically get accomplished.

We won’t be completely done with the exercise as the analysis will result in gaps where some people don’t work at all for a period of time because they’re waiting on other work.  Also, we haven’t talked about the prioritization of work or projects but we can be sure that has come into play.

Finally we’re ready to give our workers their marching orders right?  That wasn’t so bad, was it?

In fact, this exercise almost never goes as well as I’ve described.  Let’s just touch on some of the challenges you’ll need to overcome in creating your own resource capacity planning process:

  1. Levels of Resolution
    I’ve written about this topic before.  Project Management software vendors love to show how awesome it would be if you could get every employee in the company using their tool as a team member.  While that’s great for the vendor’s licensing sale, it may not be great for your process.  At an individual level, people usually work in a commitment paradigm.  A supervisor says “Can you get this done by Friday?” and the employee says “Yes, I can.”  That’s not analytics.  It’s a request followed by a promise.  It’s a contract; an agreement. The supervisor writes down the expected completion of his request and the employee puts the item into his or her to-do list.

    When we put that kind of information into an analytical model, the model falls apart almost instantly.  What happens if the person is absent for a day?  What if they take vacation?  What if they get sick or have to spend the morning with a sick child?

    It is far better to use the resource analytics at a much higher level and, down at the tactical level, let supervisors work with their team to move a person here or there as required in order to get the work done.  This means that the analyzer has to let some control go to the usually very competent supervisor but that almsot always results in faster work.

  2. Process adoption
    To the level you need to get everyone’s work together, you need compliance with the process.  It means that everyone’s naming conventions need to be the same. It means that there is a clear understanding of each role an skill.  It means there is a clear prioritization or portfolio selection process in order to sequence the work.  This process isn’t instant and requires collaboration where their may have been little before.
  3. Change management
    Compliance isn’t enough.  People at all levels of the organization need to be willing to work together.  That means that people need to honestly report their availability and their skills.  It means that project managers need to be honest about who they need and for how long.  It means that management will collaborate on project priorities and that people won’t ‘game the process’.  That’s culture change and it also isn’t instant.

These challenges aren’t unique to huge companies.  I have this challenge every week when I sit down with my chief of technology and our engagement manager in our small firm.  One wants ironclad estimates of when work needs to be accomplished.  The other wants ironclad estimates of how quickly people can get the work done and when they’ll be available.  We work these things out quickly in a closed room where we’re ultimately all after the same thing; as efficient an organization as is possible.