Project Management & Agile Module 13 – Governance, portfolios and scaling agile
Programmes, portfolios and OKRs
How programmes and portfolios differ from projects, why six teams finish more by starting less, and how OKRs and Evidence-Based Management steer the choices.
What you will learn
- Explain how programme and portfolio management differ from project management
- Prioritise a portfolio against its team capacity using cost of delay
- Write OKRs whose key results are measurable outcomes, and grade them
- Measure value with Evidence-Based Management's four key value areas
Before you start
What you’ll learn · Before you start
What you will learn
- Explain how programme and portfolio management differ from project management
- Prioritise a portfolio against its team capacity using cost of delay
- Write OKRs whose key results are measurable outcomes, and grade them
- Measure value with Evidence-Based Management's four key value areas
Before you start
On this page
An invented edtech company funded ten initiatives for its six teams and started all ten at once. All ten were live by month 7, yet waiting for them cost 4,247 thousand rupees of benefit, 522 thousand more than it had to.
Projects deliver outputs. Programmes and portfolios decide which outputs are worth making, together and in which order, and OKRs tie those choices to the strategy so everyone can see what the work is for.
A project delivers, a programme coordinates, a portfolio chooses
The company sells online courses to working adults and college students. Its training portal for corporate customers is a project: one output with its own scope, plan and team. A programme: Related projects and other work managed together for a benefit that none of them would deliver alone, such as a city's metro lines, depot and fare system. More in “What a project is and what project leads do” joins related work for a benefit none of it brings alone, here corporate renewals, which need the portal, team dashboards and a sales push together. A portfolio: All the programmes, projects and operations an organisation chooses to fund for its strategy; portfolio decisions start, pause and stop work. More in “What a project is and what project leads do” is everything the company funds for its strategy. Each level asks its own question:
| Level | The question it answers | Judged by |
|---|---|---|
| Project | How do we deliver this output? | Scope, time, cost, quality |
| Programme | Which related work brings this benefit? | Benefits realised |
| Portfolio | Which work deserves our teams? | Value for the capacity |
Programmes are judged by benefits, and portfolios by what the whole set returns for the teams it uses. PMI keeps separate credentials for both levels: the PgMP for programmes, for four to seven years of experience, and the PfMP for portfolios, for eight or more. Step from the strategy down to one project, then follow the benefits back up:
The drawing shows the whole scene; its 6 steps are listed below.
Every step as text
- The strategy names a direction. The company wants its courses to be the first choice for working adults learning data skills. That sentence decides nothing yet; it says what every later choice is for.
- The portfolio chooses the work. The portfolio board turns the strategy into a set of funded initiatives that fits its six teams. It starts, pauses and stops work, and it can say no to a good idea that the teams have no room for.
- A programme joins related work. The corporate learning programme groups the training portal, team dashboards and a sales push, because corporate customers renew only when all three arrive. None of them would deliver that benefit alone.
- A project delivers one output. The training portal is one project inside the programme, with its own scope, plan and team. It can finish on time and still deliver no benefit if the dashboards never arrive.
- The benefit is measured later. Corporate renewals are counted for months after the portal goes live, by a benefit owner in the business rather than the project team.
- The evidence goes back up. The numbers return to the portfolio board, which uses them to decide what to fund next. A portfolio that never hears about benefits can only count outputs and dates.
The arrow back up matters most. Portfolios that never hear about benefits can only count outputs and dates.
A portfolio is a capacity choice: start less, finish more
The company’s ten initiatives need 31 team-months between them, and each has a cost of delay: What one period of lateness costs for one item: money not earned, a penalty incurred or a risk left open. Dividing it by the item's duration sequences a queue. More in “Lean flow: waste, Little's law and constraints”, the benefit lost for each month it is not live. The program compares starting all ten at once with six in progress, ordered by cost of delay per month of work:
"""Ten initiatives, six teams: what starting everything at once costs an invented edtech company's portfolio.
The company sells online courses to working adults and college students. Its portfolio board has funded ten
initiatives for the year. Each needs one team for a number of months, and each has a cost of delay: the benefit, in
thousand rupees a month, that the company gives up for every month the initiative is not yet live. The company has
six teams.
Policy A starts all ten at once and shares the six teams among them equally (a team cannot split further than one
initiative at a time, so each unfinished initiative gets 6/10 of a team, then more as others finish). Policy B keeps
at most six initiatives in progress, one team each, and starts them in order of cost of delay divided by months of
work, highest first. Neither policy pays any switching cost, which flatters policy A.
The program prints the month each initiative goes live under both policies, then the month of the first benefit, how
many are live by month 3, and the total benefit given up from the start of the year until each one is live.
"""
from fractions import Fraction
TEAMS = 6
# (id, initiative, months of work for one team, cost of delay in thousand rupees a month)
INITIATIVES = [
("I01", "Corporate training portal", 6, 210),
("I02", "Offline downloads in the app", 3, 150),
("I03", "Subtitles in Hindi and Tamil", 2, 110),
("I04", "Instalment payments at checkout", 2, 90),
("I05", "Mentor chat for learners", 4, 120),
("I06", "Course recommendations", 4, 70),
("I07", "Accessibility fixes (WCAG 2.2 AA)", 1, 40),
("I08", "New analytics warehouse", 5, 45),
("I09", "Referral rewards", 1, 30),
("I10", "Team dashboards for corporate clients", 3, 60),
]
def start_everything(items, teams):
"""All items in progress at once; the teams are shared equally, at most one team per item."""
left = {i[0]: Fraction(i[2]) for i in items}
now, done = Fraction(0), {}
while left:
share = min(Fraction(1), Fraction(teams, len(left)))
step = min(work / share for work in left.values())
now += step
for key in list(left):
left[key] -= step * share
if left[key] == 0:
done[key] = now
del left[key]
return done
def limit_in_progress(items, teams):
"""At most `teams` items in progress, one team each, started in the given order."""
free_at = [Fraction(0)] * teams
done = {}
for key, _name, months, _cod in items:
t = min(range(teams), key=lambda k: free_at[k])
free_at[t] += months
done[key] = free_at[t]
return done
def main():
order = sorted(INITIATIVES, key=lambda i: Fraction(i[3], i[2]), reverse=True)
a = start_everything(INITIATIVES, TEAMS)
b = limit_in_progress(order, TEAMS)
print(f"{'id':<4}{'initiative':<39}{'delay/mo':>9}{'months':>7}{'live A':>8}{'live B':>8}")
for key, name, months, cod in INITIATIVES:
print(f"{key:<4}{name:<39}{cod:>9}{months:>7}{float(a[key]):>8.1f}{float(b[key]):>8.1f}")
print()
for label, done in (("A, all ten started at once", a), ("B, six in progress, by delay per month of work", b)):
first = min(done.values())
by3 = sum(1 for t in done.values() if t <= 3)
given_up = sum(cod * done[key] for key, _n, _m, cod in INITIATIVES)
print(f"Policy {label}:")
print(f" first benefit in month {float(first):.1f}, {by3} of 10 live by month 3, "
f"all live by month {float(max(done.values())):.1f}")
print(f" benefit given up until each is live: {float(given_up):,.0f} thousand rupees")
saved = sum(cod * (a[k] - b[k]) for k, _n, _m, cod in INITIATIVES)
print(f"Policy B gives up {float(saved):,.0f} thousand rupees less, with the same six teams and the same work")
if __name__ == "__main__":
main() Output
id initiative delay/mo months live A live B I01 Corporate training portal 210 6 7.0 6.0 I02 Offline downloads in the app 150 3 4.0 3.0 I03 Subtitles in Hindi and Tamil 110 2 3.0 2.0 I04 Instalment payments at checkout 90 2 3.0 2.0 I05 Mentor chat for learners 120 4 5.0 4.0 I06 Course recommendations 70 4 5.0 6.0 I07 Accessibility fixes (WCAG 2.2 AA) 40 1 1.7 1.0 I08 New analytics warehouse 45 5 6.0 7.0 I09 Referral rewards 30 1 1.7 2.0 I10 Team dashboards for corporate clients 60 3 4.0 5.0 Policy A, all ten started at once: first benefit in month 1.7, 4 of 10 live by month 3, all live by month 7.0 benefit given up until each is live: 4,247 thousand rupees Policy B, six in progress, by delay per month of work: first benefit in month 1.0, 5 of 10 live by month 3, all live by month 7.0 benefit given up until each is live: 3,725 thousand rupees Policy B gives up 522 thousand rupees less, with the same six teams and the same work
Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 portfolio_pick.py
Six at a time gives up 3,725 thousand rupees instead of 4,247, and its first initiative is live in month 1.0, not 1.7. Every initiative needs the same team-months either way; starting all ten only spreads each team thinner, and the program does not even charge for switching between them. The portfolio capacity: The work a portfolio's teams can do at once; starting more initiatives than that spreads the same teams thinner and adds waiting, not work done. of a portfolio is the work its teams can do at once, and starting beyond it adds waiting, not work done.
Order is the second choice. Most valuable first starts the largest costs of delay; shortest first starts the quickest items. Both are compared below on the same ten.
Checkpoint
Check: Projects, programmes and portfolios · A portfolio as a capacity choice
OKRs connect the portfolio to the strategy
OKRs: Objectives and key results: a few ambitious objectives, each with about three measurable key results graded from 0.0 to 1.0, public across the organisation and kept apart from employee evaluations., objectives and key results, turn a strategy into a few goals anyone can check. Google’s re:Work guide describes ambitious objectives, each with about three key result: A measurable result that shows progress towards an objective, such as raising a course completion rate from 18 % to 30 %, graded at the end of the period. graded from 0.0 to 1.0, and expects an average of 0.6 to 0.7. One of the company’s OKRs has the objective “make our courses the first choice for working adults learning data skills” and three key results:
| Key result | Today | Target |
|---|---|---|
| Course completion rate | 18 % | 30 % |
| Paying corporate customers | 40 | 70 |
| Days from sign-up to first lesson | 3 | 1 |
Each row names a measure, its value today and a target, so the quarter’s grade can be worked out. OKRs are public, so every team sees what the others are working towards. Google’s guide adds that OKRs are not employee evaluations and not a shared to-do list. Portfolios use OKRs to say no: work that moves no key result waits.
Two related tools often come up beside OKRs. Scrum.org’s Evidence-Based Management: A Scrum.org guide for deciding with evidence: it measures the value an organisation delivers in four key value areas and moves towards its goals in small, measured steps. guide measures value in four key value area: One of the four areas in which Evidence-Based Management measures value: current value, unrealised value, time to market and ability to innovate.: current value, unrealised value, time to market and ability to innovate. SAFe’s Lean Portfolio Management applies Lean thinking to funding and governing a portfolio, as the scaling lesson shows.
Checkpoint
Check: OKRs and how they are graded
Filling six teams five ways, and pricing a slip Pro: opens with a Pro, Premium or Ultimate pass
The order a portfolio fills its teams in, and its answer when an initiative slips, decide how much benefit it gives up. Both are worked on the company’s ten initiatives, with the numbers the program prints.
In this part:
- Five ways to fill six teams, priced over a year
- A slip priced three ways before anyone argues
- Pausing work so that it can restart
- Programmes inside the portfolio keep their benefits in view
1 runnable example (Python) · about 8 minutes
Opening this part with your pass…
This part opens with any MySmartCoPilot pass.
- Pro pass · 1 week₹79$2.99
- 30 days₹179$5.99
- 1 year₹1,699$45
One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.
Passes can’t be bought right now, so this part can’t be opened at the moment. The free part above stands on its own. If you have a pass, enter your licence key.
It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).
Writing and grading OKRs, and measuring value with EBM Pro: opens with a Pro, Premium or Ultimate pass
Most first drafts of key results are tasks in disguise, and a portfolio that grades tasks never learns whether its work paid. Seven drafts are checked here, one quarter is graded, and the four key value areas get measures.
In this part:
- Seven draft key results, checked by a program
- Grading a quarter without turning OKRs into appraisals
- Measures in the four key value areas, and three levels of goals
- A rubric for an OKR set before anyone sees it
1 runnable example (Python) · about 4 minutes
Opening this part with your pass…
This part opens with any MySmartCoPilot pass.
- Pro pass · 1 week₹79$2.99
- 30 days₹179$5.99
- 1 year₹1,699$45
One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.
Passes can’t be bought right now, so this part can’t be opened at the moment. The free part above stands on its own. If you have a pass, enter your licence key.
It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).
Practise
These questions use the company’s levels, its ten initiatives and its first OKR:
Practice that adapts to you
Practise this lesson
6 questions about 5 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.
Interview questions
Warm-up: how does a programme differ from a portfolio?
A programme coordinates related projects and other work so that together they deliver a benefit none of them would deliver alone, such as corporate renewals that need a portal, dashboards and a sales push. A portfolio is everything an organisation funds for its strategy, related or not, and its job is choosing: which work gets teams, which waits, which stops. A programme is judged by the benefits it realises; a portfolio by the value the whole set returns for the capacity it uses.
Three harder questions ask for decisions with numbers:
-
Senior to staff
Your portfolio board must cut work in progress from 14 initiatives to 8 by next month. Several are half built, two are the chief executive's favourites and one carries a contract penalty. How do you choose the six to pause, and how do you pause them so they can restart?
-
Mid to senior
A city transport department's key results for the quarter are "launch the ticketing app", "hire three engineers" and "run five awareness campaigns". What is wrong with them, and how do you rewrite them?
-
Senior to staff
Leadership judges your portfolio by the share of projects delivered on time, now 85 %, yet customers see little change. What would you measure instead, and how would you introduce it without losing the board's trust?
Flashcards · 4 cards
Recall it, then check
Say the answer to yourself before you look: recalling it is what makes it stick.
-
What does each level — project, programme, portfolio — answer, and how is it judged?
Project: How do we deliver this output? Judged by scope, time, cost, quality. Programme: Which related work brings this benefit? Judged by benefits realised. Portfolio: Which work deserves our teams? Judged by value for the capacity used. PMI keeps PgMP and PfMP credentials for the two upper levels.
-
Why is a portfolio a capacity choice, not just a priority list?
Starting beyond capacity adds waiting, not work done. Six teams on six initiatives finished sooner than on ten and gave up 522 thousand rupees less benefit, with the first initiative live in month 1.0 instead of 1.7. Each initiative needs the same team-months either way.
-
What are OKRs, and what grade range is expected?
Objectives and Key Results, as Google's re:Work guide describes them: ambitious objectives, each with about three key results, each graded on a scale of 0.0 to 1.0, with an average of 0.6 to 0.7 expected. OKRs are public, and they are neither employee evaluations nor a shared to-do list.
-
What are the four Key Value Areas of Scrum.org's Evidence-Based Management?
Current value, unrealised value, time to market and ability to innovate. Evidence-Based Management measures the value an organisation delivers in these four areas and moves towards its goals in small, measured steps.
Key takeaways
- A project delivers an output, a programme coordinates related work for a benefit, and a portfolio chooses which work deserves the organisation’s teams.
- A portfolio is a capacity choice: six teams on six initiatives finished sooner than on ten, and gave up 522 thousand rupees less benefit.
- OKRs name a few ambitious objectives with measurable key results, graded from 0.0 to 1.0 with about 0.6 to 0.7 expected, public and kept apart from appraisals.
- Evidence-Based Management measures value in four key value areas: current value, unrealised value, time to market and ability to innovate.
Terms in this lesson
- Evidence-Based Management
- A Scrum.org guide for deciding with evidence: it measures the value an organisation delivers in four key value areas and moves towards its goals in small, measured steps.
- key result
- A measurable result that shows progress towards an objective, such as raising a course completion rate from 18 % to 30 %, graded at the end of the period.
- key value area
- One of the four areas in which Evidence-Based Management measures value: current value, unrealised value, time to market and ability to innovate.
- OKRs
- Objectives and key results: a few ambitious objectives, each with about three measurable key results graded from 0.0 to 1.0, public across the organisation and kept apart from employee evaluations.
- portfolio capacity
- The work a portfolio's teams can do at once; starting more initiatives than that spreads the same teams thinner and adds waiting, not work done.
References
- Guide: Set goals with OKRs (Google re:Work)
- The Evidence-Based Management Guide (Scrum.org)
- Program Management Professional (PgMP) certification (Project Management Institute)
- Portfolio Management Professional (PfMP) certification (Project Management Institute)
- PMBOK Guide, Eighth Edition, and The Standard for Project Management (Project Management Institute)
- Lean Portfolio Management (Scaled Agile, Inc.)
Related tools
Report a problem with this lesson
Kept only in this browser. Your Learn progress