Outsourcing


I’ve
been thinking about outsourcing a lot recently.  The difference in the apparent
project costs is very appealing, from a management standpoint, but I wonder if outsourcing
large chunks of development can really be successful over the long term.  Successful
outsourcing projects have very specific requirements and deliverables.  You hand
them off, and viola, you get back a finished project.  Hopefully the customer
requirements didn’t change in the meantime. And hopefully you got all the requirements
down.  This requires a lot of rigor in requirements definition, and also in getting
final buy off from your stakeholders (with no, or very little, opportunity to change
their minds.)


 

I
missed this
post from Johanna Rothman
back in September.  (Or maybe I hadn’t found her
again yet, I lost some folks when I switched machines.)  She talks about how
managers would be smarter to assign people to only one project at a time, and to only
one priority task at a time.  She concludes:

 

I’m
convinced that the reasons outsourcing works is that it forces organizations to document
requirements and the outsourcers work on only one project at a time. The outsourcers’
management can then choose any number of useful product development practices that
increase the outsourcers’ productivity. Management can’t change their minds and refocus
the outsourced project(s) in the same way they feel free to refocus the internal projects.



 

I
have been working in the software industry for 22 years, and I have never once worked
on only one project at a time.  Even when I was managing for only one product,
there were always those other side projects that needed to be taking care of. 
What Johanna points out is spot on; at MSDN we currently have one full project
outsourced, and if it weren’t outsourced, if we were working on it internally, we
probably would have de-prioritized it in favor of a more important project. 
As it is, it’s pretty much out of our hands, and soon we’ll be delivered a completed
project.


 

The
other things that I think about, though, are the decisions all along the way
of every project I’ve worked on, and how, for the most part, those decisions improved
the final product. In addition to being good at analysis, documentation and
communication, great PMs are flexible, quick on their feet (nimble), adaptable
and good decision makers.  We wouldn’t value those traits if they weren’t required
in successful projects, and I don’t think great requirements and single-minded focus
will necessarily yield a great result. The conclusion I ve come to is that you have
to carefully pick your projects to outsource, using it just like you would any other
tool.

Comments (7)

  1. "Successful outsourcing projects have very specific requirements and deliverables. You hand them off, and viola, you get back a finished project." This is not necessarily true for all outsourced projects. Our company handles outsourcing in Belgium. One of our projects we handle is partially developed by another Belgian company (business layer) and partially by our team based in India (presentation layer). There is continuous communication between the teams and the client. The project has been very successful and has survived various requirement changes and interface changes to the business layer.

  2. Stefan Chis says:

    "I’m convinced that the reasons outsourcing works is that it forces organizations to document requirements and the outsourcers work on only one project at a time"

    Well, this is an assumption. Who says that outsourcers will work on *only* one project at a time. Will you go to Russia/China/… to check? I know from first hand experience that developers from those countries are pushed by their own management to deliver.
    Your whole argument falls flat on its nose. Sorry.

  3. LauraJ says:

    If you’ll look back at the post, that was a quote from Johanna Rothman, who I’m pretty sure is not reading the comments here 😉

  4. ouch. this guy got around a long time before he found me (he had to dig very, very deep – 20th page of google looking for ‘"job loss" blog’). not pushing a product, exactly, but certainly pushing a political agenda…

  5. Roshan Mani says:

    So with the "outsourced" developers working on multiple projects, have there ever been any occurances of data getting mixed up or one clients info going to another client? What kind of IT security is employed by these outsourcing companies, to ensure that their data that is sent out remains secure and that what they get back is indeed what they gave out to be developed?