A program epic is a higher-level work effort container within a single release train, large enough to need coordination by multiple teams, across multiple Program Increment (PI) iterations. Program epics can represent enabler work or business capabilities and features that address various user needs or stories.
In the Scaled Agile Framework (SAFe) methodology, an agile program epic is a larger scope container with significant impact. They will typically require a Minimum Viable Product (MVP) definition and budget approval before being implemented. The agile program epic will follow the Lean startup ‘build-measure-learn’ model and will contain and coordinate multiple Program Increments (PI) across teams.
Program Increments are cycles of development that use the Shewhart Plan-Do-Check-Adjust (PDCA) model.
A program epic is used to gather and measure the cost, duration, and program increment objectives of multiple initiatives within a single agile release train (ART), that are too big or complex to be covered by a single Program Increment.
A program epic has a hypothesis that needs to be proven or rejected before a Minimum Viable Product is approved. The hypothesis is complex enough to need evaluation through multiple Program Increments and by multiple teams.
Within an agile program epic, numerous program increments can be synchronized to efficiently validate development, with progress measured against the defined hypothesis. This allows various teams to coordinate their program increments of plan-do-check-adjust cycles. This is part of the purpose of a program epic — to keep the teams developing at the same pace and allow quick corrections should problems arise.
A program epic can represent direct business objectives or enabler work. The features that are included within the program epic will also relate to business or enabler work.
A program epic is not a project.
In agile, a program epic operates through cycles to build towards a hypothesis rather than adhering to a defined start and finish date with a clear roadmap. A program epic is implemented as part of existing value streams, using multiple teams that are preexisting.
Specific teams are not created to fulfill a program epic.