I saw an interesting post over in the XNA Forums about team based development and I decided to share some of my experiences doing exactly that at Funavision. As I was writing my reply it dawned on me that this is probably a significant stumbling block for a lot of start-up Indie game developers. So I've decided to make this post and share my experience with a broader audience.
In this post I'll cover what we've done for distributed development over at Funavision as well as give some tips and tricks we've picked up that will help you out. The focus will be on Version Control and Project Management tools with a strong emphasis on free (as in no cost) and Open Source tools. It will also be heavily skewed towards XNA and Windows development (largely because if you're, say, a Linux developer then you likely know most of this stuff :-)
The post will be linked from the XNA Forums. Hopefully that will get it around enough people who need it that word of mouth can then take over and the people who could actually use this information will be able to find it.
I do want to say that what we did at Funavision is by no means the end-all, be-all solution for working in a distributed team-based way. There are many different ways to accomplish what we've done, and many different technologies and techniques that can be used (both open-source and proprietary). All I can say is that this is how we've done it, and it's worked very well for us. If you're someone lost and looking for some options, then you certainly could do a lot worse than what I'll be describing. However, if you already have something that is working well for you then I'm not suggesting you should ditch it and try the solutions described here. Each to their own.