In scrum there is no project manager role, however the function remains and is distributed across the team. The program manager generally remains for large strategic initiatives. This role makes sense at a portfolio level as there is more coordination across the firm with respect to large dollar investments made by the business.
The program manager is often responsible for making sure technology does not go over the budget allocated for the program. Program budgets are often set well ahead of scrum team involvement.
When the program manager is held accountable for:
- defined scope
- defined budget, and
- defined scrum teams
You have iron triangle as defined budget and defined scrum team allocations equates to fixed timeline. The program manager will naturally slip into driving what the team works on and in what sequence based on budgetary concerns. This clearly breaks the rules of scrum where the Product Owner determines what is most important for the team to work on. The team begins to regard the program manager as the primary decision maker. This impedes the team from getting to any level of self organization or empowerment.
Program Management approached with an agile mindset looks like:
- The Product Owner has X dollars to spend on project Y
- The backlog contains the stories representing the scope of work for project Y
- The backlog is sized by scrum teams who will be doing the work
- The scrum team contains team members with all skill sets needed to deliver the business value
- The scrum team has a predicted throughput as they have been sprinting for at least 3 sprints
From a planning perspective, the program manager can use the empirical data to explore the number of sprints needed to deliver full business functionality. At the end of every sprint, compare execution against forecast. Inspect and adapt. The program manager is responsible for transparently sharing the margin of error between execution and forecast to facilitate the appropriate decision making.