views:

402

answers:

7

I started distributed team work with Basecamp, moved over to Unfuddle to integrate issue management and SVN repositories with basic project management, and now I'm hearing a lot about assembla with support for Git, Mercurial, and Scrum reporting.

What is your preferred platform for working in a small distributed team? It seems that these tools enable developers to actually live anywhere, "facetime bias" not withstanding.

A: 

If you're users are new to SCM, or have the learning curve of a brick, sadly, Git & Mercurial may just daze them senseless and you'll spend lots of time undoing silly things like :

  • the repeated accidental merging of all known branches.

Actually, that's about the biggest one. Pity me.

Kent Fredric
A: 

I'm using git and a centralized issue tracker like Trac, Redmine or the Google Code Issue tracker for my projects. Thanks to git-svn, I can use git while others still use svn which seems to be enough for them (but not for me; I really like feature branches and rebasing. Both are extremely helpful when developing against a moving trunk.)

Matthias Kestenholz
+2  A: 

At my company most of us work from home or on the road. We devs are using:

Less directly relevant, but still in the scope of the question I think:

  • Skype (voice and persistent chat)
  • Highrise (CRM...rarely do I have to go into that)
  • S3 & Jungledisk as a file server
  • Google for email and calendar

We've tried out various options, and this configuration what is working best for us at the moment.

The latest change that we are trying out is 3G Internet access. (Wi-Fi is not ubiquitous here.) There are some technological mix issue we are still try to work around. It is a personal goal of mine to be able to work down at the river during the summer. So far I've only been able to have meetings there. :)

While we still have a physical office, the desks are occupied collectively at about 30%. (Mine about 5%!)

The virtual workplace is for real!!!

Stu Thompson
Skype and file server solutions are essential, I agree. I'm using box.net since it doubles as a host for blog post files, and Google Docs fills the rest of my office needs. I'm glad that the virtual workplace is gaining traction.
Daniel Crenna
+1  A: 

At my company, my current tools of choice for our distributed 4-person team are:

  • Skype (for voice and chat);
  • Subversion (for source code control);
  • Chandler (as personal task management and shared calendar);
  • FogBugz (for project task management).
  • Doku Wiki (to allow collaborative creation of more-or-less structured documentation);
  • DasBlog (for project discussions that will be searchable later).

FogBugz isn't free, unless your team is only 2 people - in which case you can open a free hosted account - but I've found Evidence-Based Scheduling to be interesting enough to want to pay for it.

Remi Despres-Smyth
A: 

I dislike GIT, but that is just personal preference (I dislike how it handles certain things and I dislike it's structure, being partly shell scripts and partly binaries, all seems a bit messy to me. I prefer systems, that do it all in one single binary and entirely written in a single language)

If you need a central source code server that is always the reference for state-of-the-art code, SVN is still the best choice IMHO. If you want totally independent, distributed repositories, my first choice is still monotone. I like the way how it works, how you operate it and the C++ code seems well designed and clean. It's not the fastest player in the game, though (however, GIT is also only fast on Linux or POSIX-like systems, GIT on Windows is no fun!). Distributed SCM has the advantage, that two developers can exchange their code changes without going over a central server first (and thus probably ruining an automated build by checking in broken code!).

You will need a ticket system, to have a list of tasks, an overview who currently works on which task and so on. Trac is an option, but we tried that, and it caused us some headache. Actually the ugly it might look, Bugzilla (from Mozilla) is very powerful. However, we ended up designing our own system with an own database backend. To be honest, most developers dislike it, because it also looks ugly and is poor to operate, however, it servers all our needs so far and easily extensible. My personal advice would be, don't do that. Don't design an own ticket system, rather take an existing one (Open Source) and modify it, the result will be better IMHO.

Setting up an own Jabber Server is a good idea. You can have developers chat with each other, independently of any other company (compared to using Google Chat, AIM, MSN, etc.), you can have group chats there, all chats can be easily encrypted (just like file transfers) and you can use it broadcast information (like for example, if an automated build has failed).

Mecki
A: 

We are a distributed team of 4, however we are all in only 2 locations (but very far apart)

What we use and I really like:

  • VersionOne - scrum project management
  • Skype - chat, voice, and video (can even point at a whiteboard)
  • RealVNC - code reviews, share 1 screen & discuss over Skype
  • Zendesk - for support

We also use:

  • Seapine Surround SCM - source control - this works great, and the only downside is that it is not free.
arrocharGeek
A: 

We use Intervals for our web design & development team. It works great for distributed subconractors and clients throughout the US.

jjriv