Remote workers and Agile/SCRUM/XP
A couple of months ago I started working with Bob on LearnVisualstudio.NET. We are just about ready to launch a major redesign of the site. The development process for this redesign may not have been text book Agile but there were moments where we were definitely pair programming. Now what I havn't mentioned is that we were never in the same room. He is at his house and I am at mine. Both of us are in Dallas and the web design guy, Dustin is in Chicago! So how is this possible? Well, heres what we did:
I set up a VMware image with Win2k3 server + dev tools. This image was configured pretty much the same as the production server. Dev SSL certs and all. I installed Tight VNC so that we could easily share the desktop. I installed shortcuts in the VM that would allow each of us to connect to the others version of the web site as well as connect to thier desktop with VNC. Source control was preconfigured in the VM to connect to our Vault server. This setup has created a consistant dev enviroment for each of the team members.
We pretty much exclusively use google talk to do text and voice chatting. When we have to have a voice conference with Dustin we use Skype. Looking at my google chat logs I can see several occasions where one of us would say something like: "Hey can you come on over to my VM?". This usally initiates a little pair programming session or a design review etc.
This setup is working very well for our small team (2 devs, 1 web designer). To some degree this is working better than when I was in an office sitting right next to other devs. I can't really say how well it would work for larger teams or more complex projects. But I can say that is very easy to try out. All you have to do is install some software and give it a try.
Tools Link-o-rama:
- VMWare / VPC / Parallels
- Tight VNC
- gtalk / skype
- Source Gear Vault
- backpackit.com (usefull for keeping track of shared documentation files etc)