The Trials And Tribulations Of Off-shoring Development

wasn't us
Creative Commons License photo credit: Smallman2010

One of our recent clients decided to use off-shore development for building their software platform. They signed up for oDesk and it seemingly couldn’t have been easier. They posted their project and received lots of interest. They found a development company in the Ukraine that seemed like a good choice. They liked their portfolio and the hourly rate was 25% of what it would cost in the U.S. The firm practiced SCRUM which is a type of software development that doesn’t rely on specifications but instead relies on many rounds of iteration. The development phase seemed to have progressed well and on-time and the clients couldn’t be happier. The developers said that they thought that the application was just 1 week away from being ready for go-live. The clients were very excited! They could already see themselves becoming famous and rich entrepreneurs overnight.

Then, the clients began to do real testing and the leaks started to appear in the software. For the next 11 weeks, the developers continued to fix defects and inadvertently introduced new ones. The test server would be down for days because there were configuration or software issues and the developers couldn’t or wouldn’t fix them in a timely manner. They would either be sleeping, not answering their emails, taking the day off, or making excuses that the issue was on the server which was NOT their responsibility. With the project now way over budget in both time and money, the clients decided to bring me on to fix one of the bugs in the core application. What I found was very shocking and surprising!

Over the next several weeks, I uncovered issue after issue where the offshore developers did lazy and amateurish work. First, the developers all used the same username for code source control which meant that it was impossible to trace down who worked on what. There was a lack of logging and error handling making it impossible to diagnose issues on the server. The code was not architected well which made it expensive to maintain and full of copy and paste. Over time, developers were rolled on and off the project causing the quality of the code to continue to drop. Rather than identify and fix the root cause, the developers were lazy and implemented hacks. 

I worked with the client and the developers to tighten up the development process by performing code reviews, creating a code management process, helping diagnose issues, adding logging, and upgrading certain pieces of the codebase that were particularly poor. I diagnosed and resolved issues on the test server and prepared the site to go live. The clients were thrilled to see progress and were very upset that they had been deluded into thinking that they good getting a great deal and a robust application.

I think that the lesson is that the software, in this case oDesk, to manage the programmers is NOT enough. Experience and skill is required to make sure that the software is well-written and robust. You need to have a real architect on the project to ensure that you don’t get poorly written code back.

The clients also identified many other challenges due to the language barrier, the timezone difference (the Ukranians were 10 hours ahead), and the lack of availability as the developers were not readily available via cell phone. Now, the clients wish that they could just be rid of the development firm but is being held hostage because the developers are dragging their feet with the documentation. This story is not unique but just a prime example of what can happen with off-shoring and outsourcing development if you aren’t a skilled developer or architect yourself.

  • Share/Bookmark

Why Elance, Rent-a-coder, Freelancer, And Other Freelancing Sites Are Terrible

Too many cooks spoil the brothIf you are even thinking about using Elance, Rent-a-Coder, Freelancer.com or any other online freelancing site, get ready for some Brain Damage! These sites are terrible for both the clients and the freelancers and here are just some reasons why:

For Clients:

  1. What if I don’t know exactly what I want? Too bad! These sites want a piece of the transaction so they control your freedom to work directly with the client to help define the project to meet your business goals!
  2. Who is actually doing the development? Because you cannot work with the freelancers directly, you may THINK you are working with a qualified freelancer but they just hand the project and a programing book off to a high school student!
  3. These prices are too good to be true! They are! The freelancers are forced into a competitive bidding process so early in the project that is so heavily weighted against them that they are forced to underbid poorly defined projects. In fact, these projects are typically a miserable experience for the freelancers and you are likely to get crap back!
  4. Why can’t I find top-notch professionals? On these sites, the freelances are incented to do quick and dirty jobs to meet hard deadlines.  Scope can and should change as you learn more about the project.  It is nearly impossible to do Agile or intelligent development in this way!

For Freelancers:

(more…)

  • Share/Bookmark

line
footer

Social Media Marketing Services, Website Design & Video Production

Build, market and improve your business with social media marketing, cutting edge web development, and web video production. We are a social media marketing services company or agency.