写点什么

Swarming 是如何帮助敏捷团队实施交付的

  • 2013-03-26
  • 本文字数:1285 字

    阅读完需:约 4 分钟

快速且频繁地交付可工作的软件是敏捷开发的目标之一。Swarming 就是能够帮助敏捷团队实现这一目标的技术。那什么是 Swarming,Swarming 有哪些好处,该在何时使用,又该如何使用呢?

Vin D’Amico 在《敏捷团队通过 Swarming 取得巨大成功》一文中解释道,使用敏捷软件开发的团队可以在免去一些计划的情况下,发布更多软件,而且响应更为迅速:

他们快速地执行从计划到设计到编码到测试再到交付的敏捷流程,如此往复,直到软件达到客户预期目标为止。

敏捷团队为何响应如此之快呢?Vin 指出:

(…)好的团队都在用 Swarming。他们尽量在当下解决问题或者消除障碍。如果做不到,好,把它移到 Backlog 中,但不到万不得已不要这么做。

在《团队 Swarming 的 7 项策略》一文中,David Bernstein 解释了 Swarming 如何帮助我们建立一支专注并且能够解决复杂问题的高效团队:

进行 Swarming 时,整个团队针对同一问题集中在一起工作。这有助于大家相互了解,进而更好地合作。通常,团队需要经历从形成(了解彼此)、磨合(发现矛盾,化解矛盾)到最终运转(成为一支高效的团队)这几个阶段,所以请给每个人一点空间。

Swarming 的工作方式跟结对编程很像,都是让团队成员在同一任务上紧密合作:

跟单枪匹马地工作相比,看看一项任务是否可以由两个甚至三个人来完成。让两个人来做同一件事是有损失,但结对工作所带来的动力往往会将其抵消。记住,高效率的团队几乎总是结对完成任务的。

什么是 Swarming?几年之前, Yahoo 讨论组上曾有一次关于《 Swarming: 意义何在?》的讨论,InfoQ 也进行了总结。其中解释了 Swarming 的目的:“使团队专注于完成有业务价值的工作”,“尽可能让整个团队从一开始就参与到同一个用户故事中去,以此提升质量和一致性”。按照 Vin D’Amico 的说法,“简单来说,Swarming 是这样的行为——将大家召集到一起来解决问题或快速完成某个任务”。David Bernstein 这样定义,“Swarming 就是把整个团队聚在一起,专注地解决同一个问题”。

Oleksi Derkatch 描述了 Swarming 如何工作,以及它能带来什么:

它的理念是让所有开发者工作于同一个用户故事,而不是让每个开发者各自为战。它的目标是彻底完成更多的用户故事。彻底完成 80% 的功能总比各种功能都只完成 80% 要好。

Renee Troughton 解释了组织应该如何使用 Swarming 来构建更富创造性的团队。她在博客文章《业务的新时代》中写道:

这正是 Swarming 的用武之地。大部分组织就是将人员从一个项目抛到另一个项目,很少考虑个人兴趣。除此之外,他们也很少考虑这么做的真正速度以及与投资回报的关系。

为使工作更富成效,我们需要有激情的人,他们对待工作会像对待自己的孩子般专注。(…)应该允许对此有兴趣的员工报名参与,而且要立马放人让他们坚持到底。

你的团队在使用 Swaming 吗?对于快速频繁地交付软件,它是不是真的有帮助?

查看英文原文 How Swarming Helps Agile Teams to Deliver


感谢臧秀涛对本文的审校。

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

2013-03-26 04:011766
用户头像

发布了 31 篇内容, 共 83830 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

医院HIS故障,险引发人命关天大危机,竟被程序员轻松解决!

Marilyn

企业开发遇到瓶颈,何不换个新思路?快速开发了解一下

Marilyn

敏捷开发 快速开发

JAVA & VUE ,分离式开发平台建造思路

Marilyn

Java Vue 敏捷开发

用友政务表格技术应用开发实践:预算一体化产品核心功能搭建

葡萄城技术团队

SpreadJS 用友

JVM-技术专题-深入理解内存结构

洛神灬殇

Java JVM

Go语言内存管理三部曲(一)内存分配原理

网管

内存管理 内存布局 Go 语言

智能时代,快速开发平台将成为主流软件开发工具

Marilyn

敏捷开发

JAVA代码生成器,快速开发平台之魂

Marilyn

Java 敏捷开发 快速开发 开发工具

GitHub 上开源了一个很邪恶的项目!女生勿近,18香警告...

程序员生活志

快速开发平台,高集成易扩展,进入软件疾速开发新世代

Marilyn

敏捷开发 快速开发 开发工具

有一说一,大型信息化企业的软件系统,还是用自研的好

Marilyn

敏捷开发 快速开发 开发工具 软件设计

XJR企业级软件快速开发平台规范

Marilyn

程序员 敏捷开发 软件设计

Go发起HTTP2.0请求流程分析(前篇)

Gopher指北

HTTP HTTP2.0 Go 语言

深入分析软件快速开发平台与传统软件开发方案的优缺点

Marilyn

敏捷开发

摆脱复杂烧脑的程序代码,利用快速开发平台轻轻松松做软件

Marilyn

敏捷开发 快速开发

阿里内部《Java架构进阶宝典》,总结了基础、进阶、架构三个阶段的知识点

Java架构之路

Java 程序员 面试 算法 编程语言

商业智能(Business Intelligence)系统的使用及设计原则

Marilyn

敏捷开发 快速开发 商业智能

Vidyo的解决方案到底是什么?有哪些特点?

dwqcmo

音视频 集成架构 解决方案 智能硬件

spring-boot-route(十三)整合RabbitMQ

Java旅途

Java Spring Boot RabbitMQ

架构师训练营 1 期第 4 周:系统架构 - 作业

piercebn

极客大学架构师训练营

五年Java开发经验,4面阿里成功拿下offer,分享一下个人面经!

Java架构之路

Java 程序员 面试 算法 编程语言

架构师训练营第 1 期 第 4 周作业

李循律

极客大学架构师训练营

低代码开发平台,来自“未来”的软件开发方案

Marilyn

敏捷开发

快速开发平台,程序员“老师傅”必备

Marilyn

敏捷开发 快速开发 开发工具

Redis Sharding集群跟一致性哈希有什么瓜葛?

Man

一致性哈希 Jedis redis cluster

标本兼治,程序员用它整体提升公司效率

Marilyn

敏捷开发 快速开发

大企内部软件系统反复故障难以解决,业内人士:唯有彻底更换

Marilyn

敏捷开发 快速开发 开发工具

TensorFlow 篇 | TensorFlow 2.x 基于 Keras 的模型保存及重建

Alex

tensorflow keras model save model restore tensorflow hub

阿里面试官纯手打:金九银十跳槽必会Java核心知识点笔记整理

Java架构追梦

Java 数据库 架构 面试 微服务

为什么巨头都在布局SaaS生态?

ToB行业头条

SASS

MySQL-技术专题-性能优化—索引篇

洛神灬殇

Swarming是如何帮助敏捷团队实施交付的_文化 & 方法_Ben Linders_InfoQ精选文章