The life of a project manager is one of disruptions. As I sit here trying to write this blog post, I've been interrupted by questions from two developers, a relatively small tidal wave of email (it can get much worse), a completed deploy to check in on, a phone call from a client, and several tickets ready for QA. But that's okay. Good, even! That's what we're here for; PMs are the interrupt driven team member on projects and help keep developers focused and efficient, clients in the know, and projects moving forward at maximum warp speed. It just means that most days my timesheet reads like a short novel of quarter hour increments!
So Much To Do, So Little Time!
With all the moving pieces on a project, there's a lot for a project manager to keep tabs on. Email, Basecamp posts, to-dos, meetings and calls, milestones and timelines, a project budget, developer tickets and task coordination, scheduling project resources, a technical specification, a project plan, and quality assurance are just a start to the tasks for a PM on a single project, not to mention any client specific needs and the intangibles that distinguish a good PM from a great PM. Then there's all the non-client time we spend on internal coordination, planning, and trying to ride the constant wave of email. You'd think we do nothing but work, but Metal Toad strongly promotes healthy work-life balance. Our project managers have mastered the art of being extremely busy while in the office but also maintaining reasonable work hours.
We pride ourselves on our customer service, communication, and delivery on promises. Our clients will attest that we provide extremely rapid response time and quality information to clients. As mentioned above, we manage to do so without working 80 hour weeks (or even 60 hour weeks, for that matter). We also maintain a lean staff and our project managers are extremely efficient, resulting in the ability to manage a large number of clients and projects. So how do we assign our PMs lots of projects but maintain our high level of customer service while not managing to overload ourselves and burn out in a hurry? Enter our capacity planning model and calculating project velocity! It sounds complex, but this is one of many areas where we've found that simpler is better.
PM Capacity Planning
Our capacity planning starts with keeping accurate historical timesheet data to review. By looking at the time project managers spent on projects in a given week, we determined that our project managers max out around 18-24 hours per week of billable time on client projects given the other non-billable expectations we set for the position. With that goal in mind, we know what to target when assigning projects to PMs to hit full project capacity. But all projects are not created equal!
Some projects are huge, while others are small. Some are fast sprints to the finish, while others last months or even years. Size and speed independently don't give an accurate sense of the time required on a project. That's why we use project velocity to figure out how "big" a project is. Project velocity is simply the ratio of project scope (budgeted hours) to project timeline. To calculate project velocity in hours per week, we use the following figures from signed project proposals based on historical data for PM time spent on project budgets and how the time was allocated:
- Project Management Line Item - Divide the total PM hours allocation by the expected project duration in weeks (example: 50 hours, 10 weeks = 5 hours per week)
- Meetings & Calls Line Item - Divide 50% of the total meeting allocation by the expected project duration in weeks (example: 20 hours, 10 weeks = 2 hours per week)
- Planning & QA Line Items - Take 25% of the sum of planning and QA hours allocations and divide by the expected project duration in weeks (example: 40 planning hours & 60 QA hours total, 10 planning hours and 15 QA hours allocated to the PM over 10 weeks = 2.5 hours per week)
- Total the above calculations to come up with estimated project velocity (The example figures above would result in a project velocity of 9.5 hours per week)
The Capacity Sweet Spot
Using the target of 18-24 project hours per week and the above method for calculating project velocity, we have everything we need to figure out a project manager's capacity and ability to take on additional projects. But wait, there's one more factor!
Projects with different velocities can have drastically varied project ebb and flow. Assigning a project manager only high velocity projects or only low velocity projects would often result in conflict between projects. Instead, we've found the ideal scenario is assigning a project manager a healthy balance of high velocity to low velocity projects. We categorize project velocities as such:
- Dedicated (10+ hours per week): Dedicated projects require a majority of a PM's attention each week and take more than half their overall allotted project time. Dedicated projects can really only be managed in tandem with a few other medium or low velocity projects rather than other large projects.
- High Velocity (5-10 hours per week): These projects are expected to take a significant amount of the PM’s time on a weekly basis for the duration of the project. They are large projects that require meetings, planning, coordination of multiple devs, and lots of client communication and questions.
- Medium Velocity (2-5 hours per week): These projects are smaller projects that require diligent project management, but not at the scale of a larger project. They’ll often have weekly calls and client checkins on a regular basis, but a smaller number of devs and generally a slower pace or smaller overall scope.
- Low Velocity (0-2 hours per week): These projects are often small ESAs, projects on hold, or projects with very drawn out timelines. The PM will need to make sure the project deliverables are addressed, but ongoing dev may be minimal or on a task basis as new requests come from the client from time to time.
Given these categories, we generally like to assign our PMs 1-2 dedicated/high velocity projects, 2-3 medium velocity projects, and 4-5 low velocity projects. That means that in an ideal scenario, each of our project managers is assigned 7-10 simultaneous projects, is billable on client projects 18-24 hours per week, and has a healthy balance of project velocities! We've found that's a good mix to ensure we're extremely efficient and lean with our staffing while still maintaining an extremely high level of service.
New Project Hot Potato
With all of our capacity metrics in place, each time a new project comes in, the project managers reevaluate their project velocities and overall project loads. There's always the factors of "Oh! Oh! Please give me the project!" and "Yikes, I'll pass" when it comes to assigning a project, but barring occasionally arm wrestling for projects or playing a game of project hot potato, it's usually pretty obvious which PM is the best choice to take on a new project based on their overall project load and anticipated project start and end dates.
So that's how we allocate projects to our project managers and walk the fine line between maximum efficiency and pure insanity for a project manager. Your milage may vary! How does your team manage project capacity?