How to be a Bad External Development Partner

We've been dealing this year with a couple overseas development partners that provide particular business services.  By my count we are 5 months late on the first and 2 months late with the second partner.  We've had a lot of churn from unclear requirements (lawyers were involved), but a lot more from the technical side.

We just discovered this week that Partner A changed their web service out from under us without informing us.  Once we got the WSDL files from them we updated our proxies easily enough, but we started seeing some problems.  On one web service message we expect a null return to mean that the data simply isn't ready yet and try again later.  They switched it to throwing an exception so they could "provide more information," breaking our code in the process by changing the semantics of their service.  We'd try to suggest going to a DTO response coming back that could contain either the successful or not ready information coming back, but we don't have any confidence, or influence, over their solution.

Partner B has simply never done any .Net or Web Service integration work, and they seem to have very weak quality practices.  I.e. obviously no unit testing or even integration testing and poor configuration management.  Really bad bugs that should have been caught by simple visual inspection have gotten through to the testing environment.

Lessons Learned?  Well, for one thing I would emphasize as much communication as possible early on and don't rely on documentation alone for communication.  Don't assume anything about their, or your, understanding of the integration issues.  Secondly, if I'm ever in this situation again (and since this is the way the world is going to work from now on it's likely), I would insist on a shared code repository or a Continuous Integration infrastructure that spans the code of both partners to find problems faster.

The two partners are on two different continents, so I'm certainly not bashing any particular country or region. 

 

 

 

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • paweł paul

    Please post more of this. you need informations about I largely enjoyed it. top forex traders

  • jmiller

    Yeah, but the Toyota supply chain model is partially built on moving the financial risk to the suppliers.

  • http://codebetter.com/blogs/steve.hebert shebert

    Just as US firms are being “discovering” offshoring, companies like Toyota are discovering the benefits of having more of the supply chain regionally located. The duplication in capacity more than offsets the cost of disjointed workflows. Sadly, it’ll probably take a large business failure blamed on this to turn the tide.

  • jmiller

    Michael,

    I can’t really get into it because of non-disclosure, but the external providers essentially take on part of our business process. The technical work is just the work to integrate from our systems to their systems. It’s not a straight up outsourcing arrangement.

    I’m with you though, I’ve almost never heard of successes in offshored development. The only successful experience I have with offshoring isn’t likely to be replicated by very many other companies. When I was changing jobs a couple years ago one of the consulting companies I talked to in Austin had a nice line of business going on that they called “Offshoring Rescue” projects.

  • http://michaeleatonconsulting.com/blog Michael Eaton

    Jeremy,

    I really enjoy your blog. Great content!

    Anyway, do you know why your company uses overseas partners? I’m trying to get a handle on this since my previous employer has decided to outsource the majority of their development work to a provider in eastern Europe. It seems strange because you never read about the successes, only the failures in these kinds of relationships.