Me and a Simone, both at the Software Craftsmanship mailing list, tried out an experiment in doing remote pair programming today.

NUnit
Since both of us are comfortable with C# and NUnit committing this first infrastructure-experiment to using that combination felt the right way to go.

GMail
To do this experiment we started by having gmail chat as a base for all other communication channels. Next step was to get audio working via Skype. Both of these tools worked hassle-free.

Skype
Then we turned our attention to desktop sharing. Simone had looked up some alternatives yesterday, and we tried out Teamviewer first.

Teamviewer
Teamviewer was fast and easy to use. But sadly the free edition just ended after ten minutes.

Sharedview
So we tried the free SharedView from Microsoft. This turned out to be too slow, with mouse movements showing up after about 0.5 to 1 seconds.
We gave up on the desktop sharing idea, and focused on a second approach. In that approach we share only the source files via googlecode. Googlecode uses SVN for source code sharing, and both me and Simone used TortoiseSVN to synch the files.

Googlecode

TortoiseSVN
I added Simone to one of my already existing projects to get going fast.
Then we took turns writing unit tests and production code, committing changes as we went along.

TDD Problems
All along we kept communicating via Skype.
We choose one of the smaller problems from the TDD-problems* site, the Template Engine.

Online stopwatch
To measure time we used online-stopwatch.
One problem was that I used Visual C# Express edition, while Simone used Visual Studio professional, and there were conflicts between .csproj/.sln file formats. We solved this issue by only doing edits in one file, so to avoid this hassle.
All in all we spent almost two hours trying these things out. It was not hassle-free, but that we didn’t expect either. It was an experiment. You can see some of the resulting code in two of the screenshots nearby.

View from my computer

Template engine class
We decided to try more another time. One idea is trying the gobby multi user editor, and maybe using python or ruby instead of C#.
* If you’d like to contribute to the TDD-problems site, please drop me or one of the other contributors a mail or leave a comment on this blog post.
Tags: programming, tdd, pairprogramming, software craftsmanship
Gilla detta:
Gilla Laddar in …