When launching large enterprise wide programs, it is easy to get caught up in the language of the consultant and the immediate focus on “deliverables.” While deliverables are clearly important – they are the heart of the work vendors are hired to do – they can sometimes take on a life of their own.
The whole team gets focused on the delivery of designs, documents, scripts and templates. Soon you are keeping score and measuring progress of where you are simply by counting what has been done vs. what has not been done. In other words, the delivery of “stuff” takes precedence over the delivery of value.
So how do you ensure your projects and programs don’t overemphasize the deliverables at the expense of overall value creation? One proven technique is to establish formal program management or program delivery systems for all big projects. Many managers wrongly assume that vendors bring the best processes and systems for the creation of project deliverables. Based on my experience, corporate IT leaders should develop their own formal systems to build out and manage all deliverables. The end result will be programs that can create and sustain momentum, lower overall costs, and a higher probability of success.
Enterprise program delivery systems fulfill five equally important roles as shown in the figure below.
The first role of these program systems is to increase the efficiency of the delivery process. The system needs to move work from one team to another at maximum velocity, but with minimum resources. This capability is particularly relevant when base IT systems are undergoing incremental changes. A well-defined system that clearly identifies the inputs and outputs to each team will greatly increase the efficiency and reduce the churn associated with some enhancements.
The second role of program systems is to create appropriate lines of communications within the program and to outside constituencies. As program teams typically need specialized knowledge from other parts of the organization, a systems-based approach to program management facilitates timely access to it. At a high level, information must flow to, from and across the program team, stakeholders in the enterprise and external partners. Ideally, this information is captured in a formal system so that it’s available “on demand” when program resources or others need it. Meanwhile, cross-functional teams can help ensure appropriate channels and relationships are in place for ad-hoc communications when additional information or knowledge is needed. Strong communication produces additional value in the form of reduced organizational resistance to change and stronger engagement between IT and the business.
Coordination is the third important role that program delivery systems play. For large projects in large companies, the resources required for completion tend to be spread all over the globe. Tracking systems that monitor status and manage the handoffs and workflow are critical to assure that the right resources receive the right work as soon it’s ready for them (i.e., when necessary pre-work is completed). To put it simply, it should not take 1,000 phone calls to notify your friends on the development team in India that the code has been tested and to list all the bugs that need to be fixed. These sorts of hand-offs should be automated.
Large enterprise programs tend to be implemented in phases or waves. The plans for the waves tend to look similar, with many tasks and activities repeated in successive phases. Clearly documented systems and processes provide an opportunity to continuously improve project performance and lower program costs. But too many project teams fail to seize those opportunities because there are no learning frameworks built into the program plans or enterprise systems in place. To drive improvements wave over wave, program teams must periodically assess overall processes, review work completed to date, and identify issues and problems from previous waves so that problems can be resolved in an efficient manner.
Finally, program systems provide a means to align work to project objectives and, more broadly, to overall enterprise goals. Systems for communications should not only ensure that information is flowing, but also that messages are consistent. Clear communication of priorities, performance criteria, progress against critical milestones and strategic objectives can be controlled through an enterprise program system.
The bottom line is that properly designed and robustly executed program systems make sure the right people with the right knowledge are in the right place at the right time, and working on the right tasks and activities. And that is a formula for overall project success.