Program Increment sets a specific time period and objectives for the agile teams that are part of an Agile Release Train to accomplish. In the Program Increment are multiple agile teams that are part of an Agile Release Train. SAFe uses “Cadence” and “Synchronization” to assist in combining the work of multiple teams into one. These increments support teams to create a measurable unit of time and value that allows the enterprise to work on a set target. It provides a structure which connects teams and management with the long-term vision.
“A plan is not putting you in a box and forcing you to stay there. A plan is a guide to keep you on course, efficient, and safe.”– Amber Hurdle
These increments are like sprints but at a higher level. In a Program Increment planning session, management and teams sit together to set a common goal and define their dependencies among each other. After setting the PI objectives, each agile team works on their own set target and manage their work in independent Sprints.
Cadence sets a routine for the workers to work on. It encourages thorough planning and the effective use of resources which in turn helps in lowering costs of events such as planning, integration, demonstrations and retrospectives. Synchronization on the other hand, ensures that the development teams and the businesses are on the same page to achieve their goal and also involving the customer in the development process.
Just as iteration is to an agile team, a Program Increment is that to an Agile Release Train. Program increment follows the plan-do-check-adjust method.
- PI planning is a fundamental activity which sets the tone for what has to be achieved.
- The “do” is executing the objectives set in the Program Increment.
- Displaying the System Demo is part of “check”
- Lastly “adjust” is inspecting and adapting which is the final step.
Program increment lasts for 8-12 weeks. But its duration can be adjusted according to the requirements of the project.
The benefit of Program Increment is that it limits the WIP (Work in Process) to keep the teams more focused resulting in higher quality of work. The teams become more responsive and adaptable to change and there is emphasis on a team being cross-functional to get tasks done efficiently. Continuous integration and validation from customers allows them to actively participate in the process of development and giving them the freedom to give feedback.