Page 267 -
P. 267
the culture, context, and needs of the client organization. The more people you can
involve in that process, the better it will be for the outsourced team. If your organization is
willing to put in the effort, they can build a sense of teamwork between your organization
and the vendor’s that would not be possible to build on your own.
Make Sure the Project Is Estimated Well
The further away you get from a task, the easier it seems; the devil is usually in the details.
Outsourcing allows you a lot of distance from your projects. For example, if your own
team is making estimates, you often expect those estimates to be examined and ques-
tioned by senior management. But an outsourcing company does not have the same
checks, and also does not have the same implicit trust. In some ways, you’re far more
likely to distrust them; but you’re also much more likely to have little or no visibility into
the way they run your project.
Sometimes it’s the client’s fault that realistic goals are not set for the project. There may be
a lack of due diligence on the part of the client contracting the outsourced services—for
example, choosing companies based on cost only. Some companies may be cheaper
because they don’t understand the project being proposed, while some may be cheaper
because they just aren’t very good. (For some reason, clients don’t care what the reason is
for a very low price until they see the final product, or lack thereof).
On the other hand, sometimes it’s the vendor’s fault. Vendors tend to promise things they
can’t deliver. (This shouldn’t be too surprising—most software engineers have experienced
projects where the promised deadline was unrealistic.) Many vendors are perfectly aware
of the myths about outsourcing, and are happy to let you continue to believe them.
(“Your project can’t fail because there are many people sitting in the wings, just waiting to
jump on if the project starts going downhill.” * ) When you’re talking about a software
project, it’s going to be a long time between when the contract is put in place and the
point when you figure out that the project is not progressing—especially if you don’t have
good checkpoints in place.
One effective way to prevent the vendor from taking on work that the team cannot perform
is to understand their capacity from the outset. Ask them to show you the results of a project
of similar size. (If they have never taken on a project of similar size, you may want to switch
vendors!) Get involved in the estimation process, and make sure that the people who are
going to do the work buy into the estimates that the project plan is based on.
Don’t be afraid to meet with the vendor’s project team and hold your own estimation ses-
sions, once the project team is assembled. It is not uncommon for a vendor to have a sep-
arate estimation team that provides estimates when a contract is being negotiated; this
team may provide estimates that are sufficient for a contract, but insufficient for planning
your own organization’s goals. By getting personally involved in the estimation process,
you can ensure that your project plan is better grounded in reality.
* Remember Brooks’ Law: “Adding manpower to a late software project makes it later.” (See
Chapter 10.)
MANAGING AN OUTSOURCED PROJECT 259