Is Your Outsourcer Agile Enough?

More companies are choosing agile development to create user-friendly, quickly evolving enterprise apps. Here's how to decide if your outsourcer is up to the task.

1 2 Page 2
Page 2 of 2

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% 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."

This kind of thinking can kill an agile project before it even gets started, he says. "The very spirit of agile is to have mutual trust and respect, and a flexible relationship where you know at each decision point exactly what cost, time and feature tradeoffs you're making. That's hair-raising to some engineering leaders because they can no longer hide behind the contract."

Is 'Partly Agile' Enough?

If you do decide to outsource an agile project, one question to consider early on is just how much of the traditional agile methodology you want to adhere to. Because working with an outsourcer will almost certainly prevent you from using a completely agile framework.

"In most cases, the outsourcing company would be using scrum as an agile practice," Adamopoulos says. "While this is fine, more and more companies are figuring out that they can use agile across a whole set of areas in the software life cycle. They might use agile in the early idea-management phase and the vetting of an idea well before requirements are even needed. It might also mean they use agile practices to develop comprehensive business cases and metrics. All of that is usually not a discipline an outsourcing company brings."

"In principle, the agile methodology says that you have a cross-functional team that is colocated. You can make decisions on the spot and you can look at things together," adds Rene Rosendahl, senior manager in the project management office at Kelley Blue Book in Irvine, Calif. The company uses an outsourcer in Beijing to provide agile development for its website KBB.com and other products. "With offshoring, you are forced to separate the product owner from the rest of the team, and you need to write things down and expect delays in decision-making. Does that mean you have to compromise some of these agile principles? I think the answer is yes. You cannot apply the principles in the same way you can with in-house teams, but you hold on to them as much as possible."

Picking the Right Agile Outsourcer

Choosing the right outsourcing company may be the biggest part of the challenge. "Pick a partner that's really going to be your partner, not someone who'll just deliver that [statement of work] to you," advises Daryl Broddle, vice president of technology for SciQuest, an online procurement technology provider. SciQuest has used an outsourcer to do agile development for years. "I have a personal relationship with the CEO of that company," Broddle says. "He visits me once or twice a year when he's passing through. Neither company would be where it is without the other." (See the "Team Augmentation" sidebar.)

Perhaps most important is a willingness to face up to the profound changes that a move to agile requires. "There was one large logistics company in Europe with an outsourcing agreement with a very well-established systems integrator," Adamopoulos recalls. "The systems integrator's model wasn't helping the logistics company. It wasn't getting new features fast enough and was losing market share. Every time IT executives had a conversation with the outsourcer about agile, the outsourcer would make some minor change, but then things would go back to status quo."

The logistics company hired Emergn to train both its own team members and its contacts at the outsourcer in using the agile methodology. Once they were trained to employ agile properly, they were able to shorten the average release time for a new feature from 300 days to 47 days, Adamopoulos says. "The logistics company reclaimed about 21 million euros in revenue that year because they were able to move feature releases up 10 months. In the past year, they've also regained a fair amount of the market share they'd lost."

He was especially impressed with the outsourcer's ability to completely change the way its developers worked. "That was a huge win, and it's gotten companywide recognition at the outsourcer," he says. "They're beginning to use the agile methodology within their own organization as well. They recognized it was something they needed in order to remain competitive."

Large or small, an outsourcer willing to make changes like these is probably a good bet if you are facing the challenging prospect of outsourcing agile development.

Zetlin is co-author of The Geek Gap: Why Business and Technology Professionals Don't Understand Each Other and Why They Need Each Other to Survive .

Read more about applications in Computerworld's Applications Topic Center.

This story, "Is Your Outsourcer Agile Enough?" was originally published by Computerworld.

Copyright © 2012 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
7 secrets of successful remote IT teams