How Do I Facilitate a Prioritization Meeting?

Or “How Do I Start to Get My Portfolio Under Control?”

Premise

Often when we start an agile implementation it is well known that there is too much work to do, and insufficient capacity to get it done. But there is also a problem in that we have already “committed” to get all this work done, and further there is more work coming in. In many situations this is well known but there is a problem in that people feel that this is “just the way it is” and so live with the problem. In some cases the problem is exacerbated in that Teams could have their work visible in (often different) tools, feel like their work is under control and so don't see a need for a more holistic view. But a lot of WIP on Teams is directly the result of organizational WIP and so we need to understand the total picture.

The problem with too much work is that for each item we have, we are typically increasing the length of time it takes to get the work done on average. This is the work-in-progress (or WIP) problem (see What Is Wrong With 100% Utilization Thinking for more information on why this is).

As said, most people understand that this is a problem but don't see a way out of it. They feel like they have no basis for deciding, for example, which is the most important work, and which work should be scheduled later or even stopped entirely. Agile approaches provide solutions based on understanding the “Cost of Delay” to provide a more economic approach to prioritizing work.

The question for many is “how do we start?” The following script shows one approach to starting this discussion. It calls for a facilitated discussion that can be typically done in one day to help understand the priority order of work, the capacity available, and the items that should be “stopped”. While the script was originally developed to work at the enterprise portfolio level of project, there same approach can be applied at just about any level, although there is probably diminishing returns at say a Team level.

One note: this approach is aimed at setting things up. It does not talk about how you maintain these lists in evergreen format so that you don't have to go back an reprioritize all items every (say) quarter. You should also work to determine the going forward process of accepting new work in parallel so that you don't end up with the same problem later on.

Outcomes

As said, this is expected to be a one day facilitated event. At the end of the day we would expect the following outcomes:

Core

Initial set of data to help us understand what the true capacity of organization

Prioritized list of Epics so we can understand where we focus

Initial pass down prioritized list to understand where cutline is (below is list things that we should stop)

Epic list is up to date

Stretch

Begin understanding of how we do economic decision making in the Portfolio

Assumptions

We assume that people in the room have a common set of assumptions:

We need to stop starting and start finishing

We have limited capacity and need to understand what is possible

We will use agile approaches to generate required data. This will be wrong, but it will provide a view and we will track data from here on in to improve

We will compare our understanding of business value to size to determine preliminary priority

We will do rough calculation of capacity the organization has for planned items

We will compare size to list to understand cutlines, and discuss what falls below the line

We will use Normalized Story Points

Materials

The following items are needed as an input into the day's events:

Current list of all Epics on “stickies” in some way (for working on the wall): The simplest way to get this is to establish some kind of template and have the people that “know” pull together the list by filling in the template. Perhaps this means dumping a report out from a number of tools. Perhaps this means just generating a list. The key thing is to be clear about what data is required.

Current list of all Epics in “tool” (as the final record): you will need to make a decision on where this is. This decision can be postponed, but this will make it harder in the long term to keep the list evergreen, especially if you have remote participants. Bottom line is that you need to know the single source of truth for this work.

A field in the tool to capture Business Value (BV), Time Criticality (TC), and Job Size (JS)

Agenda

The following sections provide a brief view of the facilitation for the day.

Introduction

Set the stage with:

Review reason for being here and outcomes

Review background - what got us here, and why will be doing most of this on the fly

Chalk talk on approach we will take

Have Understanding of Total Capacity Available to the Organization

Discuss / decide % of capacity that is not plan-able. Remainder is what we will plan to.

Build prioritized list of Epics based on economic decision making using WSJF = ((Business Value + Time Criticality) / Job Size)

Review agenda

Make our List of Epics Current

At this stage we are typically early in the development of our portfolio system so we are really looking at a Kanban board with “Backlog”, “WIP”, and “Done” columns. Set up a wall with these columns.

For your first time through this the activity is:

Each person with “work” reads out their Epic and puts it in the correct column on the board.

Others can ask clarifying questions about that work (this allows you to combine items that are related and remove duplicates as you go)

Continue until no more Epics

If you already have captured this in the past and are looking to refresh the information so that it is current then the activity is:

Bring up current Epic list

Ask what items are finished? Move these to Done

Ask what new items have we started on? Move these items into “WIP”

Ask what areas are we missing? Create new items in the Backlog.

Update “tool”, “stickies” with new information

Note: Basic rule remains “if it takes capacity, we need to discuss how it is represented on the Portfolio Kanban.”

Determine Total Capacity We Have in Organization for 6 (Say) Months

The assumption here is that most of the time when people start this type of thinking, they decide they need to do this to get an understanding of “what we will get done in this budget year” and so they start saying “lets see what we can do in the remainder of the year”. Adjust the time period to whatever makes sense - the calculations below are based on “we are in the middle of the year, have 6 months left, and we need to see what we are going to get done by the end of the year.”

For 2 weeks, normalized Team Velocity is:

(Number of people of the Team - Product Owner - Scrum Master) * 8) - Holidays and vacations

“8” is 10 working days per 2 weeks, minus planning, demo, retro, and dailies

PO and SM are there to help work and while they might help the team do the work, we share should not count them (gives us a bit of slack)

This says “A Day = A Point” (a normalized Story Point)

To scale up, we will use:

Total people capacity for a 2 week period is Number of people - Named roles (for example in SAFe implementation this would include number of RTE's, PMs, etc)

11 weeks in a quarter (a quarter is 13 weeks we will remove 2 weeks per quarter to account for holidays and vacation over the period)

Total Quarterly capacity = Total people capacity * 11

Total Half-yearly capacity = Quarterly capacity * 2

Determine Percentage of Capacity That is Plan-able

Assumption going in is that this work is:

Probably not represented in Epics for the most part

Probably some chunk capacity will be in categories such as “Keep it Running” category or “Sharpen the Saw” category

Probably some part of investment in automation and monitoring

Activity is that we need a discussion to validate. Get percentages of “not Plan-able items”. Say using the categories above and then decide that we want to allocate some additional capacity for investment in automation and monitoring. Then:

Plan-able Half-yearly capacity = Total Half-yearly capacity * (1 - not Plan-able items)

Determine Criteria for Understanding How Valuable Something Is

We expect to use:

Business value (BV): how much value to item produces when complete - money coming in, cost savings etc

Time criticality (TC): what is the impact of delaying the delivery of this business value

Note: this is not the part where we talk about how big the item is

Assumption is that we need to refresh ourselves on what we will regard as criteria. I think the best way of doing this is by doing a couple of pairwise comparisons based of the criteria and then capture relevant parts of the conversation.

Activity

Pick 3 representative Epics from our list.

Then ask to order these items based on BV.

Then ask why and capture some of the reasoning.

Repeat for TC.

Determine BV and TC for Epics

Create chart with no numbers on it:

Horizontal axis: “Little BV” to “Big BV”

Vertical axis: “No Time Criticality” to “Needs to Be Done Next Month (or whatever previous discussion gave you)

Do Play, Pass, or Move for each Backlog and WIP Epic. When complete, affinity map clusters, first on BV, then on TC. Magically call:

Biggest items are call “20” group

Smallest items are called “1” group

Then group clusters in between these as 2, 3, 5, 8, 13

Numbers represent the BV and TC for each Epic. Capture results in “tool” (perhaps on sticky as well)

Determine Job Size (JS) of Epics

Need to understand the “bigness of the work”

This is not “duration” but is couched in terms of capacity the teams will take to do the work. Also this is “remaining work has to do”, not the total work we originally estimated.

Create chart with no numbers on it:

Horizontal axis: “Extra small”, Small”, “Medium”, “Large”, “Extra Large”

Do Play, Pass, or Move for each Backlog and WIP Epic. Again, you should see clusters, and so affinity map to closest size on horizontal axis.

For the Extra-large cluster, ask someone to provide a view of “how many (man-)days of work does these Epics represent on average?” We will just use that as the number for the job size. Same for Extra-small cluster. Figure out in-between numbers.

Note: there will be a tendency to argue about how big something is. Resist! Resist! Resist!. Reality is that you don't have much more information at this stage, so we should not pretend that this is highly accurate information.

Numbers represent JS for each Epic. Capture results in “tool” (and perhaps stickies as well).

Determine WSJF of Portfolio Epics

Explain WSJF as reminder:

Idea is to schedule small value items before you schedule large less valuable items

This version of WSJF takes BV and TC into account for value, JS for size of items

Calculate WSJF of Portfolio Epics in spreadsheet - WSJF = (BV + TC) / JS

Order list of Portfolio Epics based on WSJF

Determine Where the Cut-line is For The Portfolio Epics

Using a cumulative total of JS compare to Plan-able Half-yearly Capacity Things below the cut-line should be stopped.

This is the end of the scripted activities, but I expect there will be some discussion (OK, I expect all hell to break loose). Point is that this the best economic way to do the work. But we will need to cast a brain over it. And we should try to treat the numbers as real - it’s the best data we have for a total view of the portfolio. Expect it to be wrong (most portfolios still kick off too much work when they first do this effort). But it is better than nothing and forms a good basis for making these decisions going forward.