So how do you decide if it's right to outsource an agile project? Begin by asking yourself what you hope to gain from working with an outsourcer. "The ideal reason is so as to give immediate response to a business need," says Max Rayner, executive-in-residence at consulting firm Hudson Crossing. "Can you find ways to also have it lower cost? Yes -- but something important enough to be done in an agile way is likely to be worthwhile, whether you're paying $1,500 a day or $1,000 a day or $750 a day. By going to some of the lowest-cost countries, you can get a very competent programmer for $25,000 a year, including benefits -- but that's not necessarily going to help your project succeed."
Before joining Hudson Crossing, Rayner was CTO at TravelZoo and oversaw the creation of the travel search site Fly.com, for which he used an outsourcing company based in Lisbon, Portugal. "That was a 100 percent agile project using scrum," he says. (In scrum, small teams work on a specified portion of the requirements for a limited amount of time and hold daily meetings to assess progress and address any questions or problems.) "I was in California, so we had hardly any overlap in our work days, but it worked brilliantly. My morning was their evening so I would get to say, 'OK, yesterday we agreed you were going to do these five things. Did you do them? How's it going?' "
There were members of Rayner's team working on the project in California as well, he adds. "At the end of the workday, each team would hand off to the other shift. That's more complex than a traditional agile arrangement where everyone is in one location, but I was willing to take responsibility for the time, cost, and feature tradeoffs," Rayner says.
That factor -- having an IT leader take responsibility for the project -- is a key differentiator, he adds. "A lot of IT managers make the following mistake: They're under pressure to reduce costs, so they decide to go to an outsourced company that promises to use agile methodologies. They think that not only will they get lower labor costs, they'll get the higher productivity of agile."
That kind of thinking can lead to trouble because using the agile methodology means giving up some of the cost savings traditionally associated with offshore outsourcing. Indeed, Rayner says, Fly.com's success was due in part to the fact that his company paid a higher price to work with the outsourcer's most experienced developers. "They were every bit as important in solving business problems as they were in solving coding problems," he says.
Outsourcing agile development may not save that much time and effort either. "You have to be willing to work as hard with an outsourced partner as you would with your own people," says Rayner. "And your super users need to be involved to help determine features."
The worst outsourced agile disasters occur when the client company thinks it can hand off responsibility to the outsourcer. "At one company I worked with, speed of delivery was worse than before the agile outsourcing," Rayner recalls. "At the root of the problem was this attitude that, 'now that we have an outsourcing contract, they have to be the ones to do it. They have to be agile and fast, and we don't have to be in touch every day.' "
He notes that there's another reason -- usually unspoken -- why IT leaders sometimes choose to outsource: So they can deflect responsibility and gain a scapegoat in case things go wrong. "You can't go to the business sponsor and say, 'I told them to do what you asked, and it doesn't work. We're going to fire this outsourcer and get a new one,' " Rayner says. "That's often what happens when a project fails."