Distributed Scrum: Agile Project Management with Outsourced Development Teams
I just ran across a paper from 2006 that talks about using the Scrum methodology with distributed software development teams:
http://jeffsutherland.com/scrum/2006/06/distributed-scrum-agile-project.html
There's also some background on the origins of Scrum in general:
The idea of building a self-empowered team in which a daily global view of the product cause the team to self-organize seemed like the right idea.
The emergent behavior of self-organizing system is fascinating to me, even apart from software development. There's definitely a parallel to high-performing agile software development teams.
One of the interesting complexity phenomena of the first Scrum with an observed "punctuated equilibrium" effect. This occurs in biological evolution when a species in stable for long periods of time and then undergoes a sudden jump in capability.
The recommended practices for distributed teams all seem involve keeping the traditional daily 15-minute scrum meetings with the whole team. People ended up emailing their status and plans before the meeting, to mitigate language issues and keep the phone calls short. I suspect that the main benefit of actually holding the calls, instead of relying solely on emails, is to provide accountability. Otherwise it's just too easy to publish a daily report late, or skip the reporting completely.
An Experiment
I'm the "product owner" on a team with members from two locations in the Philippines, and me in the US. We're experimenting with an approach where the project manager acts as "scrum master" for a morning scrum, held in a chat room instead of over the phone. The log gets emailed to everyone. I review the log, respond to issues via email, and follow up via instant message for anything that requires further discussion. As a result, there's a searchable electronic record of all those conversations, which I'm very fond of. So far it's working out pretty well!