Dependency and Skill Capacity Planning (portfolio planning)

As features and products get larger more than one team needs to collaborate to deliver. This is often a tough problem to plan, co-ordinate and deliver effectively. We are sharing our tools that help understand how team load is balanced during the planning process with three goals in mind –

To visually document what work is on teams or skillsets with current planned features in mind

To highlight when load exceeds a teams or skillsets capacity (including the impact of in-planned work)

To help co-ordinate more optimal start dates for pieces or work to avoid saturating any one team or skillset

The tool is a “simple” spreadsheet that helps build a cohesive portfolio plan, and documentation about how we use it. Its pretty general, its main intent is to show the load on specific teams or skillsets over time interval (day, week, sprint, etc). You enter specific pieces of work for specific teams and the effort involved. You define what units “effort” is measured in. With a low and high guess about how long each work item will take (again in days, weeks, months), it can visually sum up utilization in those periods for each team. A simple heatmap shows load on each team. When you reach a limit you define, its clear to see.

Here is how we use it for monthly or quarterly planning –

We enter a list of teams or special skillsets

We ask for specific important dates, vacations, shows, release, etc.

We have the assembled group identify the MOST IMPORTANT feature (based on cost of delay optimally, they use our COD spreadsheet for that)

We break out what work is involved and what teams will do that work, with broad range estimates of time (weeks normally)

We set the start dates to align dependencies

We look at the heat-map. Is there more capacity? Yes, repeat from step 3

Yes, we focus the group on one feature at a time. When we reach capacity, we look for ways to resolve the constraint –

Shift start dates to spread the load on the constraining teams or skillsets

We add more capacity to the constraining teams or skillsets

We avoid a plan that is overcapacity at any point. If there is still reserve, we might look for ways those teams can assist the constraining teams, rarely do we suggest just add lower priority features just to keep them busy.