Collaborative Programming

As some of you may know, I’m currently in the middle of the implementation phase for my capstone. One of the many challenges we have been facing is how to divide up the work and organize our efforts so that each person is doing something productive and not being held up by others.
Our first thought was to setup some sort of CVS or, at a minimum, a file check-out system. The lack of experience with CVS between the members of my capstone group was appalling and the idea was quickly put out of mind. I thought about just putting together something quick that would allow for file check-in/check-out but realized its capability would be so minimal that it hardly seemed worth the effort.
We also entertained the idea of using Microsoft’s Visual SourceSafe, but after installing and playing around with it for a few minutes I quickly gave up. How the hell do you use that thing?
So that was that, our illusions of grandeur collaborative C# coding had been laid to rest. Our “solution” ended up being extremely low-tech and downright embarrassing. Everyone would take a class to work on and code those sections; when finished they would send me their work and I would integrate it into the latest “build” of our prototype.
This was how work progressed until last weekend when Darrin discovered GotDotNet. A quick email from him explained the merits of the system, but my initial impression from going to the website was not one of happiness. The site was broken in Firefox and just felt cheap. Fortunately for us, all the good stuff that this site does is behind the scenes.
Briefly, GotDotNet is a service/website that helps .Net programmers collaborate by giving projects a workspace that includes storage for project files, message boards, bug trackers, and a host of other features. The site also allows you to open your project up to the community or lock it down to only a few choice members. One of my favorite features, and this will come as no surprise to those who know me, are the RSS feeds available. A workspace has RSS feeds for workspace news, recent source check-ins, and releases.
The real reason to use this service, in my opinion, is because it integrates into VS.Net so well. While you can manage your source files with the web site or the small windows application you can install, I really like the plug-in that you can get from their site. It is extremely simple to install and allows me to check-out files from within the VS.Net file browser.
My only real complaint with the service is that sometimes it can be slow and occasionally the file check-out system seems to be broken. So far, the easiest way I’ve found to fix this is to check-in the file that it thinks you have checked-out (but you don’t because it won’t let you edit it) and then try to check it out again. It’s annoying yes, but for a free service that provides as much benefit as this one does it’s worth the trouble.
February 9th, 2005 at 9:38 pm
It’s funny that you mention file access as one of your biggest problems for your project! That is exactly what our project is trying to solve, among other things. But, we don’t have the cool VS.net stuff, but I really think that simple programs that let you do check-in/out are hard to find. And when you do find one that could work, you need to pay for it! Sounds like this is working out well for you guys and I hope it does too. Luckly, we did the whole split the code thing, but with the way our site model is we can do this becasue each part is mutually exclusive of each other. Again, we’re just lucky enough to have this luxury, many groups, as you have pointed out, don’t.
Another avenue might be SourceForge, but I don’t know if they have the file management stuff. That, and you have to sign up and then be approved. So, it is kind of a hassle for a project in such a small time frame.
February 9th, 2005 at 11:39 pm
Yeah, you guys are lucky that it worked out that way. Our low-tech solution really wasn’t that bad, but it’s nice to have access to all the current code without stepping on the toes of others.