Exploring trends and developments
in project management today.
Why Outsourcing Fails, Even with Good Project Management
The programming press and IT journals are full of stories about the failure of software outsourcing. The statistics are sobering. Less than 50% of outsourcing meets financial objectives. The outsourcing of many business processes besides software development also has the same less-than-stellar results.
Forrester reports the top three causes of outsourcing failure are:
- No process for specifying the work to be done.
- Poor project management.
- No metrics for measuring success.
In my opinion, unless you solve the first one, then being excellent at the other two won't make a difference.
Is that specification finished, Tolstoy?
Some people believe you need hundreds of pages of detailed specifications as complex as War and Peace to make outsourcing work. Then they hire inexperienced junior programmers that will do only what they are told, at least most of the time. Creativity and innovation are not required or even welcome.
These people get what they deserve, boring software that is never complete and sometimes never even used! That's because there is no way you can think of everything before development begins. It is virtually impossible to describe everything you need in a specification and then use it alone to govern the software development process.
Software development in its most powerful form is a creative and collaborative process. The trick is to specify just enough to move your programmers in the right direction and unlock their creative powers. It is not a carte blanche to let your programmers to do whatever they want. The best specifications contain guidelines and a good description of the end goal or vision of what the software will do. It's the how and why of the software your customers will use.
Just tell us what you need!
You see, for an engineer the fun part is not figuring out what to do. The fun part is figuring out how to do something, how to achieve the goal that is clearly defined for your software users.
I remember the first Russian software development team I worked with. I was unsure they could implement the software I needed. Sensing my skepticism, the team leader finally said, "Look, we can do anything! You just have to tell us what you need."
He was right, they were amazing programmers. I never had to tell them how to do something. I just had to tell them what I needed. That responsibility was put back on my shoulders, where it squarely belonged.
The most important and often missing piece is what your customers see everyday!
Luckily, I had enough experience with software development that I knew what to give them to get started. But many people don't, as indicated by the Forrester discovery that most of outsourcing fails because of a lack of process to describe the work to be done.
The most important missing piece is to describe how you want your software to behave when your customers use it. It is the use cases and user stories, the sequence of steps the various kinds of your users will carry out in going from screen to screen of the application to accomplish the tasks, goals and dreams that the software can do for them.
You must have a description of how your users will actually use your software screen-by-screen, with as many details as possible.
Without this...
- Your project management will fail or more accurately you will be managing a project destined to failure.
- Your metrics will measure only your delays and rework required before working software can be delivered.
In my opinion, the main reason for failure of outsourced software development is not bad project management. It's not having a clear definition of success.
Steve Mezak is CEO of Accelerance, Inc. and author of "Software without Borders." He recommends you visit accelerance.typepad.com. ![]()
Related Articles
Is Offshore Outsourcing Working for You?
The advent of the Internet and the continuous innovations made in information and communication technology has brought about the steady rise of a recently established business practice, offshore business development. Is your company looking or already into outsourcing? Here are five indicators that your company is on its way to outsourcing success.
Minimising Risk in Outsourced Projects
Outsourcing is the process of contracting a third party to do work on the behalf of a client that has neither the skills or resources to perform in-house. It is usually more cost effective to contract out work than to hire someone in to complete the project in question.
Tips on Offshore Software Project Management
Success of a project when developed by an offshore provider is largely dependant on the way the project is remotely managed from the client's side. If you hope to make a project successful with very little input from your end as a customer, it is unlikely that the project will achieve success in the long term. The basic reason is very simple: you know your business requirements best. Software services companies working in another part of the world can only develop a solution based on the input provided by you.
Empowered Outsourcing
We've all heard how outsourcing and augmenting staff with experts is an avenue for meeting business needs where the technology, skills, knowledge, staff or time is not internally available. In theory outsourcing provides the ability to develop products and services that are not easily achieved through the organisation's existing structure, by providing operational and strategic benefit. On the surface the idea seems viable; however, depending on the type of solution and service being outsourced, these relationships may actually increase the demands on the organisation that is outsourcing its work. This article highlights six key questions you should answer before outsourcing, and eight things you should keep in mind while writing the contract.
21 Ways to Excel at Project Management
The popular project management e-book now fully updated and available as a website for the first time.

1) No budget, (but I need a site that will rival Yahoo)
2) Need this done yesterday
3) No specs (please read my mind, while designing the site for example)
With such critical performance metrics, clients actually endanger their own project. Clients do need to understand that low cost development destinations are low cost for a reason. If all of India (or Russia, or China for that matter) spoke excellent English and matched the western work ethic, well, they would be called USA, and not India, Russia or China. Doing on offshored IT project is not about flinging your IT project to cheap development center 13,000 miles away. If it was so easy, we would be living in a perfect world. Offshoring has its own challenges, and an offshoring relationship too needs to be nurtured in order to get the best out of it. Offshoring is not just about cheap labor, its getting value for your money. But more than that, its about getting access to a global talent pool. Now how many western clients think of that?