October 18, 1999
http://www.informationweek.com/757/outside.htm
Careful planning and support from upper management are key to the success of outsourcing
By Andrew Binstock

pplication development frequently becomes a candidate for outsourcing for one key reason: It doesn't leverage internal resources well, particularly when the task is too mundane or demands too many new skills. A classic example is year 2000 program remediation.
Clearly, in-house developers who are well-versed in the business rules of their own industry and have expertise in specific technologies are poorly utilized when assigned to combing through legacy code looking for six-digit dates to fix.
Likewise, new technologies can prove a poor fit for in-house developers. For example, the training curve for Web development (HTML/Extensible Markup Language, Common Gateway Interface, Java, Perl, and so forth) might be prohibitively long for rank-and-file Cobol developers to get a Web site up and running quickly. If a company needs to establish a Web presence in a hurry, it can't waste time by investing in training and then letting the beginners design its Web site. Such sites would benefit from outsourcing to Web design experts, while in-house programmers supply the business logic, says Norton Greenfeld, principal analyst at Implements Inc., a market-analysis firm.
"This is a common way of doing things," says Eric Ashman, managing partner for E-commerce at USWeb/ CKS, a company that specializes in bringing companies onto the Web.
In-house developers coming up to speed on Web development can work with consultants or outsourcing companies to hone their skills. "The smart IT shops recognize that tight integration between outsourcing firms and in-house personnel benefits both parties enormously," says Craig Goren, the founder of Clarity Consulting Inc., which implements Windows IT systems.
Another compelling reason to outsource programming is to handle the fallout from mergers and acquisitions. Who will reprogram the legacy systems in the new company? This question is especially pressing if the data center where the legacy systems are located has been moved to a new site.
Working with a compatible outsourcing partner can also be economically attractive, says Phyllis Recca, executive VP of professional services at Compuware Corp., a company that provides outsourced application development. "The savings in this model can reach up to 30%," she says. "This is mostly attributable to the greater efficiency of the outsourcing partner and to the redeployment of in-house developers on high-value work."

When HolonTech Corp., a San Jose, Calif., vendor of load-balancing hardware, was founded in 1996, the 65-employee company decided to outsource as much of its software development as possible to its offshore outsourcing partner, Ceeyes Technology in Hyderabad, India, where programming costs are as much as 25% lower. "With the proper partner and the proper methodologies, the quality of the deliverables is as good as, and often better than, what you would expect here," says HolonTech executive VP Sri Chaganty.
HolonTech has an elaborate methodology in place--one that's not uncommon for companies with overseas outsourcing strategies: Its design specifications and programming requirements are spelled out in great detail, and both parties agree to a precise software development schedule. The project managers in both countries monitor the progress of the scheduled work. Meanwhile, an in-house staff reviews developed software for compliance with specifications. The result is that both parties are clear on their roles and what is expected of them.
"Detailed specifications and schedules followed by constant communication is the key to success," Chaganty says. But this approach requires an extensive investment by the user in time and energy. "This is often the unseen cost of outsourcing application development--the constant management of the project by the client," says Peter Burris, a senior analyst at Meta Group, a research and consulting firm.
Small companies aren't the only ones working with programmers overseas. Cisco Systems outsources software development for its older switches and routers to Intelicent Inc. facilities in Chennai, India; NCR Corp. also moved much of its kernel development for NCR Unix to Chennai. "Countries with lots of highly trained, inexpensive engineers are especially attractive for this kind of work; Russia, Ireland, and India are among the leaders," Greenfeld says.
Despite the advantages, many IT developers and managers resist outsourcing application development. Some in-house developers prefer to use the latest technology on new projects rather than maintain existing ones. Managers occasionally view outsourcing as a threat--one that can diminish the scope of their responsibility and perhaps even threaten their position. As a result, the outsourcing decision is generally made at the CIO level or above.
It's particularly important that the IT staff trust the partner to deliver the goods. If a consulting firm has already worked with the company and is familiar with its processes, that firm will have an enormous advantage over other candidates seeking the outsourcing assignment. However, in the absence of consultants of this kind, a new partner must be found.
In general, an outsourcing partner should have experience in the industry it will be addressing. The partner also should have a demonstrated ability to deliver quality goods on time. This should consist of more than warm references from other customers. According to Sax Krishna, Intelicent's director of sales, Cisco CEO John Chambers visited the outsourcing site in Chennai before their contract was finalized.
The partner should also demonstrate certified compliance with either ISO 9001 or level 2 or 3 of the Capability Maturity Model of Carnegie Mellon University's Software Engineering Institute. ISO 9001 and Capability Maturity Model are specifications that ensure quality by setting standards for software development. Representatives from standards organizations visit the sites to certify that they satisfy the requirements. Of the two specifications, the Capability Maturity Model is more common in the United States; level 2 of the model is fairly basic, so level 3 would be much more desirable.
"Either way, you should bear in mind that the certification applies only to a specific site," says Mark Paulk, a Software Engineering Institute senior technical staff member, so verify that the site you're working with is the one certified.
Once a potential partner is found, companies must assess compatibility with current staff needs. This frequently involves working on a small pilot project together. All steps in the partner's normal development process should be undertaken in the pilot, including analysis, composition of a statement of work, agreement on schedule, coding standards, and metrics for tracking performance. Once the pilot is done, the company can determine the quality of the deliverable and the compatibility of the staffs. However, "the pilot should not be used to assess cost benefits," Krishna says. "The cost of planning and developing the statement of work normally would be distributed over the entire project. A pilot is too small to recapture these costs."
The biggest worry among companies contemplating outsourcing development is that the other party will not return a quality product. This concern should be paramount when designing the contract. Be specific about deliverables, schedules, and quality milestones.
Should deliverables be late, buggy, or in violation of agreed-upon specifications, payments should decrease according to terms in the contract. "Every detail should be spelled out and agreed to by both parties," Chaganty says.
Of course, unpredictable snags will arise, and you'll need to define some mechanism for handling these, he says. A classic example is when new government regulations require a company to generate a report with different data. At the outset, the company and outsourcer should establish guidelines in the contract that state the responsibilities of each party in determining procedures and payments associated with unexpected changes in their initial agreement.
Quality should not be a problem if a company has chosen a good outsourcing partner. In fact, there is a high likelihood that code quality will improve. Programmers for hire are trained to be very disciplined in fundamental techniques, such as program design, coding conventions, and programming style. They are often seasoned professionals who have learned the value of adhering to best practices in code and design as they move from site to site picking up projects from other team members. As a result, they become productive right away and are disciplined about documenting their work.
Likewise, the programs will be well-tested. Disciplines such as unit testing, integration testing, regression testing, code reviews, and user testing with full documentation of test results should be requested in the contract. Again, this is likely to raise the quality of the deliverable.
Finally, every scheduling milestone should require a signature by the company--generally, from the project leader or IT manager in charge--indicating that some deliverable has been completed. Deliverables can vary from checking in a program after Y2K remediation to having a program unit successfully complete unit testing. By having frequent milestones, the company and the outsourcing partner stay in close touch about the status of the project. This practice tends to reduce confusion, false expectations, and schedule slippage.
In determining these factors, companies should rely on their own standards and expectations. They should also make heavy use of the pilot project, which acts as a baseline. "The pilot shows what can be done, how well, and within what time frame," Recca says. "Both sides should use it to set expectations and schedules." Thereafter, the outsourcing firm should agree to improve on the baseline.
Once both parties agree on terms, staffing and compensation must be worked out. Staffing concerns are most important if the consulting partner is expecting to hire some of the company's programmers. This practice, while not common, follows more in the tradition of permanent outsourcing, wherein a whole IT function, not just a specific project, is sent off-site.
Take, for instance, the Detroit Medical Center, the city's largest non-governmental employer. The center has more than 18,000 workers, including a medical staff of 3,000. In August, the medical center signed a $1 billion 10-year contract to outsource its IT functions, including application development, to a Compuware subsidiary (see sidebar story, "Unusual Partnership Benefits Medical Center, Outsourcer").
As part of the deal, Compuware hired 379 medical center IT staff members and promised to guarantee jobs for 180 days. IT staff members interviewed Compuware managers "to make sure it would be a comfortable place for them to work," says Don Ragan, the medical center's CIO. This allowed for a virtually seamless transition.
Compuware likes this type of outsourcing model. "It allows us to build our technical ranks, take care of the client, and eventually provide new challenges for the staff as they are exposed to other projects," Recca says.
Finally, payment must be worked out, bearing in mind the importance of tying it to performance and service levels. In the early stages, both parties tend to prefer time and materials, since they both are dealing with an unknown partner. However, "at some time, this approach should convert to a fixed price based on knowledge gained from the early time-and-materials billing period," Recca says. "The payment scheme should be spelled out clearly in the contract."
Efforts to forge a strong partnership persist even after the contract is signed. First, the company must work quickly to overcome IT's natural resistance to the outsiders. If senior management isn't clear on communicating the company's commitment to the outsourcing project and its benefits to the company, managers and employees won't cooperate and may even actively work against the project. If these efforts to undermine the project are not addressed immediately, its success will be jeopardized.
This approach encourages the outsourcing partner to increase profits by being efficient, and it lets the hiring company know how much to budget for a specific piece of work. However, for the fixed-price model to work, both sides must keep careful track of changes in scope and environment. When these changes come up, both sides must work together to amend the schedule and compensation appropriately.
In addition, the project must have good sponsorship within the firm, says Intelicent's Krishna. "Executive management must be completely committed to the success of the project," he says. "Otherwise, internal inertia and resistance will doom the project."
The consulting partner typically will appoint a project leader who reports to the client company. Daily communications should be encouraged and expected. Moreover, in-house technical experts should participate in any meetings where more than simple project management is discussed. The project must indeed be viewed as a partnership.
Once this relationship is in place, the process should start to run by itself. The key document is the schedule and the statement of work. The project leaders of both parties should constantly monitor progress, discuss unforeseen issues, and stay in touch with the project's progress.
"You must be constantly reviewing progress reports and metrics to make sure all is happening as expected--on schedule and on budget," says Mario Sagaria, NCR's Y2K program director, who headed an outsourcing project involving more than 3 million lines of NCR code that needed to be checked and corrected for Y2K compliance.
Be sure to quantify the cost of managing the project, cautions Burris. "This is an expense that can offset savings the project might confer," he says, adding that the relationship will succeed if the work can be specified in detail. If the project is difficult to define in detail, it probably won't lend itself well to outsourcing.
Even successful projects can turn unsuccessful over the long term, especially those where the outsourcing deal was entered into because the in-house staff lacked skills. If a company outsources a technically difficult project and doesn't train its developers to have the necessary skills to support the project once it's complete, "then the application development becomes the front end to a much larger and much longer relationship with the outsourcing outfit than was originally contemplated," says Allie Young, an analyst at Dataquest, an IT market research firm. "IT managers should be vigilant to avoid this problem."
However, if outsourcing is contracted correctly, run properly, and maintained as a partnership, it will prove consistently successful and economically rewarding.
Illustration by Matt Foster
Photo by Gary Parker
Visit us at: http://www.informationweek.com
BP seeking Regional Desktop Coordinator in Houston, TX
Agilent Technologies seeking Marketing Manager in Melbourne, AU
US Civilian Research and Development seeking Web App Developer in Arlington, VA
Citrus Community College seeking Programmer Analyst II in Glendora, CA
Lowes seeking ITE Project Manager in Mooresville, NC
For more great jobs, career-related news, features and services, please visit our Career Center.