如何在地理位置分散的团队中使用敏捷工具/方法

时间:2010-03-02 18:52:59

标签: project-management agile

我正在开展一个软件项目,其中有几个成员在家工作,另一些则是兼职人员。我们至少每个月见一次身体。我们主要通过电子邮件沟通。我们的源代码库(mercurial)位于我们共享的丛林磁盘(工作组)上。

我们有一个工作产品和一个客户。但是,我们不够敏捷(即:代码中的一个更改有时会破坏其他内容,我们没有单元测试,代码没有记录等等)我想使用敏捷方法来协调我们的工作并跟踪我们的工作进展。我也想使用TDD。

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

在地理位置分散的团队中使用敏捷方法的最佳方法是什么?哪种方法最适合这种团队?如何以最小的阻力有效地实现它?

谢谢!

6 个答案:

答案 0 :(得分:4)

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

以下是我们所做的一些写作:

我们发现在项目开始时让所有人在一起有助于建立标准并建立关系。

我们还发现,拥有“大使”会有所帮助 - 在团队之间运送不同的人来传播知识并建立信任。

我们很幸运有三个站点,每个站点相隔12个小时 - 所以我们可以在早上进行一次站立会议,在晚上举行最后一次会议。我们称他们为“移交会议”,并通过即将到来的团队和即将卸任的团队之间的视频会议进行了这些会议。

我们还发现远程配对编程 - 在本地对和远程对(即四个人)之间但是它非常强烈且耗尽并且最好只在很短的时间内完成看到其他人远程做什么非常关键。

除此之外:Kent Beck对使用Eclipse进行远程配对的人的建议:http://www.threeriversinstitute.org/blog/?p=584

答案 1 :(得分:2)

嗯,我的第一个念头,考虑到你指定的内容:

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

如果没有单元测试,大多数敏捷方法都不是那么有用。敏捷是指轻松,能够快速响应变化 - 单元测试是使其发挥作用的主要因素之一。如果没有单元测试,您将无法自由地进行更改,而不会有重大损坏的风险。

在添加测试时,我会记录您的代码。这对于能够改变事物至关重要,在团队分配时更是如此。

一旦完成,您可以开始实施其他方法。就个人而言,我希望整个团队都能做到这一点,并开始每天/每周站立(通过电话会议与分布式团队合作等),每个人都描述了他们测试过的内容,他们是如何做的进步等等。

这至少会让你走上正确的道路......

答案 2 :(得分:0)

答案 3 :(得分:0)

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

答案 4 :(得分:0)

您必须首先改善沟通。是的,工程实践很重要,但敏捷的关键是沟通。电子邮件不是协调敏捷项目的最有效工具,但并不缺少可以提供帮助的工具。

我们在Skype上取得了巨大成功(主要是pm,但也是普通手机),而且使用MS SharedView这样的工具,可以演示甚至跨站点配对程序。

一旦你开始有效沟通并感觉像一个团队,其余的就会跟随。敏捷就是检查和适应所有,所以尝试一下,玩得开心。从每日站起来开始,然后继续前进。定期回顾会帮助您识别问题并改进。

答案 5 :(得分:0)

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

(免责声明:Saros是柏林自由大学工作组的一个项目)