Agile Scheduling – going beyond the sprint
Our core timeframe – the Program Increment
A Program Increment (PI) is the timebox during which a team delivers incremental working software against a roadmap. Program Increments provide longer-term focus than a single sprint (we shoot for ~6 weeks) while remaining predictable. While we ship completed work every sprint, Program Increments made up of multiple sprints enable a team to complete, test and launch larger chunks of work:
- User Stories are sized to fit inside of one sprint
- Features are sized to fit inside of one PI
- Epics are sized to fit within 2-3 PIs
For maximal alignment with the business cycle, we schedule two Program Increments per quarter, resulting in 8 significant software build-and-release cycles during the span of a year.
The Feature Sprint – where software gets built
A Feature Sprint is a classic Scrum sprint – the focused two-week increment wherein each Scrum team constructs, tests and ships new software. All Feature Sprint work is assembled around the goals of the Program Increment and builds atop each other to realize roadmap strategies. Daily standups and real-time chats keeps team collaboration and alignment high.
Focused around sprint goals for feature development, the Scrum team works collaboratively to ship new software. Book-ended by sprint planning and sprint review sessions at the beginning and end of the sprint, teams work as a unit to deliver tested user stories. Heavily vetted by the team’s Product Manager and you, the client, each sprint moves your solution toward its roadmap goal.
Introducing the “Maintenance Jog”
To reduce the number of active projects during an iteration, we created a dedicated iteration for software maintenance activities. By placing these “Maintenance Jogs” between Feature Sprints in a Program Increment, the ongoing care-and-feeding of live software is made a first-class activity and provides an opportunity for focused backlog refinement
The Maintenance Jog arrangement also honors a cornerstone Lean and Agile principle – the team that builds software is in the best possible position to maintain it. During each Jog, non-critical support tickets are closed out, technical debt initiatives are tackled and focused time is put into backlog refinement and roadmapping.