In the dynamic world of software development, successful project execution often hinges on effective planning and collaboration. One increasingly popular method for organizing and coordinating efforts is PI (Program Increment) Planning, a component of the Scaled Agile Framework (SAFe). Let's delve into a practical PI planning example to understand how it works and its benefits.
Before we dive into our PI planning example, let's briefly recap its purpose. PI Planning is a quarterly event that encourages alignment, collaboration, and learning across teams. It sets the environment for the next Program Increment (roughly, an 8-12 week timeframe). Now, let's set the stage for our example.
Understanding the PI Planning Event
PI Planning is usually a two-day event attended by 50-125 people, including team members, stakeholders, and management. It involves a series of structured activities designed to align everyone around a shared vision and plan. In our example, let's imagine we're planning for a new software product, 'PulseLogger', a heart rate monitoring app with additional fitness tracking features.
The event kicks off with a ' system demo' and 'failure demo', showcasing what's been achieved so far and acknowledging learnings from past missteps. In our example, this could mean demonstrating PulseLogger's real-time heart rate monitoring capabilities and discussing challenges faced in integrating external health data feeds.
Preparing for the Event
Before the PI Planning event, each team prepares a 'team objective tree' comprising selected features,dependencies, and milestones. For our 'PulseLogger' example, this could look like:
- 'Integrate with external health data providers' (Feature)
- 'Complete user interface design' (Dependency)
- 'Successfully pass security and compliance audits' (Milestone)
Teams also create a 'Big Picture' HV diagram (Highlight Value), illustrating their current state and envisioned future state. This sets the stage for the event's planning activities.
Crafting the PI Plan
During the planning event, teams collaborate to create a PI plan. They align on dependencies, negotiate capacity, and define a realistic stretch goal. In our example, teams might negotiate to prioritize features based on user needs and strategic value, such as integrating a blood oxygen level tracking feature ahead of optional, less critical social media integration.
The outcome is a PI plan presenting a shared view of all teams' objectives, plans, and dependencies. This plan serves as a single source of truth, guiding the next Program Increment. In the 'PulseLogger' example, the PI plan might read: 'Integrate core health tracking functionality and pass initial security audits, with a stretch goal of integrating two external health data sources.'
Post-PI Planning Activities
The PI planning event concludes with a steering committee and team members committing to the plan. Then, the real work begins. Regular cadences, like 'PO Sync' and 'Team of Architects', facilitate continuous alignment and progress tracking. In our 'PulseLogger' example, these cadences could involve syncing with product owners to refine user stories, or meetings with architects to streamline the integration of external APIs.
At the end of the PI, a 'PI System Demo' and ' gardens' review showcase achievements and lessons learned. In our example, this could mean demonstrating live tracking of heart rate and blood oxygen levels, followed by a retrospective to improve the planning and execution process for the next PI.
The journey doesn't end there. The insights gained from the PI System Demo and gardens feed into the next PI Planning event, continually refining and improving the process. Embracing PI Planning in this iterative, reality-driven way brings teams closer to successful outcomes and better software.