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."
Sign up for Computerworld eNewsletters.