A few years ago, when I was new to software consulting, I attended my first resource scheduling meeting. Resource scheduling is the act of assigning team members to start projects on a specific date. During this meeting, the project manager wanted my insights into the projects that needed software developers.
It was a four-hour ordeal I will never forget. Between the arguments about building a better solution, who to put on what, and the constant flow of jokes, we faced enormous complexity in assigning people to projects.
I’ve seen many attempts to solve the difficult problem of scheduling work for teams. I witnessed engineers build custom software that never could do the job right. I watched off-the-shelf software solutions such as Microsoft Projects fail miserably. And I have experimented with different teams and processes in an attempt to find a solution to this problem.
It’s only been recently that I fully understood and appreciated the problem of scheduling. It is the infinite game as described by Simon Sinek. You have to commit to playing a game with a never-ending problem and the knowledge that rules will change. If you don’t accept this, the game will beat you, and your company will lose.
Why Scheduling Matters
This insight became clear to me after reading David Maister’s book Managing the Professional Services Firm. David dedicated a whole chapter to the importance of scheduling. I recommend that everyone who runs a software consultancy should read this chapter.
At the beginning, Maister states, “The scheduling of work assignments is the single most important managerial activity in a professional services firm. Whoever makes the work assignment decisions is the person really managing the practice.”
By placing your team members on specific project assignments, you are influencing the quality, cost, and timing of the solution delivery. This greatly impacts the experience your client has with your firm.
You control how your team members (both senior and junior) develop in their careers and engage with the company. All of this ultimately impacts the brand of the company and the collective capabilities that can be applied to future opportunities.
Ultimately, scheduling is a business function that supports the predictability and stability of cash flow. It drives the sales work upstream to fill gaps in the schedule. It drives financial performance on the accounting end.
Do this work well, and you will have clients who return with more work and tell great stories about your firm, along with happy employees who invest in the success of the firm. Do this poorly, and your firm will fail.
How Success Drives Complexity
When your firm is relatively small, the problem of scheduling is pretty easy. A spreadsheet is all you need as a planning tool. The time you need to invest in this work is small. If you hire good people, you will have success in your firm.
As you gain business success, you will have more client projects and gain more employees. The complexity of scheduling grows exponentially, and when you go from a team of, for example, six people to 30, there is real danger.
At some point, the spreadsheet won’t work anymore. Gaps appear in the schedule, and, as people sit idle, the firm loses profitability.
Many people caught in this situation assume they need to do one of two things:
- Find a new software tool to fix this.
- Start pulling everyone into the decision-making process.
This is flawed thinking.
Taking an Investment Portfolio Approach
Tools can provide insights, help manage information, and allow multiple people to participate. But to succeed, they require a consistent process, understanding of your team members, and the discipline to stick to specific principles.
This work involves more than simply scheduling a specific project. You must shift your thinking to the approach you’d use if you were managing a portfolio of financial commitments.
For a large team, this kind of management involves:
- Diversifying project commitments across multiple client industries to reduce risk of market retraction
- Analyzing the benefits and risks of specific team sizes and compositions
- Knowing when to grow and when to shrink specific teams
- Staggering project end dates across the portfolio to avoid the high cost of project startups at the same time
- Introducing junior staff to projects to grow their skills, while shifting senior talent off the project to ensure fresh experiences
Look closely at these considerations, and you’ll see that there’s no algorithm you can put into a machine to solve your scheduling problem. You are better served with simple tools, a good understanding of your team members, and a flexible approach.
Using Traction with Scheduling
In Atomic Object’s Grand Rapids office, we manage a portfolio of work across a team of 36 makers. To make this work, we arrived at a balanced approach that blends specific principles, a simple toolset, a dedicated process, and the right mix of people.
Our scheduling team includes the managing partners (MPs) along with our director of product development (DPD). The MPs have detailed knowledge of the opportunities in our sales pipeline, along with a general idea of the skills and interests of our team members. Our director has deep insights about the project teams in flight, and he’s looking for development opportunities.
Having implemented Traction for our leadership meetings in our Grand Rapids office, we now run our scheduling meetings the same way. We align around the current state of our portfolio and identify issues to solve, and we’ve established a set of to-dos that drive accountability.
We use a simple dashboard to alert us to signals of potential gaps in our portfolio. In addition, this dashboard lets us know when deals need to be closed.
Making Scheduling Into a Game
We manage our portfolio of commitments with a custom tool we call PlanIt.
With this simple tool, we can see who is committed to what project and when the project will end. Moreover, everyone in the company has access to PlanIt. They can see who is working on what AND what future project they may be assigned to.
Our goal with PlanIt is to eliminate the white space that appears. When this happens, we win. We accomplish this by aligning our sales activity to the available team. In this way, it sort of feels like the game Tetris.
Beyond PlanIt, we also use an Excel spreadsheet to model potential scenarios for proposed projects. It is very easy to create a snapshot of PlanIt at a specific moment in time. And, with that moment capture, we can use its flexibility to model various scheduling scenarios. In this way, we learn the best solution to meet our goals.
We also use Excel to keep a Focus List of specific opportunities we are developing through sales. This Focus List has our collective attention as we seek to fill the future white spaces in our schedule.
Focusing on Principles that Drive Scheduling
To help us make the right decisions, our scheduling team has aligned around specific principles:
- We favor written commitments (SOW, email, etc…) over verbal ones.
- Our delivery leads should keep the scheduling team aware of changes in project end dates.
- Active projects get first right of refusal for capacity, as long as they are willing to commit 8+ weeks in advance.
- We make sure we’re aware of active project end dates.
- We filter any sales opportunities in our Focus List with Atomic’s brand and engagement style, favoring engagements with greater alignment.
- We favor client relationships or opportunities that have greater predictability or stability.
- We only schedule work where we believe we can responsibly deliver success.
- We favor long-term relationships. For instance, near-term projects might be small, but future work may be significant.
- We favor long-term project commitments.
- We favor first-to-commit (first come, first served). First-to-commit become more favored as idle capacity within eight weeks.
- We look to provide opportunities for growth with our makers.
- We think long-term.
Using these principles, we can work as a team to meet our brand promise for our clients. We can also keep our portfolio healthy by avoiding taking on too much risk.
This doesn’t mean we won’t have some tricky problems to solve within our portfolio. For example, we sometimes lack information when trying to plan ahead for Accelerator hires. By sticking to our fundamental principles, we can make decisions that create future opportunities for these team members.
The Most Important Infinite Game
The key lesson is that staffing and scheduling decisions are the strategic decision for your professional services business, with very important and real consequences for your long-term success. Don’t take the easy road of using narrow considerations for quick decisions. And don’t make the effort into a fun joke session.
Scheduling and staffing work is hard, but not impossible. Bring together key people, use simple tools to track projects, create a framework to make decisions, and bring a flexible mindset to the task. In this way, you can increase your chances for success.
In conclusion, clients want quality, efficiency, and service. The more thoughtful you are with staffing projects, the more you can meet these desires. That, in turn, allows you to pursue your own goals, increase profit, improve morale, and create richer learning opportunities for your team.
This is how you play the infinite game of scheduling to win.