代码之家  ›  专栏  ›  技术社区  ›  Symbiosoft

如何在地理分布的团队中使用敏捷工具/方法[已关闭]

  •  4
  • Symbiosoft  · 技术社区  · 14 年前

    我正在做一个软件项目,有几个成员在家工作,还有一些是兼职的。我们每个月至少见面一次。我们主要通过电子邮件交流。我们的源代码存储库(mercurial)位于我们共享的丛林磁盘(工作组)上。

    我们有一个工作产品和一个客户。但是,我们不够敏捷(例如,代码中的一个变化有时会破坏其他东西,我们没有单元测试,代码没有文档记录等等),我想使用敏捷方法来协调我们的工作并跟踪我们的进展。我还想用TDD。

    团队没有敏捷方法(或其他方法)的经验。

    在地理分布的团队中使用敏捷方法论的最佳方法是什么?哪种方法最适合这种团队?如何以尽可能小的阻力有效地实施它?

    谢谢!

    6 回复  |  直到 13 年前
        1
  •  4
  •   Dafydd Rees    14 年前

    作为分布式XP团队的一部分,我在3个站点上共享源代码和故事,每个站点相距12小时(西雅图、伯恩茅斯英国和新加坡)。

    以下是我们所做工作的一些总结:

    我们发现这有助于 在项目开始的时候,让每个人都在一起。 建立标准和建立关系。

    我们还发现它有助于 有“大使” -在团队之间运送不同的人来传播知识和建立信任。

    我们很幸运有三个站点,每12个小时一个,所以我们可以在早上第一件事和晚上最后一件事上进行一次站立会议。我们给他们打过电话 “交接会议” 他们通过视频会议在进入团队和离开团队之间进行了交流。

    我们还发现 远程对编程工作 -在一对本地人和一对远程人之间(即四个人),但这是非常激烈和排水,最好只在很短的时间内做,当它真的很关键,看看其他人在远程做什么。

    旁白:KentBeck为使用Eclipse进行远程配对的用户提供的建议: http://www.threeriversinstitute.org/blog/?p=584

        2
  •  2
  •   Reed Copsey    14 年前

    好吧,我的第一个想法,考虑到你所说的:

    将单元测试添加到源代码中!

    如果没有单元测试,大多数敏捷方法都没有那么有用。敏捷是指轻量级和能够快速响应变化——单元测试是实现这一目标的主要因素之一。如果没有单元测试,您将永远无法在没有重大损坏风险的情况下自由进行更改。

    当您添加测试时,我将记录您的代码。同样,这对于能够改变事情非常重要,当团队被分配时更是如此。

    完成之后,您可以开始随着时间的推移实现其他方法。就我个人而言,我希望整个团队都能做到这一点,并开始每天/每周进行站立(通过电话会议等与分布式团队一起工作很好),在那里每个人都会描述他们测试过的内容、进展情况等。

    那至少能让你走上正轨…

        3
  •  0
  •   Kyle Rosendo    14 年前
        4
  •  0
  •   Josh    14 年前

    从持续集成(自动化构建)开始。我用的是CruiseControl.net。我设置了两个构建:1)在每次签入之后自动构建;2)按需构建的测试构建。

        5
  •  0
  •   jheppinstall    14 年前

    首先,你必须改进你的沟通。是的,工程实践很重要,但是敏捷的关键是沟通。电子邮件并不是协调敏捷项目最有效的工具,但也不乏能提供帮助的工具。

    我们在Skype上取得了巨大的成功(主要是PM,但也是普通的电话),而且在MS SharedView等工具上,可以在不同的站点上演示甚至配对程序。

    一旦你开始有效地沟通,感觉自己像一个团队,其他人就会跟随你。敏捷是检验和适应的全部,所以尝试一下并享受它。从每天站起来开始,然后从那里继续。定期回顾会帮助你发现问题并改进。

        6
  •  0
  •   Florian Thiel    14 年前

    如果你喜欢工具:为了能够远程进行配对编程或同步代码审查,你可以尝试Eclipse插件。 Saros 支持协作编辑(包括支持驱动程序/观察者角色和通过代码跟踪用户)。

    (免责声明:Saros是我在柏林弗雷大学工作组的一个项目)