I spend a lot of time working as a developer on a Scrum team for a large US HR software company (I will call them HR SoftCo for the benefit of their privacy). HR SoftCo bought the product and UK team that I work on a couple of years ago which was my first introduction to Agile, Extreme Programming and Scrum. I got certified as a Scrum Master pretty much straight away.
Due to a buouyant market here in the UK, we have had a lot of trouble recruiting experienced .Net developers for our team, so we had the novel idea of recruiting in the USA instead! HR SoftCo has lots of Scrum teams and some of them, like us, work in locations outside of the main US office. However, ours is the first team where the members are separated by a huge ocean and 5 hours!
In the UK we have five developers, a Scrum Master and a QA guy. The US side of our team has two developers and 1 QA girl. We have been working with a Product Owner in the USA for some time now, so fortunately we have some grasp of how to handle the transatlantic link!
We are just starting to work out the logistics of how we function as a team. The new members are not familiar with our code base and so we need to do a bit of pair programming. From a technical point of view we are using the telephone (how 20th century!) and VNC. We are also fortunate that one of the UK developers is happy to work US hours most of the time which gives the new guys in the USA a point of contact when the UK gang have gone home for the evening.
From a Scrum point of view we have our daily Scrum at 2pm UK time (9am US time). We hold our Review and Planning sessions in the afternoon.
So far it is working well. I would like to be doing more pair programming with the US guys, but the opportunity doesn't seem to be coming up - I guess I need to make the opportunity!
Source control is also an interesting issue for us. Currently each team member can set up a VPN on their XP box to the other network. However, we currently use SourceSafe for source control which performs appallingly over a VPN... We are planning a move to StarTeam, but we hear that that has some issues also. Maybe it is time to pull out Subversion... To deal with the problem at the moment, the US guys VPN into the UK office and then Remote on to a desktop PC that is located in the UK office. This is not an ideal solution as it limits them to one monitor and we are also limited by the reliability of the VPN and Internet connection at both ends. We are looking in to upgrading our Internet connection (we current have a 2mb symmetric connection).
Although we have a Continuous Integration infrastructure in the UK office, we are planning to migrate our build to the USA so that our products are built and tested alongside the other HR SoftCo products. Hopefully this will streamline some processes out there. HR SoftCo uses StarTeam, so we will need to implement StarTeam in the UK and try to deal with any bandwidth issues that arise from that.
Fortunately, the UK office and HR SOftCo uses the same technology components for Continuous Integration (Cruise Control, Nant, MbUnit, Fitnesse etc) which should ease some of the pain of integrating the UK hourly build into the HR SoftCo Continuous Integration system.
This is a pretty interesting process for us all, and if we can successfully run our Scrum team in a distributed manner, then it is likely that we will form a template for other teams within HR SoftCo to follow!