Time and money are gained or lost every day with Effective Program Management.
The decisions teams make at the micro level, at each hour of the day, can make the difference between meeting or breaking schedules and budgets; between having a superb or a merely adequate feature set; between having a product that delights customers or an also-ran.
When multiple teams manage interconnected projects, companies scale to the level of programs — projects linked together and managed as a unit. Program Management is the capability that allows companies to deliver streams of successful new products and services, by skillfully managing the synergies and dependencies between individual projects and products.
What is Program Management?
- Program Management is the capability to manage a set of projects, to maximize their synergies and minimize their costs.
- Program Managers play a key role and must be involved in the decision-making about their programs.
- Many companies create a Program Management Office (PMO) to institutionalize project management best practices, and to own the strategic viewpoint across programs.
- High performance teamwork is a major component of Program Management.
- Implement a cross functional team model.
- Create well-defined roles and responsibilities for the cross-functional team.
- Empower the cross functional team with a high level of authority.
- Create a culture of trust and collaboration.
- Program Management Tools and Best Practices
- Have a clear mandate with a concise definition of success.
- Implement a cross functional team model: Project Team Wheel
- Create well-defined roles and responsibilities for the cross-functional team: Modified RACI Chart, Function Phase Matrix.
- Empower the cross functional team with a high level of authority: Management By Exception Map
- Create a culture of trust and collaboration: Escalation Process
What is Program Management for Product Development?
Product development projects cannot be optimized in isolation. These projects have dependencies in terms of resources, and may also share synergies that can reduce costs. Program Management is the skill of managing projects, as well as the connections and linkages between projects, to optimize the entire program.
Program Managers Play a Key Role
Program Managers own the global view of their programs. They report directly to senior managers and often, for larger programs, are the equivalent of a General Manager (on Programs that cost > $25M).
Advanced Program Management
Our treatment of Program Management is for the advanced Program Manager in product development. It is not for a start-up, nor is it for smaller projects. Project Management Institute (PMI), among others, covers Program Management basics.
Consult the PMI site for basics such as:
- Project Management Phases
- Project Management Planning & Initiation
- Project Management Reporting & Control
The site has downloadable templates for charters, program plans, and suggestions on reporting and project controls.
Empower your Program Managers to weigh in and strongly influence decision-making. Write this decision-making authority into the job descriptions and program plans. Make sure that all stakeholders understand that Program Managers have this authority and responsibility, and that higher management buys-in.
If a program needs mid-course correction, don’t leave the question to GMs or heads of Marketing alone. Program Managers must help to frame the competitive response. (If you are interested in a very large team of teams – you might read this; Team of Teams by Ret. General Stan McChrystal.)
Many companies have a Program Management Office (PMO) to improve the effectiveness of program managers. The PMO helps disseminate and standardize project management best practices across programs. In some organizations, the PMO may also have a strategic role, helping to develop product strategy, to select projects, and to balance the product portfolio, for example between platform and derivative offerings. A PMO may also have a role in balancing and distributing resources between teams. It may also analyze and mitigate program risks.
Program Management Key Success Factors
Using a cross functional team model sets up teams within programs for success by defining roles for the program manager and the rest of the team. Successful firms also control the complex dependencies between one project and another, conserving resources, while helping prevent projects from getting in each other’s way.
Program Management Checklist
"*" indicates required fields
At the level of the individual teams, clarifying responsibilities, especially the roles (inside AND outside the program), that leaders play in the decision-making process improves Program Management. Defining the key parameters of the project early in the process, and then having a clear escalation path to help the program manager set teams back on the rails before they begin to stray too far from project goals, are best practices for program management. The figure below shows how the tools discussed throughout this article serve these key success factors, over the timeline of a project.
Teamwork: A Major Component of Program Management
High-performance teams are essential for Program Management. However, most companies underestimate or overlook the benefit and opportunity that come from high-performance teamwork. High-performance teamwork is part of the DNA of world-class technology companies, and is essential to their Program Management effectiveness. We have a good deal experience in program management consulting, too.
There are many examples of dysfunctional teams that have heroically pushed products over the finish line, but what many do not acknowledge is the opportunity cost of sub-optimal team performance, both in hard costs…
- Delayed revenue
- Higher product costs
- Higher support costs for low-quality products
…and soft costs
- Lack of creativity
- Team fatigue
- Low morale
- Poor product reviews
From an Agile perspective, teams are supposed to be self managed, even if they have a program manager. While this makes sense for some team members, there are several crucial roles that should be staffed with designated leads (e.g. Product Owner, Scrum Manager and Technical Lead).
Four Steps For High Performance Program Management
We have identified four steps for creating high-performance program management teams that you can implement across your organization, in either a Waterfall or an Agile program. If you are ready to incorporate high performance program management as part of your company’s DNA, look forward to seeing a measurable improvement in your Program Management capabilities.
To innovate and deliver winning products to market by improving Program Management, here are the four things you should do:
1. Implement a cross functional team model as the pillar of Program Management.
Implementing a cross functional team model is the most effective way to optimize a project’s performance, to identify opportunities to reduce cycle time, and to ensure that the broader team (aka the extended team) is functioning efficiently. It is particularly critical when the team is large and geographically dispersed.
The cross functional team model consists of four to six functional leads, typically from Program Management (scrum master) and product management (product owner), engineering, design, and quality assurance. They share the responsibility of delivering the project within the defined objectives.
With an emphasis on strong leadership skills, the team can serve as an effective nucleus for driving execution, escalating project issues, and managing cross-functional dependencies. This cross functional team, meeting on a frequent basis led by the program manager, is responsible for communicating to the extended team, which is either geographically isolated or in secondary functions. The program manager is vital in this leadership role.
Creating a Project Team Wheel for each project helps to clarify the relationship between the cross functional team and support organization.
2. Create well-defined roles and responsibilities for the cross-functional Program Management team.
Defining team roles and responsibilities seems like a trivial task that is more bureaucratic than useful for program management. But the lack of clarity around cross-functional deliverables and dependencies is a key driver in missed opportunities to reduce cycle time, increased frequency of unmanaged gaps, and team chaos that ultimately falls on the program manager.
As companies grow in size and expand geographically, careful definition of roles and responsibilities becomes increasingly important components of program management. Having clarity around who is doing what, and when, will free up teams to focus on the work required to innovate and deliver products to market (and you’ll spend less time in meetings!).
Our modified RACI chart is a program management best practice for clarifying roles. It assigns a Directly Responsible Individual for each deliverable. It also identifies the key supporting organizations for tasks and deliverables. It is much better than the more cumbersome RACI chart because we eliminated the duplicate accountability/responsibility role distinction.
The Function Phase Matrix described below is a tool for program management for defining key deliverables for the cross-functional teams by project maturity. This tool will allow you to clarify what your team will deliver in each phase and will help you anticipate and plan for longer-term deliverables.
3. Empower the Program Management cross functional team with a high level of authority.
Many times, executives are hesitant to give teams too much leeway in program management decision making, and teams are reluctant to accept the responsibility. In world-class companies, we see a consistent trend of delegating a high level of authority to teams and to the program manager.
If you establish a culture of team accountability across your organization, and empower your team to drive daily decision making in support of the overall objectives of the project, you will see measurable gains in the ability to creatively innovate. While there are some circumstances where “command-and-control” leadership is appropriate, we’ve found that if you use it as the norm, it will result over time in lower accountability, demotivated teams, and delays.
In addition to utilizing a cross functional team model with well-defined roles and responsibilities, using the program management tool, called a Management By Exception Diagram. Also having an Escalation Management Process will allow you to manage to a framework that defines the boundaries of the program management team’s decision-making authority. These tools will empower your team to move the project forward and provide them with an escalation mechanism when an issue exceeds their authority. They provide a framework for establishing team accountability and are flexible, allowing executives to customize their authority based on project risk, cost risk, or team experience.
Giving a large degree of responsibility to the team is a strategic investment in attracting the best talent. High-performance teams consist of high performers, both individually and as a team. High performers thrive on accountability, so if you give the team accountability, you will increase your capacity to retain the best people.
4. Create a culture of trust and collaboration.
Teams can only achieve high performance in Program Management if they work in an environment of trust and collaboration. Anything less means that individuals will shift their focus from the common good to their own survival. A true test is this: what happens in your organization when things do not go well? When the schedule is going to slip, a quality issue has stopped the manufacturing line, or the product cost is exceeding the margin target, how does your organization respond?
Teams achieve high performance when they know they can deliver bad news (with recommendations for mitigation and resolution) free of politics and without gaming the data or blaming. They achieve high performance because they work in an environment that addresses challenges through collaboration and teamwork.
They focus on solving the problem, not finding the guilty and blaming them. And because you’ve instilled in them the authority and trust, they do this far faster than those teams that work in an environment of distrust and blame.
In the end, your ability to rapidly innovate and deliver products to market is in the hands of people, and the best way we have found to harness the best of people is through superb teamwork. Creating high-performance teams improves Program Management and creates competitive advantage.
Five Program Management Tools and Best Practices
Below we present five tools for Program Management in product development, with descriptions of what they are, how they work, and how they benefit your organization. Download templates for each of the tools here.
- Project Team Wheel: Staffing a Cross Functional Team
- Modified RACI Chart: Identifying Roles and Responsibilities
- Function Phase Matrix: Avoiding Gaps Across Functions
- Management By Exception Diagram: Setting Project Boundary Conditions
- Escalation Management Process: How to Get Projects Back on Track Quickly
Cross Functional Team Diagram: Staffing a Cross Functional Team
Rarely do cross functional teams start a project with adequate resources to deliver on a predictable schedule. More likely, one of the key risk mitigation efforts is to manage the ebb and flow of resource availability as individuals work on different projects at different times.
And then, invariably, something falls through the cracks, and throws the project off the rails because you didn’t have the right resources in place or you did not plan for this unforeseen contingency. The program manager is often blamed.
When a project needs additional help, unclear definition of the cross functional team members, and any adjacent teams, leads to a communications free-for-all and fighting over “headcount gaps” that can lead to schedule slips, cost overruns and organizational chaos. Complicated capacity planning tools are often ignored, incomplete, or obsolete. To take a quick snapshot of staffing gaps, teams can use a simple graphical tool to gain clarity on how and when a team is fully staffed.
Defining the cross functional team with a Cross Functional Team diagram
The Cross Functional Team diagram identifies, by function, the roles and names of people on the core program team, as well as part-time extended team members. While simple, it is a powerful tool to quickly identify gaps in staffing, or resources that are overextended across multiple projects.
The tool is scalable for large or small projects, start-ups or large global corporations. It provides a consistent model that helps you manage the risks associated with an understaffed team. For larger programs, you can create multiple team wheels, each radiating out from the core team wheel.
Benefits of the Cross Functional Team diagram
- Ensures that all cross functional team members know their roles and that of others.
- Clearly identifies resource gaps on a team.
- Defines the members that are dedicated to the team.
- Minimizes surprises (or project failure) caused by missing members or insufficient part time work.
How the Cross Functional Team diagram Helps the Program Manager
It’s not uncommon for projects to start before all the required resources are available. This easy-to-use tool provides the platform for making risk-based decisions around staffing, while it clearly communicates how to mitigate or resolve any gaps. It is an effective communications tool for large companies that have a high number of stakeholders.
This tool ensures all stakeholders that their interests are represented in a project. It gives the entire cross functional team a consistent methodology to identify resource gaps. It is also extensible, accommodating companies that reach outside of the corporate walls to create extended project teams.
While this tool measures the degree to which projects are staffed at the cross functional team level and quickly identifies resource gaps, it does not evaluate the quality or effectiveness of the resources assigned. Two factors that often drive the effectiveness of assigned cross-functional resources are level of skill and resource availability due to conflicting priorities. These issues can have an impact on a team’s ability to deliver. Both scenarios require the vigilance of Program Management.
Read more on the Cross Functional Team diagram and how to construct it and then download the template and instructions.
Modified RACI Chart: Clarifying Roles and Responsibilities
Sorting out who does what on a project is pretty basic. Clear tasks, with clear responsibilities and deadlines, is Program Management 101. But how many projects have you managed where it was unclear who was responsible for a deliverable until it turned into a mess?
A RACI chart helps define which roles are responsible, accountable, consulted, and informed. It codifies the cross-functional contracts you create when you make key deliveries. This process of communicating about key deliverables and decisions, and who is responsible for them, is often more important than the chart itself.
Distributed, global teams are now becoming the default way of organizing rather than an exception; in such organizations communication is essential. Given the increased complexity of development, creating a clarifying picture of who is responsible for what will help prevent dropped balls in any type of project: Development, Design, IT, HR, or Change management.
How to Create a Modified RACI Chart
The Modified RACI chart is a matrix with graphical icons – circles with dots inside – indicating the key deliverables on one axis and the key roles (or key individuals) on the other, including the program manager. Similar to a RACI chart, the diagram consists of lines that indicate the tasks going down the page; open circles indicate an individual function involved in the task; a filled circle indicates the Directly Responsible Individual (DRI), the one person responsible for a deliverable/decision.
There should be one and only one DRI for each deliverable or task. The person who is known as the Circle Dot or DRI knows and agrees that they are responsible for delivery of the task. Note they should not fall on the program manager.
This document can be stored on the project team Wiki for reference. When the key tasks are coming due, everyone understands who is ultimately responsible. This is a living document, that you should update as responsibilities change.
Benefits of the Modified RACI Approach
- Makes certain that each deliverable/decision has one and only one responsible individual.
- Provide a visual representation of roles and responsibilities.
- Helps prevent wasted effort by having two people working on the same thing.
- Creates a shared, common understanding of roles and eliminates infighting.
- Translates well to other languages for distributed global teams
- Is much simpler than the traditional RACI chart because you merge responsible and accountable.
Modified RACI Chart Combats Project Delays
Besides unclear requirements, unclear responsibilities are one of the leading causes of program delays. By providing the team with a clear picture of the key deliverables tied to key functions, this problem is greatly reduced or eliminated.
Also, the chart is created at the beginning of the project because the Program Manager gets buy-in up front from team members who indicate that they’re on board and committed to a given task. It is used during the project because it provides a reference sheet reviewed periodically to ensure that the tasks are properly staffed and that there is a clear DRI indicated for each deliverable or decision.
Modify the tool to match the scope of the task at hand. For large projects, it is best to have two levels of Modified RACI charts – one for the project overall and several others at sub-system levels. This can be done by the program manager or a project manager.
For example, in platform programs, there might be three second-level charts to cover the web, client, and device portions of the program – plus one for the entire project, a total of four Modified RACI charts. Sometimes there is a need for even more task clarity and specificity in the roles and in this case the three levels of involvement in the task (uninvolved, involved, responsible) are insufficient and you may need to add other roles such as approves and consults.
Read more about the Modified RACI Chart and how to construct it and then download the template and instructions.
Function Phase Matrix: Avoiding Gaps Across Functions
Companies launch new projects every day. Most of them get off to a fast start, but many of them do not. Projects can quickly get derailed when teams don’t have a clear understanding of what each team member is contributing during each phase of the project.
So how do you quickly construct and communicate milestone objectives and team-member contributions to highlight gaps and overlaps? The Function Phase Matrix is a powerful tool to help a program manager.
The Function Phase Matrix allows a cross-functional project team to identify project objectives, roles and responsibilities, and key deliverables across the phases of a project, including program management. Use the matrix to identify dependencies between team members and milestone deliverables. It is a very effective tool in hybrid waterfall/agile environments.
Although it is typically the responsibility of the program manager, it is best to create the Function Phase Matrix as a team exercise to allow cross-disciplinary discussion on potential gaps or overlaps between the functions.
Benefits Of The Function Phase Matrix
- Ensures that you have cross-functional alignment at the phase/milestone level.
- Ensures you have all key deliverables assigned to individuals.
- It is a scalable tool that you can apply to large or small teams, simple or complex projects, and local or globally dispersed teams.
- Helps you align your team with product and delivery expectations of the organization.
The Function Phase Matrix: Getting the Details Right
Note, however, that the tool doesn’t include all of the relevant functions and deliverables. Also, companies should consider the matrix as just a beginning for defining a process. Ultimately, the organization must define the roles/responsibilities of team members and the specifics of the deliverables.
You might conclude a Function Phase Matrix works only in a waterfall environment but that is not the case. This matrix refers to what you need to deliver to the organization as part of any development program.
Many times, projects experience avoidable setbacks caused by not having the right resources in place when you need them. The Function Phase Matrix can increase the effectiveness of a project team by clarifying roles and responsibilities early in the life of a project. Additionally, a well-defined Function Phase Matrix helps accelerate the ramp up of new hires. It is one of the easiest ways to begin to create a consistent development process.
Read more about the Function Phase Matrix and how to construct it and then download the template and instructions.
Management by Exception Diagram with the Escalation Process
Whether managing multiple development partners or internal resources, executive management wants products that deliver on their promises. At the same time, full stack developers want the space to create the very best. It’s not an antagonistic relationship – at least it shouldn’t be – since both sides want the products to succeed. But too many companies struggle with a way to empower teams, including their program manager, while also giving management the assurance that projects will deliver great products to the marketplace.
Our work with Apple and other tech leaders led us to an escalation process innovation called boundary conditions. This is an exception management approach, with a clear and simple escalation process when projects drift away from a set of predefined quantitative targets. This is not trying to ‘waterfall Agile’ but rather to support teams and allow Product to operate freely within very broad limits, without micromanagement.
Managing By Exception: Creating Boundary Conditions
Here are the steps in the process. At the beginning of a project, the dev team, led by Product Management (or Product Owner) and management – CEO, CMO, CTO/CIO at startups, or directors at a larger company – agree on the key dimensions that will make a successful product. For example, a project has certain must-have features, a target dev cost, measures of quality, target cost, and a timeframe for the project. In an example for a wearable device, we display these five dimensions of the project as a polygon with one side for each dimension (see diagram below).
The team and management then agree on clear, quantitative targets for each of these dimensions. These are the boundary conditions, criteria by which the team and management will measure success. These conditions form a contract specifying what the team will deliver and what management expects.
Enables Rapid Program Management Decision Making
The next step is crucial: once the boundary conditions are set and the project begins, management needs to leave the team alone, provided that the team continues to expect the project to hit its targets. If it looks as if the project will not achieve its boundary conditions with respect to one or more of the five dimensions – we call this a boundary break – the program manager must 1) inform management immediately (hours-days; not weeks), and 2) propose a solution to the boundary break.
These communications trigger the rapid fire escalation process. This process is designed to help the program manager get teams back on track quickly if they anticipate a boundary break.
After the management receives the communication from the team that a boundary break is likely, with its proposal on how to remedy the situation, management can either agrees or disagrees with the team’s proposal. If management agrees, then each side confirms a new quantitative measure for the boundary condition(s) at risk, and the project moves ahead with its new specs.
If management does not concur with the team’s proposal, then there follows a face-to-face meeting where the team, led by the program manager, and management negotiate a new contract, setting new boundary conditions for the project. The team then continues with the project based on this new agreement.
Management should respond to any out-of-bounds communications from the teams within hours or days. This rapid, agile style of management – agile with a small ‘a’ – enables teams to do their best work, while ensuring management that teams will deliver reliably.
Escalation and Decision Making: Example
The following diagram shows the five-sided diagram with the boundary conditions filled in. In this case, the team working with the program manager, set boundary conditions for five variables: Dev Cost, Product Cost, Timing, Features and Quality. The colored shapes within the pentagon display the current location and the expected trajectory for each boundary condition. Those headed toward the center of the figure (in green) are well on track; those headed toward the periphery are drifting out-of-bounds (in yellow), while those at the edge of the figure (in red) are in danger of a boundary break.
In this example from a tech company, the team lost a key coder with highly specialized skills delaying the MVP by a sprint. The delay and lost skill set effected two key APIs which were left undeveloped. Although the delay did not materially impact the overall timing of the project, it added to its cost, and now it is estimated to run as much as 20% over budget. The defect rate is higher than anticipated but within bounds, while the other boundary conditions remain achievable targets. The program manager (rightly or wrongly) is blamed.
These anticipated boundary breaks triggered an out-of-bounds review that negotiated a slightly higher budget and a revised set of features that set the team back on track.
Overcoming Cultural Barriers to Empowered Teams
One of the greatest challenges companies face is in truly empowering teams to create their best work. Command and control methods of management, deeply ingrained in many cultures, resist ceding authority to the creators. This can contribute to an adversarial culture where none should exist. The program manager can be the problem or the part of the solution.
The boundary conditions approach emphasizes quantitative targets that are reasonable predictors of program success. This approach also appeases managers who bemoan the loss of their ‘command and control’ waterfall development process.
By eliminating micromanagement, and managing to objective targets, a great deal of friction and subjectivity are removed from the process. It is the next generation of Agile, and a giant step toward empowering creativity.
Read more about Managing By Exception and the Escalation Map and then download related templates and instructions.
Applying these tools will help you build your Program Management capabilities, increasing innovation, while accelerating time-to-market. We also know that getting started can be difficult in fast-moving organizations, so we have provided an on-line set of tools that you can download and apply immediately.
Our tools cover not only Program Management in development organizations but also include tools for product innovation strategy and process. Or contact TCGen for further access to our proven best practices, tools and techniques.