Project vs. Program vs. Portfolio
As organizations grow, individual projects must be coordinated within larger structures. Understanding the hierarchy of projects, programs, and portfolios is essential for scaling project management.
| Dimension | Project | Program | Portfolio |
|---|---|---|---|
| Scope | Defined deliverables | Related projects + operations | All programs, projects, operations |
| Duration | Temporary | Longer than individual projects | Ongoing |
| Objective | Deliver specific outputs | Deliver coordinated benefits | Achieve strategic objectives |
| Success Metric | On time, on budget, on scope | Benefits realization | Strategic value delivered |
| Manager | Project Manager | Program Manager | Portfolio Manager / VP |
| Example | Build mobile app | Digital transformation (mobile + web + API + data) | All engineering initiatives |
PMO Types
Project Management Office Models
- Supportive PMO: Provides templates, best practices, training, and tools. Low control. PMs have autonomy. Best for mature organizations with experienced PMs.
- Controlling PMO: Requires compliance with frameworks, methodologies, and reporting standards. Medium control. PMs must follow defined processes. Best for organizations needing consistency.
- Directive PMO: Directly manages projects. PMs report to the PMO. High control. Best for organizations with immature PM practices that need centralized governance.
Portfolio Prioritization
// Portfolio Management Model
interface PortfolioItem {
id: string;
name: string;
type: 'project' | 'program' | 'initiative';
status: 'proposed' | 'approved' | 'active' | 'on-hold' | 'completed' | 'cancelled';
// Strategic alignment
strategicObjective: string;
alignmentScore: number; // 1-5
// Value
expectedROI: number; // percentage
expectedRevenue: number;
expectedCostSavings: number;
// Investment
totalBudget: number;
budgetSpent: number;
// Resources
teamSize: number;
keyResources: string[];
// Risk
riskLevel: 'low' | 'medium' | 'high' | 'critical';
// Scoring
priorityScore: number;
}
interface Portfolio {
name: string;
totalBudget: number;
allocatedBudget: number;
items: PortfolioItem[];
strategicObjectives: {
id: string;
name: string;
weight: number;
okrs: { objective: string; keyResults: string[] }[];
}[];
}
// Portfolio prioritization using weighted scoring
function prioritizePortfolio(
items: PortfolioItem[],
weights: {
strategicAlignment: number;
roi: number;
riskAdjustment: number;
resourceAvailability: number;
}
): PortfolioItem[] {
return items.map(item => {
const riskMultiplier: Record = {
'low': 1.0, 'medium': 0.8, 'high': 0.6, 'critical': 0.4
};
const score = (
item.alignmentScore * weights.strategicAlignment +
Math.min(item.expectedROI / 100, 5) * weights.roi +
riskMultiplier[item.riskLevel] * 5 * weights.riskAdjustment
);
return { ...item, priorityScore: Math.round(score * 100) / 100 };
}).sort((a, b) => b.priorityScore - a.priorityScore);
}
// Portfolio Dashboard
interface PortfolioDashboard {
summary: {
totalProjects: number;
activeProjects: number;
totalBudget: number;
budgetUtilized: number;
onTrackPercentage: number;
atRiskPercentage: number;
offTrackPercentage: number;
};
resourceAllocation: {
team: string;
totalFTEs: number;
allocatedFTEs: number;
utilizationRate: number;
}[];
strategicCoverage: {
objective: string;
projectCount: number;
budgetAllocated: number;
healthStatus: 'green' | 'amber' | 'red';
}[];
}
OKRs for Project Management
Example PM OKRs
-
Objective: Improve project delivery predictability
- KR1: 80% of sprints complete all committed stories (current: 60%)
- KR2: Reduce average schedule variance from 25% to 10%
- KR3: All projects have a risk register reviewed bi-weekly
-
Objective: Increase engineering team productivity
- KR1: Reduce average cycle time from 8 days to 5 days
- KR2: Increase deployment frequency from weekly to daily
- KR3: Reduce meeting load per engineer from 12hrs/week to 8hrs/week
Governance Framework
- Decision Rights: Clearly define who can approve budgets, scope changes, and resource allocation at each level
- Reporting Cadence: Projects report weekly, programs report bi-weekly, portfolio reports monthly to executive leadership
- Stage Gates: Major funding decisions happen at defined gates — not continuously
- Resource Arbitration: When projects compete for the same resources, the portfolio manager resolves based on strategic priority