Some software vendors see opportunity in providing development tools for globally dispersed teams
Outsourcing software development offshore rather than hiring new staff is one way to get more technology results. As the economy recovers, many companies are doing just that. But IT managers may find that their software-development tools, which were adequate for in-house development, come up short when they try to use them with teams a world apart.
In many cases, these programming tools were built to be shared over a local area network--they cope with lots of users as long as they're all in the same building or campus. But today's software tools often are ill-equipped for outsourcing work where developers are scattered across time zones and international borders, unable to supply the basics of version control, bug tracking, team scheduling, and testing. "We're starting to see real large-scale, complex development deals," says Gajen Kandiah, a VP at Cognizant Technology Solutions Corp., a software-development company with two-thirds of its 10,500 employees in India. "What's missing is a central nervous system."
An application from Rally Software helped Roving Planet's Behrens communicate requirements with software developers in India.
Photo by Ray Ng
Smelling an opportunity, Borland Software, IBM, Mercury Interactive, Microsoft, and other vendors are moving to upgrade their tools and project-management software so they can be better used by global teams. IBM, for example, demonstrated a research project last month called Jazz, which provides a user interface for its Eclipse development tools aimed at helping programmers work together in teams. Using Jazz, developers can see icons for all their teammates and what projects they're working on, chat with colleagues, share a screen to work together, and see what code another programmer has checked out. The research team is working with IBM's Rational Software unit, which makes a line of popular Java development tools.
Next year, Microsoft plans to include in its Visual Studio 2005 Team System suite of programming tools a new version-control system better suited to teams of distributed workers. Microsoft's current version-control tool, Visual SourceSafe, works only on the LAN where it's installed, which means developers need to be in the same or neighboring buildings to share it. Team System will replace SourceSafe with a version-control system that can be accessed via a browser and used by an internationally distributed team, Microsoft general manager Rick LaPlante says. SourceSafe "was designed for a different era," he says, adding that Microsoft's own developers don't even use it. Team System will include a shared code repository and distributed bug-tracking and -fixing functionality.
Borland plans to introduce distributed team features by the end of the year to its Star Team software, which lets developers input changes given by users to the design of a system. The features, which include the ability for dispersed developers to communicate over a network, are aimed in part at bridging teams in different countries, chief technology officer Patrick Kerpan says. "This isn't a passing phase. We think of it as the industrialization of software development," he says.
But unless software companies hurry, they may fall behind demand. According to Bruce Caldwell, an analyst at market-research company Gartner, 3% of the $606 billion in worldwide IT spending this year--about $18.2 billion--will fund offshore application development projects. By 2007, Gartner forecasts that figure will more than double to about $50 billion, or 7% of total spending.
So what are companies getting for their money? Peter Behrens, VP of engineering at Roving Planet Inc., a supplier of wireless networking software, is investing in new tools to try to unjam international roadblocks. In April, Behrens hired four developers at contract-programming firm Technology Crafters in Nagpur, India, to work on a new project. "If I hire someone here, I may have to lay them off," he says. Because of lower salaries, he wouldn't have to pull the plug as quickly on Indian programmers. Plus, labor costs for the Indian programmers are half what they are in the United States, he says.
But Behrens and his team in Colorado don't use the same tools as the Indian developers, and as work got under way, the U.S. team had problems communicating software requirements to the overseas team--and not because of a language barrier. "Requirements, from my perspective, are the No. 1 cause of delays," he says. And "everything had to be done remotely. There was nothing face to face."
After a series of phone calls, E-mails, and Web conferences, Roving Planet bought online software from startup Rally Software Development Corp., using it to build a database that can show what code has been written, tested, and completed. "We're getting visibility into the project," Behrens says. "From a management perspective, things look very positive."
Gaining visibility into what code is finished, sharing test results, and accounting for the frequency of bugs and how long it takes to fix them are the critical levers that IT project managers use to make sure offshore jobs don't drift out of control. Version control, for example, is a bugaboo of distributed teams, since developers in different time zones sometimes start modifying the wrong pieces of source code. The tools used by each part of an international team "don't need to be exactly the same," says Satish Joshi, chief technology officer at Patni Computer Systems, an IT services company in Massachusetts with six development centers in India. "But they can't be worlds apart."