BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

远距离Swarming

| 作者 Johanna Rothman 关注 10 他的粉丝 ,译者 吴宇 关注 0 他的粉丝 发布于 2012年6月8日. 估计阅读时间: 10 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

我们知道配备齐全的团队如何围绕某个功能进行 swarm 。但是如果你是分布在不同地方的敏捷团队成员之一,又该如何呢?这就取决于成员分布的方式以及所跨时区有多少。

团队如何分布?

太多跨区域分布式团队都是按功能划分的。比如说,所有或部分开发人员会分布在一些地区,所有或部分测试人员会在其他一些地区。产品所有者/用户在另一个不同的地方,如果团队配有业务分析人员,这些人通常又会在另一个不同的地方。

这种情况很容易用一个故事来描述。我曾经遇到过一位项目负责人叫Stefan,他在我的工作室任职。他本人在德国,当时就很担心其中一个项目。那个项目有两位开发人员在英国,一位在法国,还有两位在德国,另外有两位测试人员在印度的班加罗尔。产品所有人在德国,而且该用户还想要管理另外两个团队积压的工作。

这种情况真是杂乱无章。但是这个故事正是我时时听闻的区域式分布团队的典型代表。而且,因为团队不是围绕特征来进行swarm,产品所有者认为他有足够的时间在各个团队之间进行多任务管理。

集中工作

Stephan提出的第一项建议是让开发人员减少在制品(WIP),并且大家集中关注在同一件事情上。而之前他们每个人都有各自的事。现在,他们都在讨论的是“我们如何一起开始这个事情?”

结对进行实验

他们不会同一时间一起开始。首先是在英国的两位开发人员一起开始。他们想,既然是在同一时区,那么他们应该一起开始。这么做也是比较合理的,因为不存在时差的问题。

两位身在英国的开发人员其实并不是在同一地点一起工作,所以他们同分布在其他地区的人面临同样的问题。他们试着通过架构来组合Google文档、共享屏幕、做结对、进行工作。他们必须实践多种场景。然后发现原先设置的“故事”都太大了。将“故事”范围调整小一些之后,swarm会变得简单许多。

再加入一位开发人员

当英国的两位开发人员开始实践某一“故事”之后,他们打算再让另一名开发人员加入进来。在接下来的故事中,他们召集了德国开发人员中的一人。三个人所在区域存在一个小时的时差,上下班和午餐时间也是如此。

不过他们还是努力一起交付了这个“故事”,并决定再加入一名测试人员。但他们还是对时差的问题有点担心。

加入测试人员

两位英国开发人员分别位于曼彻斯特和伦敦,还有一位开发人员在德国慕尼黑,现在又有一位测试人员在印度班加罗尔,这个项目小组分布在跨4个半小时的时区内。更糟的是他们一天能一起工作的时间最多只有5个小时,前提还是测试人员要加会儿班,开发人员要晚点儿吃午饭。而且这样做也只能偶尔为之,不可能一直这样。

所以,他们决定按照各自的时间工作,而不是5个小时大家一起工作。

按各自时间工作

现在我们明白了按各自时间工作的价值——这也是敏捷的大致含义所在。不过我们没必要按照一周或两周这样划分时间段。我们还可以划分更小的时间段。

该团队决定利用分时间段的方法集中精力做swarm,这样他们就可以尽各自所能利用的时间来一起解决问题。

在第一个90分钟内,开发人员和测试人员一起工作,分享屏幕、远距离结对,一切你所能想象的一般团队的工作场景都在这支团队中得以实现。

第一时段之外的安排就由每个人自行决定了。

大家能午餐同步吗?或者他们牺牲下午的剩余时间来吃午餐?团队成员需要自己决定找出解决问题的办法。该团队尝试了多种方法,主要还是取决于其他事情的进展程度。

手动测试减慢了团队的速度

当团队刚开始swarming的时候,测试人员只能进行手动测试。这就意味着团队每次都有一步滞后,即测试人员总是晚一步了解目前的状况。当测试人员与开发人员一起工作时,测试人员能够理解功能是什么,但还是不能开发出自动测试。

通过swarming,开发人员能够为测试人员构建代码使部分测试得以自动化。这虽说不是完美的解决方案,但又有哪种是呢。

随着不断的沟通,测试人员对自动化的担心越来越少,并开始对团队做出越来越有效的贡献。

加入看板使进度更直观

由于该团队成员分散在太多不同的时区中,且时间重叠很少,于是成员们使用了看板管理来观察所有“ kanban board ”的进度。这样的话,每位成员就可以根据情况选择早来或晚走。

像这样团队成员分布在不同区域的,大家对调班都习以为常。不需要每个人每天都调班,只要你发现你可以在某一天或两天调整个一两小时就能对团队起到帮助,你可能就会这么做。看板管理可以帮助大家判断这么做是否有必要。

该团队很快发现他们一起swarm的频率越来越高,他们需要各自调整时间以便一起swarm。由于彼此相隔太远,如果想要加上测试人员一起的话,swarm变得没那么容易。

“我们需要更多的故事”

Swarm的成效之一就是团队能更快地完成工作。因为他们的在制品更少,所以故事就完成得更快。现在压力转移到了产品所有者身上,他们已经为其提供了编写完好而简练的故事。产品所有者很讶异甚至还没心理准备团队能够如此又快又好地完成任务。

起初,产品所有者想要自己搞定所有的故事。后来,他意识到项目太多了,根本忙不过来。于是他寻求帮助,将工作移交给另外一个产品所有者的两支队伍,并将注意力集中在这支团队上。

你拥有更多选择

相比这支团队的选择,其实还可以有更多的选择。如果你打算实验一下,或许可以选择另一种方法。这支团队选择的方法是:

  1. 先从最近的人那里起头。
  2. 加入下一个人进来。
  3. 使用时间分段来克服时差问题。

其他方法可以是:

  1. 先从各个架构层某个人开始再加上一名测试人员
  2. 使用时间分段来克服时差问题。

还有一种方法是:

  1. 使用看板管理来观察进度。
  2. 不要试图进行实时swarm,而是只要有谁有空就出来解决问题。

我个人不倾向于第三种方法,因为那样会导致多任务操作。

当你们分散太开而不能一起swarm时怎么办

有时候,作为跨职能的团队,你们会因为各自分散在不同区域而无法一起swarm。我有位同事叫Tim,我就经常在他的项目中发现这样的情况。Tim团队的开发人员分布在美国的好几个地方:Cambridge、 MA、 Denver、还有San Jose。所有测试人员都在印度的Pune。由于时差问题,他们没法儿选择合适的时间一起开会,但是这并不妨碍他们选择正常时间之外的时段一起工作。

在Tim的项目中,开发人员可以在差不多的时间里一起swarm。然后,完成他们的部分之后加入测试,再将代码交接给在印度Pune的测试人员。

这并不是理想状态。但是,他们使用了看板管理来跟踪进度并提出相关问题。所以,如果Pune的测试人员有任何问题,他们就会在看板上创建卡片,这样开发人员就能看到并做相应回复。

可视化管理益处多

跨越不同时空进行swarm并非易事。如果可以用工具来看到对方的工作区域就太好了。然而,更有帮助的是能够看到工作进度。

Swarming帮助团队减少在制品,这使得整个团队能更好更快地完成工作。它可以帮助你理清方向。它有助于团队成员之间的关系得以促进。

 当然,有时候不管怎样,这项工作就是没法儿完成。那么索性就放弃吧。但是,但凡你有机会,就请尝试一下看看会有什么结果。一定要告诉你尝试的结果,好吗?

关于作者

Johanna Rothman 与很多公司有合作,帮助他们改进产品开发管理——最大化管理人员和技术人员的效率,并提高产品质量。Johanna是2009敏捷大会的主席。她还撰写了以下多本著作:

- Manage Your Project Portfolio: Increase Your Capacity and Finish More Projects
- The 2008 Jolt Productivity award-winning Manage It! Your Guide to Modern, Pragmatic Project Management
- Behind Closed Doors: Secrets of Great Management
- Hiring the Best Knowledge Workers, Techies & Nerds: The Secrets and Science of Hiring Technical People

她还为Stickyminds.com撰写专栏,并为Gantthead.com撰写“极限项目管理”,并在其主页jrothman.com上写有两篇博客。最近她开始在www.createadaptablelife.com撰写博文。她还是Amplifying Your Effectiveness会议的主持人。

查看英文原文:Swarming Across Distance


感谢侯伯薇对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

英文不好 by 王 明军

英文不好啊,要不可以看看原文,不错的文档,需要好好体会一下

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT