How Offshore Outsourcing Failed Us

Faced with more work than its crack development team could handle, Life Time Fitness rolled the dice on a top Indian firm--and lost.

October 10, 2003

11 Min Read
Network Computing logo

Personally, I was excited about the promise of offshore outsourcing. If it worked, we'd be heroes to the business. Philosophically, I view free trade as highly beneficial to its participants.

We met the key criteria for offshoring: centralized IT, process maturity and years of experience working with Indians both in the United States and offshore. We had executive sponsorship. We had IT commitment. We even had the perfect project to test the waters: a small, low-risk Web application for our real-estate division. The application's purpose is to provide screens for entering new location information. The application isn't complex: The back-end database is Microsoft SQL Server; server-side Java components implement business rules; and Java Server Pages (JSPs) are used for the front end. We use BEA Systems WebLogic as the application/Web server and Concurrent Version Systems (CVS) for source-code control.

Join the Discussion

Join Wesley Bertch to discuss more about LifeTime's outsourcing problems -- or your own -- in our forum.

The Tier 1 Indian vendor we invited to implement the project was successfully supporting our Siebel 7 sales-force-automation implementation, so both sides thought this project would be a slam dunk. The vendor agreed to take on the project for a fixed fee of $20,000, with a nine-week time line.

To avoid finger-pointing, everyone agreed that the vendor should perform all phases of the project, from gathering business requirements through QA (quality assurance). Life Time's internal staff would monitor and participate in every way necessary for the project to succeed. If the project proved successful (defined as anything shy of disaster), we promised a small fortune in project work.Here's how the project team was organized:

• An on-site liaison, supplied by the vendor, acted as a bridge between the Life Time team and the offshore project manager. This person was on a senior level technically and had strong communication skills.

• An on-site business analyst, supplied by the vendor, completed the application's functional requirements, then returned to India to act as offshore project manager.

• An offshore project manager tracked tasks and schedules for three offshore team members: a Java developer, a JSP developer and a tester.• An offshore technical manager supervised our project, as well as three others.

• A Life Time software manager coordinated his team with the on-site liaison to provide code reviews, database design and general advice.

• A manager in Life Time's real-estate division served as the business champion.

The project got off to a good start. The vendor's business analyst met frequently with the real-estate division's users and, with the on-site liaison, worked furiously to document all the functional and user interface requirements within four weeks.

By week three, however, our internal lead business analyst threw up a red flag. His review of the functional specs exposed problems in the requirements, particularly in the interface specs. For example, the UI as laid out forced the users to re-enter data they had previously entered. Plus, the screen flow was illogical and confusing. The on-site liaison countered that though the UI had problems, it ostensibly complied with the documented business requirements.To ensure that we would get what we needed, we extended the project time line, agreed to a cost increase of $7,000 to allow for additional analysis and better interface design, and dedicated internal Life Time analysis and UI people to guide the final version of the documentation.

After the vendor's business analyst wrapped up the documentation, he returned to India and, in an effort to exploit his knowledge of the project requirements, was assigned as the offshore project manager. By this point, the offshore technical manager had lined up the offshore project team, so the coding design began in earnest.Once offshore, however, the project started down the slippery slope. Upon receiving the offshore company's database design, Life Time's lead data architect declared it to be the worst he'd ever seen. There were so many critical database flaws--more than 100--that our architects were unable to log all of the defects within the scheduled one-week review period.

The database was not the only problem area. Determined to dazzle us with their software prowess, the offshore developers insisted on completing the entire code design before allowing us to review it (we had requested an early design sample to head off any problems). Naively confident in their original code design, the offshore team had launched immediately into writing Java code before checking the code design into CVS for our review. Tragically, our review determined that the offshore team's design patterns weren't in accordance with the standards Life Time follows, invalidating all the offshore team's Java code.

In two short weeks, the offshore team had gone from proud and eager to embarrassed and dejected. Once the stark reality of our logged defects sank in, the team knew there was no way they could straighten out the code design and then code and test the applications within the set time frame. Frustration levels were high on the offshore team, and the on-site liaison became increasingly defensive. The internal Life Time team was disappointed and annoyed as well, but we accepted the fact that mistakes were bound to happen on our first end-to-end offshore project. We valued a quality final product much more than time-line precision. Nevertheless, as we learned only later, the offshore team began working extra-long hours to avoid asking for a time extension.

To the Rescue?Given all the problems up to that point, we sensed the project was at risk, so our internal software development manager, QA manager and I flew to India to meet with the offshore people. Graciously, the vendor also scheduled us to meet with the top brass. The visit was highly informational and warm feelings prevailed, but by this time the application was in the testing phase and nearly "complete."

Not long after our trip, the offshore team delivered the tested, "finished" application. According to the on-site liaison, all we now needed to do was perform a ceremonial user-acceptance review, sign off on the project's successful delivery and celebrate.

Not so fast. We instead decided to perform a little QA of our own. In less than a day, one Life Time tester and one developer found more than 35 defects, many of them showstoppers. Screens randomly went blank, "saved" data was lost, functionality was missing, the interface wasn't consistent and data validation didn't work. The offshore team categorized the hundreds of newly found defects as "in scope" (these they fixed) or "out of scope" (these were deemed Life Time's problem).

Even after the vendor fixed the "in scope" defects, the application was unusable. And fixing it meant it would be late and even more over-budget. At this point, we decided the best course was to take delivery of the application and overhaul the code ourselves. We couldn't bear trying to explain to the offshore vendor all the code fixes that were needed and then haggle over who would pay for them.

Post MortemYou might assume that, given our dismal experience with offshore development, we have written off this model completely. Not so. Offshore may still hold promise as a way to cost-effectively extend our current team.

What would we do differently? Instead of relying on the vendor to institute the offshore processes and team, we would set that up ourselves. Ideally, we would have a developer (probably an Indian) from our internal team relocate to India to build and manage a competent offshore team, perhaps within leased space at an existing development facility.

Another lesson we learned the hard way is that fixed-bid offshore projects tend to misalign the vendor's interests with ours by placing undue emphasis on cost and time line while sacrificing quality and customer focus. Because we care about what the code looks like (this vendor's on-site liaison and account executive admitted to me that they do much better with fixed-bid projects when the customer doesn't inspect their code), we would have been better off using a time and materials arrangement, which would have given us more control over every part of the process.

Finally, next time I would pay more attention to my employees' concerns. Even before the project started, several employees expressed doubts about the quality of offshore code and predicted they would end up redoing it themselves. Turns out they were right.

Wesley Bertch is director of software systems at Life Time Fitness. Send your comments on this article to him at [email protected].Post a comment or question on this story.Why did our offshore software project fail?

Root Cause #1 -- Inexperienced Labor

Indian software labor is highly educated and dedicated, to be sure, but we found that workers lack the technical and people skills that come only with experience.

Our vendor's employees averaged only two years' experience. Because so much was riding on this trial project, the vendor assigned us a "senior" team: The Java and JSP developers each had four years of experience, and the tester had two years of experience. By comparison, any one of our internal Life Time software developers has more experience than the entire offshore team combined.

The on-site liaison explained that one reason offshore developers and testers are on such a junior level is because as soon as they gain experience, they're promoted to project management, account management and other nontechnical roles. Apparently, there isn't much of a promotion track for developers.This development inexperience led to a series of rookie blunders: formatting every database field within the back-end components as "string" (only to reformat them back at the interface); disallowing punctuation in a comment field because the documentation called for "alphanumeric"; and not asking for guidance when faced with difficult coding decisions.

Root Cause #2 -- Overemphasis On Process

I never thought I would say that an offshore vendor is too process-dependent. I had always listed this vendor's quality and process focus as a strength--and it can be. But process by itself can't assure project success, and documentation can't substitute for domain expertise.

Like a contract manufacturing plant, the offshore model is designed to funnel any and all projects through a labyrinth of processes and internal controls so that novice employees who don't know anything about a customer's business can achieve acceptable results.

The problem is that you can't factory-produce this kind of software. Developing software is more like team surgery, where competency, experience, group chemistry and knowledge of the patient go a lot further than a set of processes for how the surgery should be performed.Root Cause #3 -- Project Performance Metrics Masking Problems

Our offshore vendor uses a comprehensive project-tracking system, and its employees are reviewed and rewarded based on customer-satisfaction surveys. You would assume, therefore, that this project's problems and our dissatisfaction were evident to the vendor's management, right? Wrong.

During our visit to the vendor's development center, the offshore project manager showed us data on our project. I was astonished to find that the data indicated things were perfectly on target, and the number of hours worked during each phase was precisely in line with the vendor's original estimate. The coding snafus and overtime hours weren't evident, nor did we detect any inkling that the project was at risk.

Likewise, the vendor's surveys appeared to be "managed." For instance, after the vendor completed our Siebel implementation, one of the vendor's employees requested that I fill out the post-project customer survey with all 5s, the highest score possible. These surveys are mandatory, but I'm still waiting for the survey to arrive for this latest offshore project. So, on a project that went relatively well, we were hounded to complete the survey, while on a project that didn't fare well, no survey appears to be forthcoming.• Savings Not So Big Although wages are generally 80 percent lower in India compared with the United States, total labor cost savings are just 10 percent to 15 percent for most U.S. companies that outsource to India, according to a report from Deloitte Consulting. What chews up potential savings? Higher costs for travel, communications, equipment and managerial oversight, along with lower productivity, cultural differences and incompatible systems. And, as U.S. workers make productivity gains, the savings gap could widen further.

• Security AngleDespite the events of 9/11, U.S. corporate IT security worries still mainly involve worms or cyber-attackers. Doing business overseas opens up a whole new set of scenarios. For example, in August two bombings in Bombay killed 44 people and wounded more than 150, many of them critically. This followed a series of blasts that have killed 66 people since December 2002. These attacks, blamed on Islamic militants, struck at the economic base of India: Bombay contributes more than 30 percent of India's taxes and revenues. See CBS News.com.

Missed our Life Time "On Location" package? Go to "And Now For the Heavy Lifting"Catch up on the latest developments at the Life Time blog

What's your opinion on offshore outsourcing? Talk back to the author.Whether you're casting your development dollars overseas or contemplating IT consulting in your own backyard, now you can post your questions and share your knowledge on all aspects of outsourcing IT in our newly launched forum, Outsourcing Center. To get things started, we've invited Wesley Bertch, the director of software operations at Life Time Fitness, to be our guest moderator. Ask Wesley about his current outsourcing endeavors for a candid look at this dangerous, but potentially beneficial practice.

SUBSCRIBE TO OUR NEWSLETTER
Stay informed! Sign up to get expert advice and insight delivered direct to your inbox
More Insights