Lewati ke konten utama

Program Management

The Program Management module provides a structured container for coordinating related PPM projects. Programs aggregate health, budget, and timeline data from their child projects, manage cross-project dependencies, and generate program-level reports including benefits realization, ROI analysis, and OKR alignment.

Overview​

Large transformation initiatives typically span multiple interrelated projects that share resources, dependencies, and strategic objectives. Managing these projects in isolation leads to missed dependencies, duplicated effort, and inconsistent reporting. ProBeya's Program Management module groups projects into programs with automated aggregation, cross-project dependency tracking, master schedule visualization, and a comprehensive reporting suite.

Programs follow a lifecycle with status transitions: planned → active → on_hold → completed or cancelled. Status transitions are validated to prevent invalid progressions (e.g., a completed program cannot revert to active).

Getting Started​

  1. Navigate to Portfolio > Programs in the sidebar.
  2. Click New Program and fill in the name, description, and optional fields (program manager, sponsor, planned dates, tags).
  3. Add projects to the program using the Add Project action on the program detail page.
  4. Review the aggregated health, timeline, and budget on the program dashboard.
  5. Define Cross-Project Dependencies to model inter-project scheduling constraints.
  6. Generate Program Reports for stakeholder communication.

Key Concepts​

Program Structure​

A program contains:

  • Name, description, and auto-generated slug for URL routing
  • Program manager and sponsor (linked to organization members)
  • Planned start/end dates for the overall program envelope
  • Tags for categorization and filtering
  • Status: planned, active, on_hold, completed, or cancelled

Projects are linked to programs through a junction table that supports soft removal (preserving history) and configurable sort order for display purposes.

Aggregated Metrics​

Programs do not have their own health, budget, or timeline data. Instead, these are computed from child projects in real time:

  • Health rollup: worst-case aggregation. Any red project makes the program red; any amber makes it amber; otherwise green.
  • Timeline envelope: the earliest planned start date and latest planned end date across all child projects.
  • Budget aggregation: sum of all child project budgets with CAPEX/OPEX breakdown.

Cross-Project Dependencies​

Dependencies between projects model scheduling constraints such as "Project A must complete before Project B can start." Each dependency specifies:

  • Predecessor project and successor project
  • Dependency type: finish-to-start (FS), finish-to-finish (FF), start-to-start (SS), or start-to-finish (SF)
  • Lag days: optional delay between the predecessor and successor
  • Description and notes for context

The system enforces that a project cannot depend on itself and performs circular dependency detection using BFS traversal to prevent scheduling deadlocks (e.g., A → B → C → A).

Master Schedule​

The master schedule consolidates all child project timelines, WBS elements, and cross-project dependencies into a unified Gantt-style view. It provides:

  • Aggregated schedule: all projects plotted on a single timeline with milestones and dependencies
  • Critical path analysis: cross-project critical path identification spanning multiple project WBS trees
  • Milestone timeline: key milestones across all projects for executive reporting
  • Schedule conflict detection: automatic identification of broken dependencies where a successor starts before its predecessor finishes

How It Works​

Adding and Removing Projects​

The addProject action links a project to a program. Both the program and the project must belong to the same organization. Duplicate active memberships are rejected. The removeProject action soft-removes a project by setting a removedAt timestamp, preserving the historical record of program composition.

Projects can be reordered within a program via the reorderProjects action, which updates sort order for display purposes.

Impact Analysis​

The analyzeImpact procedure models the cascading effect of a delay in one project on all downstream dependent projects. Starting from a specified project with a given delay (in days), it performs a BFS traversal through the dependency graph, computing cumulative delay at each node and recording the propagation path.

This answers the question: "If Project X is delayed by N days, which other projects are affected and by how much?"

Dependency Validation​

The validateDependencies procedure checks all cross-project dependencies within a program for scheduling conflicts. A dependency is "broken" when the successor project's start date falls before the predecessor project's end date plus any lag days. The result includes the gap in days and full project context for resolution.

Program Reports​

Five program-level reports are available through the Program Reports router:

  • Program Status Report: aggregated health, timeline, budget, project summary table, and risk highlights
  • Benefits Realization Report: all benefits with status, realization percentage, and measurement history
  • Cross-Project Dependencies Report: all dependencies with status, broken dependencies highlighted, and impact summary
  • ROI Summary Report: per-project and program-level ROI and benefit-cost ratio (BCR) using tangible benefits only
  • OKR Alignment Report: OKR tree with progress and strategic objective coverage matrix for a given period

Reports return structured JSON suitable for client-side rendering or future server-side PDF generation.

Configuration​

SettingLocationDescription
Program managerProgram detail > EditAssign the responsible program manager
SponsorProgram detail > EditAssign the executive sponsor
Planned datesProgram detail > EditSet the overall program timeline envelope
TagsProgram detail > EditCategorize programs with free-form tags
Sort orderProgram detail > Projects tabDrag-and-drop project ordering
Dependency lagDependencies > Create/EditConfigure days of lag between dependent projects

Permissions​

  • View programs: all organization members with PPM access
  • Create/edit programs: requires PPM admin or program manager role
  • Delete (cancel) programs: requires PPM admin role (soft-delete only)
  • Add/remove projects: requires program manager or PPM admin role
  • Manage dependencies: requires program manager or project manager role
  • Generate reports: all organization members with PPM access

Tips & Best Practices​

  • Use programs for related initiatives: Group projects that share dependencies, resources, or strategic objectives. Do not create a program for a single standalone project.
  • Define dependencies early: Cross-project dependencies should be modeled during program planning, not discovered during execution.
  • Run impact analysis before committing to delays: Before accepting a schedule change, use impact analysis to understand the full cascade effect.
  • Review broken dependencies regularly: Schedule weekly dependency validation to catch conflicts before they become blockers.
  • Use the timeline envelope: The aggregated timeline quickly reveals whether the program is expanding beyond its planned window.
  • Generate status reports for steering committees: The program status report provides a single-page summary suitable for executive audiences.

Troubleshooting​

IssueCauseResolution
Cannot transition program statusInvalid status transition (e.g., completed → active)Check the allowed transitions: planned → active → on_hold → completed/cancelled.
"Project is already in this program" errorDuplicate active membershipThe project is already linked. Check the program's project list.
Cross-project dependency rejectedCircular dependency detectedThe dependency would create a cycle. Review the dependency chain and restructure.
Master schedule shows no dataNo projects linked to the programAdd at least one project with WBS elements to see schedule data.
Impact analysis returns empty resultsNo downstream dependencies from the selected projectThe project has no successors in the dependency graph.
Aggregated health shows "not_started"No projects linked to the programAdd projects to compute health rollup.
  • Projects -- Individual PPM projects that compose programs
  • WBS -- Work breakdown structures within each project feed the master schedule
  • Schedules -- Project-level schedules contribute to the program timeline
  • Benefits -- Benefits tracking supports the benefits realization report
  • OKRs -- OKR alignment report connects programs to strategic objectives
  • Risk Management -- Project risks aggregate to the program-level risk view