CIOs Uncensored: Outsourcing's Pain Points
The very reasons that companies choose to outsource software development make it one of the most difficult things to outsource successfully.
FIND THE LEADER
In every successful outsourcing engagement I've managed, I've assigned an in-house project leader--typically the best I've got--who's tasked with overseeing the outsourced project and team in an extremely hands-on fashion. It's your in-house person's charter to establish a methodology, be diligent about developing and enforcing communication and collaboration processes, serve as a liaison with the outsourcing company and project team, and enforce checks throughout the project. This isn't something you can trust to a consultant or assume is being carried out by the outsourcing vendor as part of the project.
Even with a dedicated in-house project lead, it's easy to succumb to the challenges of managing a distributed team if you haven't established a development process and supported it with the infrastructure and tools to automate and institutionalize it. Another company I worked for, which at the time was the largest food distributor to independent groceries, embarked on an outsourced development project to build a distributed inventory/purchasing system for several of its distribution centers without establishing any processes for management. When I arrived, the project already was $3 million over budget, with no end in sight. The project wound up costing the company more than twice the budgeted funds.
To keep control of your destiny, manage the outsourced project in the same manner as you do your in-house projects--but on steroids. The amount of structure and process definition you need to succeed may seem daunting. That said, establishing this control and visibility is something that will help you achieve more efficiency and predictability in all of your development projects.
Outsourcing Pitfalls
BAD CHOICE
You outsource the development of a core business application and run into problems
WHOLESALE APPROACH
You go with a turnkey outsourcing model and then have little or no involvement in the process
LACK OF MANAGEMENT
You succumb to the challenges of managing a distributed team
SHORTSIGHTEDNESS
You don't consider the integration challenges
UNDERESTIMATION
You miss the communication and travel costs
Development methodologies can provide a road map for collaboration with and within the outsourced team. Document your processes, then support them with an infrastructure for communication and collaboration. Finally, establish methods for ensuring clarity around key development processes such as requirements management, scheduling, resource allocation, and testing.
And don't forget about integration. When you outsource, you must understand what types of methods and tools the outsourcer is using. Why? Because what it uses will have to be integrated into your environment. If its practices and tools are different from what you have, you can run into big trouble. Integration is important during the entire development process, for communications, end-user and in-house IT training, and project management/reporting. And, of course, it's absolutely critical when the project is complete and it's time to run it in your shop. This is definitely not the point at which you want to have technical compatibility and integration issues.
It's something I see again and again: IT managers underestimate the time and resources they'll need to dedicate to managing an outsourced project. If you don't have a process and management framework, costs can rapidly spiral, and in the end you'll be left wondering what happened to the savings. Further, even when a project is well-managed, the underestimation effect still comes into play. The distance and highly distributed nature of outsourced development projects inevitably lead to increased overhead in the form of meetings, extensive documentation, additional communication time, travel, and management layers. Be sure to factor these hidden costs into any decision you make to outsource a project.
Is outsourcing good? Is it bad? Obviously, the answer is yes. If you outsource for the right reasons and put in place an effective management process, your outsourcing efforts can be highly successful. But it's not an escape from responsibility--if you aren't disciplined about process and management, you can expect disappointment in the form of cost overruns, missed schedules, inadequate functionality, and poor quality.
Bob Doyle is an independent consultant and former partner at Tatum CIO Partners. He also served as CIO at Fleming, Alliant Foodservice (formerly Kraft Foodservice), and Community Mutual Insurance.
About the Author
You May Also Like