The Operating Method: A Bottom-Up Agency Business Forecast With Less Effort

7.6.2024
 - 
Matti Parviainen

From task level planning to business forecasting

A professional service business consists of people completing tasks within projects to accomplish the goals agreed with the client. In a company with hundreds of consultants, there are dozens of teams, with many people working on multiple projects at once.

As a business, you’d probably want to have a sensible business forecast, so you come up with an idea: let’s start using a project management model and a tool, where we’ll start estimating what it takes to complete each task. Let’s then aggregate this task-level estimate to project level, and finally, we’ll have a company-wide forecast built bottom-up from tasks.

Great, this is the most detailed way to engineer the whole thing. However, this is also a path to madness.

Why People Struggle with Task Time Estimates

Let’s face it: when you’re dealing with complex projects and ambiguous tasks, humans are bad at estimating how long something takes. Even the best software development teams with brilliant minds utilizing the most up-to-date planning frameworks get the estimation part wrong more often than not. Now imagine you're in two or four projects simultaneously and trying to come up with an aggregated estimate of your next week’s workload; you might not even know your next week’s tasks yet!

Companies try to aggregate these tasks that happen within projects into a sensible business forecast, and that’s the wrong way to do it in most cases. If your team is working with more than just repetitive tasks day in and day out, the margin of error is simply too high. There's too much entropy in the system.

The wrong way that encourages busywork

Making a company-wide business and capacity forecast from detailed task-level estimates means pushing your people to manufacture a future that is unlikely to happen. The plans get outdated quickly and many of us just give up and let the plans rot. Perhaps even worse is when some of us can't let go of the planning routine and keep themselves busy updating the plan. Your clients would rather not pay for that time spent.

The right way, leading into better outcomes with less effort

Consultants estimate their own project-level allocations by using the task-level estimation as a basis but do not try to come up with a scientific estimate. Their gut feeling is enough. If they're splitting their focus on two separate projects, one of them will likely take 2 days of a 5-day workweek, leaving 3 for the other. It's actually beneficial to do the mental work of deciding which one is going to take more time this week – or is it going to be solid 2.5 days for each. This is about as granular as it should get. Begin the work and adjust later if necessary.

Planning should happen on a higher level

Instead of trying to make a really detailed estimate, we recommend agencies and consulting companies let their teams manage individual projects as they best see fit. However, on a project portfolio level, it’s a good idea to have visibility into resource allocation; otherwise, you’re sailing in a thick fog. Consultants should have agency in planning their own workloads. Whether a certain task is completed on Tuesday or Wednesday, or if it takes 2 or 5 hours, is up to the project team to decide. Let people plan their workloads.

There are some prerequisites for this method to work:

  1. Teams with high autonomy – even striving to be self-organizing
    1. The responsibility for people’s schedules and use of time should primarily be on the individual consultants
  2. Culture of transparency
    1. People should have visibility into other people’s schedules and workloads, so they’re not making decisions in a vacuum
  3. Clear communication between sales and delivery
    1. When there’s more autonomy for the teams, you should encourage active communications within the teams

The following example will most likely yield an as accurate result, as a detailed plan that takes three times as long to craft:

“I’m going to be working roughly 4 hours per day on the John Deere project, and 2 hours per day on the Walmart one.”

It shouldn't be more complex than that!

How to assess if your planning is going fine?

We believe in the same method as before: a rough idea is good enough. Instead of worrying about understanding how things went on a task level within projects, compare your project-level allocations with actual hours from time tracking. Not on a task level, but project level. Not daily, but perhaps weekly, and on a larger level, a couple of times a month. Let project teams have visibility over the project's planned and actual hours, and when the team has a weekly meeting, they’re able to discuss what went right or wrong. Again, you'll most likely end up with good enough estimates, leaving more time for client work.

Summary

Having worked in professional services for a long time, we’ve noticed how it’s next to impossible to generate a detailed forecast of the future, and the law of diminishing returns applies to trying to over-engineer your financial forecasts to the maximum. The Operating way frees your company from busywork. Give your teams autonomy to plan their work, and don’t try to enforce a way of working that encourages busywork. We recommend you practice higher-level planning on a company level. You’re able to run the business with a lean team, and people will feel more fulfilled, as they can steer their own work. And your financial estimates (like a revenue forecast) will be better with less effort.

Matti Parviainen photo

Matti Parviainen is the chief product officer at Operating. He's trained hundreds of consultants on what it means to build trust, earn the right to advise, and how to build relationships.

MORE READING IN THE BLOG

Download our Operating Routine for Staffing

Agencies and consultancies of all sizes – from a boutique to an international powerhouse – should operate efficiently. We wrote a Staffing Routine and a solid agenda for your weekly meeting. Get the guide.

Oops! Something went wrong while submitting the form.