How to Avoid the Cliff: Better Planning for IT Program Managers
Stop me if you have heard this story before. You and your teammates are working on a stressful program, one whose success depends 100% on every step being achieved at exactly the right time. It’s an intricate process, and you think you have it all choreographed. Then something unexpected happens. Your vendor didn’t come through for you. The client changed the delivery date. A software license expires. Whatever happened, the program has fallen apart, and you are now left scrambling to try to put it all back together again without going over budget or losing the client. Yes, I think you know what I’m talking about. As Program Managers, we have all experienced this problem.
Program management is a lot like life: 75% of the time we just cannot foresee absolutely everything that will happen between now and the end. That doesn’t let us off the hook, however. Planning is still the key to a successful program.
Why no program has a chance of succeeding without a solid plan
Let's say a company in the IT industry is developing a new software application. Suppose the company doesn't have a solid plan for developing, testing, and deploying it. In that case, the program will likely encounter missed deadlines, cost overruns, and quality problems.
Without a plan, it's easy for team members to become confused about their roles and responsibilities and for tasks to be overlooked or duplicated. This can lead to delays and rework, which can be costly and frustrating for everyone involved.
In the IT industry, many examples of programs failed because of poor planning. For instance, the healthcare.gov website, which was designed to allow Americans to sign up for health insurance under the Affordable Care Act, experienced numerous technical problems and delays when it was launched in 2013. The leading cause of these problems was a lack of planning and testing before the website was launched.
Overall, it's clear that having a solid plan is essential for the success of any program in the IT industry. Without it, it's challenging to ensure that everyone is working towards the same goals and that the program is progressing as it should. Planning for as much as you can reasonably foresee can make your program’s chances of success greater.
How to build a solid plan with alternative approaches and mitigate known risks
Based on my own experiences, I believe in two strategies: developing a high-level plan and iterating (evaluating the plan every step of the way and making changes based on the circumstances). Doing so allows us to keep a check on facts and keep abreast of emerging situations.
So, when you create your own plan for an IT program, I recommend asking yourself these key questions:
Is this program similar to one that you have completed in the past?
If so, what lessons did you learn from the previous program that can be applied to this one?
What is the deadline for the program?
What are the smaller deadlines that must be made so that the overall program can be completed on time?
Are there any possible barriers to achieving those smaller deadlines? For example, employee vacations, shipping delays, holiday season, etc.
What is your plan for mitigating each of those risks?
Who is responsible for updating you on each stage of the program?
What will be the primary way of communicating any problems with the program?
As the Program Manager, how often will you evaluate the progress of the program?
Answering these questions will help you to develop a more realistic, nuanced plan that can anticipate what can go wrong (because, as the saying goes, it will).
The importance of flexibility and agility
Are all program plans set in stone? I hope you already know the answer: no. A non-iterative approach that keeps you speeding towards a cliff is pointless. Instead, focus on evaluating your program each day, checking its progress and looking down the road for potential obstacles. You will inevitably find them. By being prepared to quickly pivot and to implement plan B, you will ensure your ability to guide the program and your team members to a successful (less stressful) conclusion.