| |


|
|
 |
Keeping Your Project Safe from External Dependencies
By Bob Fahey with contributions from Chris Lewis.
IT projects can be enormously expensive. And, there’s not a CFO in his right mind who would sign off on an expenditure like that without knowing that knowledgeable professionals have laid out a proven process and have the experience to ensure that every eventuality is accounted for. Right?
So, why is it that the vast majority of IT projects – 70% to 90%, depending on which research you buy into – do not finish as planned?
A big reason for that amazing percentage is a failure to recognize external dependencies, pieces of a project that are out of your control, yet must be completed before the next phase or part can be tackled. Gremlins that can grind a project to a standstill, drastically change resource allocations, and eat up your entire contingency budget leaving you out on that proverbial limb, swinging in the breeze.
Whether you are completing your IT project in-house or partnering with consultants, it’s vitally important to be aware of the real problems that any dependency – and especially external dependencies – can create. It’s not unusual for companies to pull the plug on projects because external dependencies are running up costs too much or pushing schedules to the point that the project cannot possibly be successful.
As mentioned above, the problems arise from a failure to recognize external dependencies, rather than from the external dependencies themselves.
Your ability to mitigate the problems caused by dependencies will be directly linked to how well each dependency is planned for, tracked, and managed. Handled well, it could just be a bump in the road. But if it takes your team by surprise, it could become a pothole big enough to swallow up your entire project.
Fixing on the fly versus planning
When confronted with an unplanned-for external dependency, every delivery lead typically contemplates several options, including:
- Adding resources to the task, either by bringing on new people, or re-assigning existing people.
- Working on subsequent tasks, knowing that, at some point, they’ll need to go back and rework the dependent piece into the overall solution.
- Reducing the scope of the dependent task to get it done sooner.
- Assuming responsibility for the dependent task.
However, like a strong medication that can alleviate a physical problem, these solutions all come with side effects. Working people harder than planned to compensate for more work or rework leads to staffing challenges. As people get moved around, you could end up with individuals working on parts of the project that are outside their strengths. An unplanned addition of staff requires that the team take time to ramp up and orient new people. Changing the plan in midstream means realigning the team via project communication and resetting expectations, steps that can be time consuming and require lots of energy. Rework becomes practically unavoidable, which drives additional work tasks and communication activities. Finally, change becomes increasing difficult to manage, especially when it comes to the financial impact.
Of course, there are ways to successfully manage external dependencies. At Avanade, our experience has proven that awareness, planning and vigilance are the keys to maintaining control over these project killers.
Very simply, you need to be aware that dependencies can be the downfall of a project. However, it’s just as important to realize that as your project gets tossed about on the sea of change, new dependencies are likely being created in areas you may not have anticipated.
If you’re the delivery lead, an awareness of and healthy respect for the danger external dependencies pose will keep you watchful and wary. If you’re the client, you’ll want to be confident that your partner’s delivery lead also has that awareness and respect. Don’t be shy about asking him or her to brief you on the dependencies that are waiting to derail your project and the plans to handle them as they arise.
Whether you’re leading the project or paying the salary of someone who is, make sure the strategies below or some variations of them are followed. They can make the difference between the life and death of your project.
At the outset, conduct a Dependency Analysis. Using the task or work plan, go through each item and assess if there are dependencies for a particular task or if the task is a dependency for other tasks. Look for:
- Approvals. Any type of approval that might be needed, including requirements sign-off, design reviews, purchase approvals, etc.
- Task inputs. Most tasks require some time input. For example, a detailed design usually requires that requirements documentation is complete, and that architectural materials are complete. How long will it take to gather everything needed to start a certain task? That is also a dependency and is essential to include in your analysis.
- Resources. Include hardware, software, and people resources.
- Training. Don’t forget that training needs are often required. Most often these fall under the heading of internal dependencies, but they can be external.
Our experience tells us you’ll need about 2 hours of analysis for every 1000 project hours.
Document the critical dependencies and assign an owner. Critical dependencies are those your team is most reliant upon to stay on schedule and on budget. Rank order the dependencies according to their potential impact on the project. Then determine if you have an effective workaround solution to mitigate any of them. Those most critical without a workaround should get the closest attention and definitely require an owner. The owner may be someone on the team, the delivery lead, or an executive sponsor. This is where an application such as Microsoft Project can be valuable. With Project, you can assign dates to tasks and link tasks to each other. Then, if a task gets behind schedule, you can quickly see which of your other tasks are being affected and compensate accordingly. To help you do a better job of planning, you can also do a What-If Analysis. That will show what could happen if a task gets behind schedule well before it happens.
Align dependencies with SDLC phases (Software Development Life Cycle). By keeping your project organized and in bite-sized chunks, you can help ensure that each individual phase is staying on plan. For example, it would be wise to wait to start the detailed planning phase of a project until the project scope has been formally approved by business and IT stakeholders. Our teams tie in dependencies with the Avanade Connected Methods (see sidebar), a proven SDLC methodology we use to guide the successful delivery of projects.
Now that you’ve got your critical dependencies documented, take the jealous spouse approach. Check up on them, follow them, don’t leave them alone for too long. The owner of the dependency should schedule regular follow-ups with the external party to check on their status and report back to the lead. If possible, get early copies of the dependent deliverables to make sure you’re getting what you expected. Late deliverables wreak havoc with the schedule, but so do on-time deliverables that show up unusable. Getting an early peek will give you some flexibility to make minor or major changes before the final date.
Bring dependencies into the scope of your project. Remember the old phrase, “if you want something done right, do it yourself”? Internal dependencies are easier to manage than external dependencies. So, whenever it makes sense, make external dependencies into internal dependencies that you can control. This will have an effect on your schedule and possibly costs, but will greatly reduce the chances that the dependency will cause complete chaos and end up derailing the project.
IT projects are inherently complex. A range of hardware resources, software resources, personnel from various departments and companies, and geographic distribution need to meet at a single point called the solution. A perfectly estimated project can still fail to deliver because dependencies were not tracked and managed.
Be aware of all your dependencies. Plan them into your project. Keep a watchful eye to make sure you’re getting what you need when you need it. And have well thought-out alternatives to keep the project on schedule and on budget. Your IT project and your entire organization will thank you for it.
|
|
|