InfoWorld – by Jon Udell
As programming talent proliferates worldwide, dynamic development frameworks are bringing developers together using collaborative technologies and open source
With U.S. enterprises increasingly looking to offshore talent to reduce costs, the American programmer has become, in bottom-line speak, a "fungible asset."
As the globalization of software development unfolds all around us, it's clear that dollars-per-line-of-code is but one of the equation's variables. Other factors influencing this view include time to market, the speed with which project teams and resources can be assembled, and the rate at which tools and techniques can be transferred between offshore outfits and U.S and European companies. The Hollywood industry provides a clue about the framework needed to support global software development. In its 1995 story "Why every business will be like show business," Inc. stated that the film industry - which assembles on-demand teams that work to achieve predictable results under time and budget pressure - defines an organization model that will be co-opted by other industries in the future.
But another model exists that is more directly relevant to software development: the open-source movement.
"It's no accident that all significant open-source projects are global," says Andy Singleton, founder of Needham, Mass.-based Assembla (see "Dynamic foresight of tomorrow's development methods"). "That thought should be stuck in the mind of anyone who wants to produce world-class software." It's tempting to believe global outsourcing is as simple as "specs in, widgets out," jokes Brian Behlendorf, co-founder of Brisbane, Calif.-based CollabNet - an ASP that supports distributed software development - and co-founder of the Apache Software Foundation. Behlendorf points out, however, that in reality things never work that way. "Those specs and widgets are embedded in a complex and subtle framework of collaboration."
Leadership and methodologies
When speaking with offshore outsourcers, often the first topic discussed is formal process. Many are avid students and experienced practitioners of software methodologies such as RUP (Rational Unified Process) and CMMI (Capability Maturity Model Integration). These methods have been "adapted" to the reality of transnational and cross-cultural collaboration. Such adaptation is crucial. Princeton, N.J.-based outsourcer EPAM connects teams of developers in Moscow and Minsk, Russia , with enterprise-class clients such as Colgate, Halliburton, and CareFirst. When clients lack a well-developed project-management infrastructure, EPAM can provide it. But when clients bring their own infrastructure to the table, the outsourcer will adapt. "Maybe you're using [software management toolset] Rational ClearCase, but you haven't implemented all of it," hypothesizes Max Bogretsov, EPAM's director of professional services. In that case, EPAM will supply only the missing ingredients you need.
Equally flexible is offshore outsourcer Virtusa, according to Virtusa client Glen Snyder, vice president of engineering at Natick, Mass.-based edocs. "We didn't want to learn [Virtusa's] methodology," Snyder says. His internal development team's eclectic style is an evolving mix of RUP and elements of XP (extreme programming), which Virtusa was willing to accommodate. XP relies heavily on proactive unit testing and advocates pair programming - that is, teams of two working shoulder to shoulder on development, code review, and testing.
Those practices have been adapted by Virtusa to take advantage of the around-the-clock cycle of distributed development, says AshokSuppiah, senior vice president of R&D at Virtusa, which has offices in Westborough, Mass., and Sri Lanka. "While Asia is sleeping, developers in the client facility can review code or run integration tests, and vice versa," he says.
Companies such as EPAM and Virtusa have never thrown bodies at Y2K remediation or maintenance of COBOL software. Instead they equip teams with the best tools, train them to use and refine best practices in multiple disciplines, and deploy them in engagements that are, for their clients, highly strategic.
"We want to focus on what we do best: generating the IP [intellectual property]," says Bill Baggott, vice president of outsourcing at Pegasystems in Cambridge, Mass. , and another Virtusa client. In Pegasystems' case, that IP is a rules engine - the PegaRules Process Commander - which, through four iterations during the past 20 years, Pegasystems has developed into a smart BPM (business process management) platform used mainly by the health care industry. Pegasystems' product isn't really software; it is BPM delivered in the form of software built in collaboration with Virtusa.
The relationship between Virtusa and edocs, which delivers online account management and customer self-service support, is similar. "We'll keep the high-level IP," Snyder says, "and [Virtusa] will supply the software-development muscle." These scenarios remind Assembla's Singleton of the "surgeon" model proposed by Frederick Brooks in his classic book, The Mythical Man-Month. As a project manager, according to this view, you are not an administrator but "a very powerful individual contributor, supported by a team that does research, writes components, and ... hands you the scalpel when you need it."
Merging collaborative models and open source
If you're betting the farm on this kind of teamwork, your team had better not look like a black box. In fact, emerging collaborative models are often highly transparent, a key tactic of open-source methodology. Not only is every line of source code capable of being browsed from a Web-based CVS repository, but so are all the test results, bug reports, design documents, and related e-mail discussions.
According to CollabNet'sBehlendorf, transparency is as useful to business managers as it is to software teams. Barclays Global Investment, for example, has hundreds of CollabNet users worldwide. Many of those, Behlendorf says, are not software developers but business sponsors taking the pulse of projects they own or depend on.
Outsourcers can offer - and clients should expect - the same kind of visibility into activities that would otherwise be placed in silos. Coupling that with an intense focus on deadlines and deliverables, which open-source projects often lack, they claim to offer the best of both worlds: open-source tactics and a commercial mind-set.
Transparency also acts as a hedge against vendor lock-in, although outsourcers won't be the first to point this out. When a software project runs transparently and is supported by a robust test suite, development resources are fungible in more ways than one. It's feasible, albeit never trivial, to shift work from one offshore outfit to another. Another benefit of being able to see through silo walls is the vastly improved ability to spot duplications of effort and to identify opportunities for reuse.
Enterprise IT regards the cornucopia of open-source software with mixed feelings. The price is right. Because source code is available and because its creators operate online and are often highly accessible, IT managers can in principle control their own destiny. In practice, that requires more time and intellectual effort than enterprises can afford. But time and intellectual effort are exactly the resources that offshore outfits have in abundance.
Not everyone agrees that open-source projects are the best way to spend those resources. EPAM is tracking the technologies, says Bogretsov, adding that he recruits engineering talent that bubbles up in open-source projects. But as yet, in corporate America 's mainstream, Bogretsov thinks that "no one will install [open-source database] MySQL instead of Oracle."
Virtusa doesn't argue that point but is actively engaged on a number of open-source fronts. "We allow employees to contribute to open-source projects during work hours," says Chamindra de Silva, R&D manager at Virtusa. In fact, one Virtusa employee, LilanthaDarshana, is working on a C++ version of Apache AXIS (Apache eXtensible Interaction System), the SOAP framework that powers a number of Java-based Web services platforms.
Although it's hard to quantify the kinds of synergies that offshore outsourcers' involvement within the open-source movement can produce, there are anecdotal glimpses. Pegasystems' Baggot says that the time to produce one component, which had been estimated to be 45 man-days, shrank to one day because a Virtusa partner had knowledge of and expertise with an open-source component that could meet the need. Offshore outsourcing teams mainly provide services in application development and testing. Software Russia and Eastern Europe are also increasingly gaining momentum and currently emerge as strong rivals.
"What Virtusa and others represent is a big part of your R&D effort right out of the box," edocs' Snyder says. Although edocs does not yet support JBoss on Linux, customer demand is looming on the horizon. Rather than launch a Web services research effort, for which no budget exists, Snyder plans to rely on Virtusa to get up to speed on the technologies if and when the company decides to deploy them. "It's enormously powerful for an engineering manager like myself to have a partner like that," he says.
Outsourcer EPAM, according to Senior Vice President David Scott, "maintains a bench of at least 15 percent" - that is, offshore workers who conduct research, identify patterns that emerge from multiple client engagements, develop reusable components to address common themes such as content management and workflow, and build teams around those components.
"A team might come in for just part of a project," Scott says, "very much like what you see in the film industry."