分布式开发团队 - 需要的工具

时间:2008-12-13 08:55:37

标签: agile distributed

我有一个开发团队在全球范围内分布在不同的时区。

在这样的团队中实现最高生产力的最佳工具是什么?

我正在寻找:

  • 源代码管理
  • 错误跟踪
  • 构建管理
  • 任何可能有帮助的事情

由于

9 个答案:

答案 0 :(得分:3)

对于前两个:

  • 分布式源代码管理,如git
  • 一个很好的问题跟踪工具,例如Jira

答案 1 :(得分:3)

这个问题没有具体说明。您列出的每个类别都有许多软件包,所有这些软件包都旨在支持跨全球分布在不同时区的人员之间的协作。

所以我可以根据过去对我有用的开源工具提出建议。您可能有特定需求需要更具体的解决方案,但您没有提及它们。此外,为了提高工作效率,如果人们可以继续使用他们熟悉的工具,并且您没有解释您的员工已经知道的工具,那么这将非常有用。

无论如何,这是我的建议:

  1. 使用Subversion进行源代码管理
  2. 使用Roundup作为错误跟踪器
  3. 使用make进行构建管理,使用Buildbot进行自动分布式构建
  4. 使用基于Mailman的邮件列表

答案 2 :(得分:3)

对于.NET环境:

我对Assembla非常满意 - 他们以非常合理的价格为您的项目托管SVN服务器和Trac(如果项目是公开的,则免费)。

答案 3 :(得分:2)

作为源代码控制:为什么不是像git(如果你没有使用Windows),Mercurial或Bazaar这样的分布式系统? 对于错误跟踪,我会继续使用Trac - 它还有一个集成的Wiki,它对项目文档总是有用的 至于构建管理,你可以继续巡航控制,或者蚂蚁 - 我在这方面并不是真正的专家。

但是,您应该考虑一些事项:分布式团队的主要问题不是工具集,沟通
这在标签建议的“敏捷”设置中更为重要。

我在这个问题上遇到过的最佳缓解是视频会议。它对于增强分布式团队的通信带宽非常有效,而GTalk和Skype现在非常便宜。

答案 4 :(得分:2)

考虑Fogbugz进行错误跟踪。这很有用。

答案 5 :(得分:1)

当你说“开源”时,你只是指自由软件,或者你的意思是“我需要/更喜欢能够看到来源”吗?

请注意,您的决定将受到项目性质的影响。有许多免费的开发/项目托管站点要求您的项目必须是一个开源项目,并向公众免费/开放。

您也可以选择使用基于您用于开发项目的语言的特定托管平台。例如,CodePlex (http://www.codeplex.com/)是一个托管基于.Net的开源项目的站点,Java.Net (http://community.java.net/projects/)托管Java项目。

您的问题的其他答案是可靠的,这是我目前使用或过去使用的:

一个出色的连续构建工具JetBrains TeamCity. (http://www.jetbrains.com/teamcity/)该工具开箱即用,支持许多构建工具以及开箱即用的Visual Studio解决方案。对于20或更少开发人员的团队而言是免费的。它还具有开箱即用的功能,可以在几分钟内启动并运行 - 非常低的学习曲线而不会削减功能。

一个有用的SVN存储库,可供两位开发人员免费使用,为您节省设置和管理自己的SVN存储库的时间Unfuddle. (http://www.unfuddle.com) Unfuddle还具有额外的付费功能和基本任务跟踪。

另一个付费源代码库是ProjectLocker(http://www.projectlocker.com),它具有低价SVN存储库和用于任务管理的Trac集成。

一个有用的任务跟踪工具是Remember The Milk(http://www.rememberthemilk.com) - 它不像Trac这样的“门票”,它不仅用于跟踪项目,而且它允许您通过电子邮件发送其他任务,并拥有共享任务列表。 我也指出了它们,因为产品本身是由分布式开发团队开发的,您可能希望尝试邮寄它们以获取建议。 : - )

为您的团队提供最好的服务!

答案 6 :(得分:1)

wiki是必须的。

它有助于作为团队内部的ans之间的异步通信媒体。人们可以分享他们的提示(例如我如何编译它,如何激活痕迹......)。它可用于收集设计决策或变更...... 人们可以向整个团队提问,而不会破坏其他邮箱。 它还可以用于扩展文档。

有大量的wikipick one取决于你打算用它做什么。

答案 7 :(得分:0)

我认为你需要更多的东西来帮助这个项目,而不是你所问的。

首先,我会为您的清单提供建议:

  • 源代码控制:git或svn,如果你使用其中任何一个,你需要一种方法让你的开发人员知道谁检查了什么以及什么时候,Trac对svn来说是好事
  • 错误跟踪:Trac(不是Bugzilla),Mantis,FogBuz
  • 构建管理:CruiseControl非常适合持续集成;如果你需要构建脚本,请尝试Ant或Maven

您可能需要的其他事项:

  • 协作工具:Trac有一个wiki或选择一个你选择的wiki
  • 聊天工具:即使它们跨越时区,也需要即时通信。 IRC,Jabber,Skype,非常适合通过互联网进行视频或音频通话。
  • 项目管理:您需要一种方法来设置您的版本(如果使用Scrum,则为sprint)和您的待办事项。我最喜欢的工具是Acunote:(http://www.acunote.com)。还有其他一些,但它们更昂贵,你可以得到你可能不需要的所有功能。

我希望这会有所帮助。

答案 8 :(得分:0)

是的我坚信在分布式团队中,工具很重要。如果你不在一起工作,那么沟通就很难了。像Agilo for Scrum这样基于trac的工具为您提供了维基,计划板(在线白板),并以这种方式为您提供支持,以改善与同事的沟通。