Agile Development On a Fast Track - RUSSOFT

Supported by:

Agile Development On a Fast Track

Choosing iterative development over sequential methods brings advantages in global services delivery ó but also trade-offs. Experts explain how to get beyond the hype and evaluate agile's business value.

By Howard Baldwin, Global Services
Jan 09, 2007
To look at Ben Battle, you wouldnít think he was an old-fashioned guy when it came to software development. The team helping his firm with software development is in Russia. That St. Petersburg-based group is a big proponent of agile programming ó an increasingly popular method in which software developers analyze, design, implement and test simultaneously. The point of that methodology is to deliver pieces of code iteratively and get feedback from users constantly. It strikes some as a bit, well, chaotic.

Battle, on the other hand, likes structure. He spent the 1980s steeped in agileís doppelganger ó the waterfall method in which specifications precede programming. "Iíve always been driven by architecture and requirements," says Battle, the vice president of product development for Boca Raton, Fla.-based ScriptLogic, a developer of network-administration software. "I started out as an engineer on large communications systems with thousands of distributed nodes. Specifications were necessary because the user view alone was insufficient."

Battle was first introduced to iterative methods in the late 1990s. At ScriptLogic, he and his team have successfully melded one methodology that thrives on structure with the iterative advantages of agile processes. "I always thought structure was left out of the agile methodology, which is why we overlayed the Rational Unified Process, which explicitly defines [guidelines] for project planning and to produce initial builds of software."

In a way, the aptly named Battle embodies the struggle among software developers when it comes to combining outsourcing with cutting-edge development methods represented variously by the terms extreme programming, agile development, and scrum (See Box Terms of Development). Even some experts who think agile is the perfect methodology ó especially for a world in which requirements change as quickly as the competitive landscape ó arenít convinced that itís suited for the context of outsourcing. Others maintain that itís madness to outsource software development using any other methodology.

The truth is, you can screw up any development project, no matter where the development takes place or what methodology you use, if you donít manage it properly. So can agile programming work for you and your offshoring team? Weíll look at both sides of the question and show what people like Ben Battle are doing to be successful in their efforts.

All In Favor

According to its proponents, an impressive list of global companies are using agile programming in some way: Allstate Insurance, BT, Capital One, Google, Intel, Fannie Mae, Sabre Holdings and Yahoo, among others. According to Forrester Research data, some 17% of companies in North America and Europe are using agile, up from 14% in 2005.

Set in the context of global business, the interest in agile is understandable. For instance, agile is designed to accommodate changing needs and changing minds as the project progresses, rather than adhering to a static list of specifications. "When you come to the end of a waterfall project, the customer says, maybe thatís what I said I needed, but thatís not what I need now," says Robert Martin, CEO, Object Mentor, a Gurnee, Ill.-based development and consulting firm. "Even if the customer gives perfect requirements, in a few months the business environment has shifted to make the requirements invalid."

When you fold the communication revolution into the mix, itís easy to see the attraction in the offshoring context. "To some people, the idea of offshore agile development is an oxymoron," admits Peter Vaihansky, a vice president of Cambridge, Mass.-based StarSoft Development Labs, whose St. Petersburg team is helping ScriptLogic. "The agile manifesto values interaction over documentation. People have to be in the same room and get things done fast without writing stuff down." But the increasing availability of collaboration tools and decreasing costs of communication eliminate that obstacle.

Many people believe that we