Dear Bob ...
I've been charged with bringing agile development into our company. That would be a beautiful assignment except for one hitch: Our CIO recently committed us to offshore development. I'm having a very hard time figuring out how to meld the two. Any suggestions?
[ Take it from InfoWorld's Fatal Exception blogger -- Agile development should be more than just a buzzword. | Keep up on career advice with Bob Lewis' Advice Line newsletter. ]
Dear Baffled ...
Yes: Don't even try. It isn't worth it.
Where a lot of folks miss about the various flavors of agile development is that their importance doesn't derive from their setup as a series of steps to follow. What's most important about agile is that it's built around informality, trust, and a lot of direct contact between developers and business users. That's what makes it tick.
When you send programming offshore, you're moving it 12 time zones over, to developers with a very different native culture who usually speak English with less than full proficiency. Agile would require them to communicate frequently and informally with business users who don't speak the programmers' native language with any proficiency, through a teleconferencing circuit and maybe a Web conferencing session.
They've probably never met and won't see each others' body language; additionally, the developers won't have an opportunity to watch the business users doing their jobs. Nothing about this fits the agile model.
So don't try to force fit it when there are so many obstacles in front of you and so few (or more accurately, none) factors likely to foster success.
Instead, consider Rapids Development. No, not Rapid Application Development (RAD). Among the many disadvantages to RAD is that it's a retired buzzword and you need to sound cool, not ancient.