Dark Side of Offshore Software Development, Part 1
Dark Side of Offshore Software Development, Part 1
If it sounds too good to be true, it likely is.
Join the DZone community and get the full member experience.Join For Free
On a project for the Queensland health payroll system, IBM exceeded the estimated budget of $6 million by 1,600% percent. By the end of the development, the expenses escalated to $1.2 billion, and the lawsuit had to be settled in court. The renowned IT company was almost banned from working on other Australian government projects. While both parties accepted part of the blame, the debacle went down into the outsourcing history books as a cautionary tale.
Despite its many advantages over keeping an in-house team, software development outsourcing is a risky endeavor. If you do not communicate your expectations and requirements clearly and do not vet the vendors, even an IT giant like IBM can fail to produce desired results. Considering the variety of issues you can run into with IT outsourcing, we start a series of posts on the dark side of outsourcing. Our first installment deals with two of the businesses’ greatest fears: missed deadlines and exceeded budget and how to prevent the fallout.
“This was a fixed project that [the company] promised to finish in three-and-a-half months. They never delivered. They were four weeks late on the first milestone and bailed out after the first payment.”
Time is money, especially if you are working against the clock to get your product on the market before the competition, as most startups do. A week’s delay may not kill your business, but few projects can afford to lose a month or more. However, offshore development is not the reason behind missed deadlines. In-house teams can fail to finish projects on time, and the expenses will be even higher.
The primary causes of missed deadlines are:
- Ambitious timeline estimates. Inexperience leads to dramatic outsourcing failures when development teams cannot assess the technical and legacy requirements of the project. Worse still are the software consulting companies that try to use impressive deadlines to beat contenders.
- Poor project management methodology. If you do not have access to the task tracking software and miss progress report meetings, you have no control over the project’s progress. As a result, the offshore team misses deadline after deadline, until the project becomes obsolete,
- The lack of technical expertise. To get a juicy contract, software development teams make themselves seem more experienced and tech-savvy. In reality, the developers research the technologies required to complete the project on your time, make newbie mistakes, and have to rewrite the code to iron out the bugs. The team cannot assess the development timeline right and wastes time on getting up to speed.
What Can You Do to Prevent This Scenario?
- Do not buy into unrealistic tight deadlines. When three companies estimate six months, while one promises to finish in three, the odds are you will waste a year with the last one.
- Ask questions about the project management methods and tools, request a Gantt chart to assess the project’s milestones. Talk about risk assessment and missed deadlines penalties.
- Run a short trial run or request the vendor to complete a test task. It won’t be a full technical evaluation, but the attitude, mistakes, and timeline will tell you a lot about the vendor’s expertise.
“The time that was allocated versus the time that was actually used was completely different, despite following an Agile model with built-in hours. If someone was going to take three hours to build a particular feature, they would increase the number of hours significantly and stretch it out. We saw 5–7-hour discrepancies between the allocated and worked amount of time. We discovered these problems after cross-examining the team. The hourly rate stayed the same.”
When you hire software developers, you expect them to provide realistic estimations and track the time spent on each task. However, the lack of technical expertise, sloppy time-management, and poor work ethic translate into an inflated timeline and missed deadlines. Moreover, you have to pay more for the overdue and subpar results than you would for high-quality and timely delivery by a reliable software vendor. The reasons for this behavior include:
- The desire to earn more with low rates. Cutthroat competition on the web development services market drives vendors to cut the hourly rate in the hopes of attracting customers with limited budgets. By inflating the number of hours spent on each task, they compensate for the low prices and bring up the overall budget if you rely on a time and material software development model.
- High staff turnover. When developers leave the project and IT vendor for greener pastures, the newcomer team members waste days and weeks to get up to speed while you pay an hourly rate. The more software engineers the company loses, the longer each task stretches out.
- Poor work ethics. The number of complaints about the subpar work efficiency of outsourcing teams has doubled in recent years. Certain developers have mastered the art of hard work that does not accomplish anything.
What Can You Do to Avoid Being Scammed?
- Consider fixed price instead of time and material engagement mode if your project is relatively straightforward and you are sure no new requirements will come up in the course of the development.
- List a few project tasks and request estimates from different software development services providers. Weed out those that offer unrealistically short or offensively long times. Look for a happy medium and choose one of the vendors that suggested it.
“I’ve lost close to 30 lakh Indian rupees ($42,300) in total. Besides the initial project cost, I provided them financial assistance so they could compensate their employees and finish developing my project. They were to pay me back after completing the project. Unfortunately, they stopped returning my calls, and I have not received a refund.”
One of the problems of outsourcing is that even if the project progresses on schedule, it is a hostage to an offshore vendor. Agile development may provide you with interim results and functionality, but you won’t receive the full package until the vendor delivers it. If you are in a hurry to get the product on the market, you are ready to give the shirt off your back. Unscrupulous companies are willing to risk reputation and future business to squeeze you dry. While few scenarios deteriorate to this level, the hourly rate and overall budget can skyrocket in the middle of the development, because:
- The demand drives developers’ salaries up. A decade ago the offshore development could save up to 80% of the project’s budget, but today the difference in hourly rate between the US and Indian or Ukrainian developers is less striking. In a bid to keep the most talented and experienced engineers on board, the vendors can drive up the rates and shift the financial burden to you.
- The influx of dollars strengthens local currencies. With the US dollar losing its position in the local economy, the developers’ rates go up to keep them happy, and you have to bear the brunt of the added costs once again.
What Can You Do to Save Your Money and Get Things Done?
- Avoid mainstream outsourcing destinations. For example, while Russia and Belarus are driving the costs up, software developers in Ukraine are no less experienced and offer an affordable alternative.
- Look for offshoring partners outside the capital. Moscow, Minsk, or Kiev might be your first choice when looking for an outsourcing vendor, but there are hundreds of mobile app developers in Ukraine that are based in Kharkiv, Odessa, and Zaporozhye that offer equal quality at lower rates.
On this positive note, we are wrapping up the first part of our foray into the dark side of offshore custom software development. Next time we’ll talk about the horrors of failed communication and team management that ruin outsourcing projects.
Published at DZone with permission of Viktoria Klochkova . See the original article here.
Opinions expressed by DZone contributors are their own.