3

我有一个开发人员团队,分布在全球不同时区。

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

我在寻找:

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

谢谢

4

9 回答 9

3

对于前两个:

  • 分布式源代码控制,如git
  • 一个很好的问题跟踪工具,比如Jira
于 2008-12-13T09:07:15.360 回答
3

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

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

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

  1. 使用 Subversion 进行源代码控制
  2. 使用 Roundup 作为错误跟踪器
  3. 使用 make 进行构建管理,使用 Buildbot 进行自动化的分布式构建
  4. 使用基于 Mailman 的邮件列表
于 2008-12-13T09:08:23.673 回答
3

对于 .NET 环境:

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

于 2008-12-13T09:28:22.353 回答
2

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

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

对于这个问题,我见过的最好的缓解方法是视频会议。它对于提高分布式团队的通信带宽非常有效,而且现在使用 GTalk 和 Skype 真的很便宜。

于 2008-12-13T09:53:28.760 回答
2

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

于 2008-12-13T09:54:46.200 回答
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 人或更少的开发人员的团队是免费的。它还具有大量开箱即用的功能,并且可以在几分钟内为您启动并运行——在不削减功能的情况下,学习曲线非常低。

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

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

一个有用的任务跟踪工具是 Remember The Milk ( http://www.rememberthemilk.com ) - 它不适用于 Trac 之类的“票证”,它不仅用于跟踪项目,还允许您通过电子邮件相互发送任务,并拥有共享的任务列表。我还要指出它们,因为产品本身是由分布式开发团队开发的,您可能想尝试通过邮件向他们寻求建议。:-)

祝你的团队一切顺利!

于 2008-12-13T11:06:17.007 回答
1

维基是必须的。

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

有大量的wiki,根据您打算用它做什么来选择一个。

于 2008-12-13T14:34:28.303 回答
0

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

首先,我将针对您的列表给出我的建议:

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

您可能需要的其他东西:

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

我希望这有帮助。

于 2008-12-13T18:59:34.227 回答
0

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

于 2009-09-22T16:55:10.737 回答