Distributed Development Team - Essential Tools

I have a development team distributed around the world in different time zones.

What are the best tools to maximize productivity on such a team?

I'm looking for:

  • Source control
  • Bug tracking
  • Construction management
  • Any other thing that might help.

thanks

+3
source share
9 answers

When you say “open source,” do you simply mean free software, or do you mean “I need / prefer to see the source”?

Please note that your decision will depend on the nature of your project. There are many free development / project sites that require your project to be open source and free / open to the public.

You can also choose a specific hosting platform based on the language that you use to develop the project. For example, CodePlex (http://www.codeplex.com/) is a site hosting .Net open source projects, and Java.Net (http://community.java.net/projects/) contains projects Java

Other answers to your question are solid, here is what I have used or used in the past:

Great JetBrains TeamCity continuous build tool . (http://www.jetbrains.com/teamcity/) The tool has built-in support for many build tools, as well as for creating Visual Studio solutions out of the box. It is free for groups of 20 or less developers. It also has many features out of the box and can be launched for you in minutes - an extremely low learning curve without reducing the possibilities.

A useful SVN repository that is free for two developers and saves you time setting up and administer your own SVN Unfuddle repository . (http://www.unfuddle.com) Unfuddle also has additional paid features and basic task tracking.

Another paid source repository is ProjectLocker ( http://www.projectlocker.com ), which has low-cost SVN repositories and Trac integration for task management.

A useful task tracking tool is Remember milk ( http://www.rememberthemilk.com ) - it doesn’t work on tickets like Trac, it’s not only for tracking projects, but also allows you to send e-mail to each other, and also have common task lists. I also point out this, because the product itself is being developed by a distributed development team, and you can try sending them to them by mail. :-)

All the best for your team!

+1
source

For the first two:

  • Distributed source management like git
  • A good problem tracking tool like Jira
+3
source

This question is not specified. For each category that you list, there are many packages designed to support collaboration between people distributed around the world in different time zones.

Therefore, I can make a recommendation based on open source tools that have worked for me in the past. You may have specific needs that require more specific solutions, but you have not mentioned this. In addition, it’s useful to increase productivity if people can continue to use tools that they are familiar with and you haven’t explained what tools your people already know.

Anyway, here is my recommendation:

  • use Subversion for version control
  • use roundup as bug tracking
  • use make to manage builds; use Buildbot for automated distributed builds.
  • use mailman-based mailing lists
+3
source

For .NET environment:

I am very pleased with Assembla - they host the SVN and Trac server for your projects at very reasonable prices (or for free if oproject is publicly available).

+3
source

As a control source: why not a distributed system like git (if you're not using Windows), Mercurial, or Bazaar?
To track errors, I would go to Trac - it also integrated the Wiki, which is always useful for project documentation.
As for construction management, you can go for cruise control, or ant - I'm not a very expert on this side.

However, you should really take into account: the main problem for distributed teams is not a set of tools, this is communication .
This is even more important in a “flexible” setup, as suggested by your tag.

The best mitigation I've ever seen for this problem is video conferencing. It is very effective for increasing the bandwidth of the communication channel in distributed teams, and with GTalk and Skype it is now really inexpensive.

+2
source

Consider Fogbugz for bug tracking. This is useful.

+2
source

A wiki is a must.

It helps as an asynchronous communication medium between groups within teams. People can share their tips (for example, how to do this, how to activate tracing ...). It can be used to collect design decisions or changes ... People can ask questions to the whole team without knocking down other mailboxes. It can also be used to compile documentation.

There is a gazillion wiki , choose one depending on what you plan to do with it.

+1
source

I think you will need a few more things to help with this project than what you requested.

First, I will give recommendations for your list:

  • Source control: git or svn, if you use any of them, you will need a way so that your developers know who checked what and when, Trac is suitable for this for svn
  • Bug Tracking: Trac (not Bugzilla), Mantis, FogBuz
  • Build Management: CruiseControl is great for continuous integration; if you need build scripts try Ant or Maven

Other things you are likely to need:

  • Collaboration tool: Trac has a wiki or selects a wiki of your choice.
  • Chat tools: even though they are associated with time zones, instant communication is required. IRC, Jabber, Skype, which is great for video or audio calls over the Internet.
  • Project management: you will need a way to customize your releases (sprints when using Scrum) and your backlog. My favorite tool for this is Acunote: ( http://www.acunote.com ). There are others, but they are more expensive, and you get all the features that you do not need.

Hope this helps.

0
source

Yes, I firmly believe that means are important in distributed teams. Communication is quite difficult if you are not working together. A tool, for example, Agilo for Scrum , based on trac, offers you a wiki, a planning board (interactive whiteboard) and supports you in such a way as to improve communication with colleagues.

0
source

All Articles