Building apps on the fly

Are you ready to change the way you build software?

When Stephen Aldridge, the president and CEO of Bio Economic Research Association (Bio-ERA), needed help earlier this year developing a Web portal and its associated applications, he called on Assembla, a small software development company in Needham, Mass.

The call went out and a geographically dispersed team of developers came together almost immediately. Andy Singleton, Assembla founder, brought together and managed developers in Ekateringburg, Russia, who worked with Bio-ERA employees in the United States. The far-flung team collaborated by using the open-source portal software XOOP (eXtensible Object Oriented Portal) in conjunction with Assembla’s project-management platform, PowerSteering, launching the portal within weeks.

The project amounted to a radically different way to build software and may foreshadow the future of software development. Low-cost app-dev talent is located around the world, and with Internet-based, open-source tools available for collaborative application development, teams can now come together quickly to get a job done. This Hollywood style of bringing together talent for specific jobs is one more way for chief technologists to fashion more dynamic platforms.

Many enterprises are moving toward this dynamic development model, including Burlington Northern Santa Fe (BNSF) in Fort Worth, Texas, which works with offshore outsourcer Infosys Technologies in Bangalore, India. Sun Microsystems, in Sunnyvale, Calif., is nurturing an open-source development project with the help of CollabNet, in Brisbane, Calif. These teams are seeing real benefits from distributed software development.

For IT executives seeking to avoid the complex tasks of software development, the ability to form just-in-time teams using outsourced talent allows them to concentrate on running their core business.

“As we generate more and more people educated in writing code, and as we see the practicality of using such software-capable people from around the world because of the capability of [Internet-based collaborative] networks, it seems apparent that the use of distributed application development is inevitable,” says Christopher Myer, former director of Cap Gemini Ernst & Young’s former Center for Business Innovation and co-author of Blur: The Speed of Change in the Connected Economy.

Myer says that collaborative work, inspired by a Web-based, open-source approach to development is making distributed development easier to accomplish. “The chief complaint businesses have with their software infrastructure is that it can’t change as rapidly as their business needs to adapt to a volatile environment,” he says. “[Chief technologists] need to open their minds to distributed, emergent, eclectic models of creating software.”

Just-in-time team assembly

At Bio-ERA, a new Cambridge, Mass.-based life sciences research company, Aldrich says he needed a third party that could locate, organize, and manage talent while his portal plans took shape. “You have to have an IT manager, someone who understands software development and has experience managing a distributed team and a platform,” the CEO says.

With the worldwide increase in the number of software developers and the establishment of outsourcing organizations, “there’s been a sea change in the availability of development talent,” Aldrich says.

The team of Russian and Bio-ERA developers was assembled within days. “I had a business need. I needed to get a Web-site portal built that had a certain number of features,” Aldrich says. “I wanted it fast and cheap.”

“We needed someone who was good at taking a business request and parsing it out into a software-development project and put it into work-managed project like PowerSteering, which has collaborative features and project management features,” Aldrich adds. “And the guys in Russia and me, [Assembla founder] Andy [Singleton], and my guys can go to it. And if we have an issue we can raise it.”

Distributed application development — a component of the dynamic-development model — can also offer significant benefits to large enterprises, many of which look to offshore outsourcers to handle much of their computing work. At BNSF, CIO Jeff Campbell says the rail company began contracting in 2001 with offshore outsourcer Infosys Technologies.

Infosys’ work for BNSF includes as much as 40 percent of BNSF’s application development initiatives and other computing needs; as much as 25 percent of the Infosys workload is actually done stateside. The talent is in place for any ad-hoc jobs that may arise.

With just-in-time assembly of teams, Campbell turned to Infosys for help setting up an important management project soon after he was promoted from chief sourcing officer to CIO last October. “My pager was going off 24 hours a day [with requests]. I had to worry about on-time delivery of services, budget, and management skills,” Campbell says. “I decided I needed a balanced scorecard. I had a niche need and I was able to go out to an offshore developer and quickly start on a project.”

Campbell met with BNSF developers and with the Infosys developers from India to create a new distributed management component within weeks. “We invited the Infosys project lead to come in and we mapped out the features we needed, which included 14 performance metrics. We created an executive dashboard, or pulse point, for a CIO. I can bring it up and see all the metrics of how my organization is doing and drill down to find out how my organization is performing.”

Open-source benefits

Beyond quick assembly of teams, the growth of the open-source community is a major component of the dynamic development model, allowing developers to access and collaborate more efficiently.  For example, Sun Microsystems opened its StarOffice productivity suite development code in 2000 to take advantage of the talents of open-source developers, says Simon Phipps, Sun’s chief technology evangelist.

To run the continuing development project, Santa Clara, Calif.-based Sun works with CollabNet, which hosts an open-source network for collaborative software development. Its SourceCast environment combines the components for collaborative software development into a platform that can be easily integrated with any existing processes. CollabNet helped Sun deliver the source code and provided the consulting, training, and open-source strategy advice. “We use CollabNet to host our open-source communities,” Phipps says. “The idea behind open source is cooperative, peer-based production.”

Phipps says the open-source model is able to tap almost inexhaustible stores of talent from around the world to add to Sun’s open-source projects. In effect, the project is a proving ground for dynamic development model. “There is a series of distributed software developers around the world who each have their own reasons for carrying on the work and symbiotically develop its code,” he says.

“We now have a vast workforce that we could never hope to have otherwise,” Phipps adds. “Sun believes that the project creates a source-code base and a peer base. This aspect of commons-based peer production is a key aspect of creating intellectual property.” Future versions of StarOffice software, beginning with 6.0, will be built using the OpenOffice.org source, APIs, file formats, and reference implementation, Sun executives say.

Phipps thinks such models of dynamic development can only grow. “It’s the future of software development.”

Distributed teams and managers offer IT organizations value they may not have in-house.