档案库 · 工作与做事的点子 · 技术决策 · 2011–2016
群组编程:整个团队共用一个键盘,一次专注一项任务
Hunter Industries的一个团队不再分散注意力:大家共同使用一个键盘处理当前任务,长期存在的问题随之消散。
Hunter Industries
当时的题目
At Hunter Industries in San Diego, software teams kept paying the cost of context: every handoff, status meeting and re-explanation burned time, and knowledge lived in single heads.
它是怎么成立的
大约2011年,圣地亚哥Hunter Industries的一个软件团队面临典型的敏捷困境——交接中的上下文丢失、重复已知信息的会议、知识锁在个人脑中。该团队实践测试驱动开发并举办编程道场,一次道场实验改变了一切:所有人同时在同一台计算机上解决同一问题。他们觉得如此高效,甚至质疑为何采用其他工作方式——群组编程由此诞生。
其机制刻意保持简单:整个团队在同一时间、同一空间、同一台电脑上处理一个任务。一人驱动键盘,其他人导航——检查、建议、捕捉错误。驱动者每几分钟轮换。工作采用单件流,每次击键都伴随持续审查,先编写测试,每天交付可用软件。团队引导者Woody Zuill将目标描述为“所有聪明人在同一时间、同一空间、同一台计算机上处理同一件事”。
消失的是沟通问题、决策僵局、技术债务、估算浪费、任务切换和大部分会议负担。因为人人掌握上下文,无需状态更新;因为全程团队审查,错误在几秒内被捕获。每个要素并不新鲜——结对、TDD、复盘——但将团队合而为一体,使软件开发的协调成本大部分蒸发。
妙在哪
- 上下文不再是稀缺品:整个团队始终掌握,所以更新和重复说明消失。
- 持续的全团队审查在打字时捕捉错误,而非数周后。
- 单件流消除了多任务处理的隐性负担——任务切换。
- 共享屏幕迫使艰难对话实时进行。
做出来什么
The team delivered working software every day and quality rose; the practice's 3-minute time-lapse video spread it worldwide, roughly 50 organizations were mobbing by January 2016, and 'mob programming' entered the Agile Alliance glossary.
可以借走的
大多数流程浪费源于协调。将团队集中于一台电脑上的单任务,删除了交接,而非优化交接。
后来
Zuill和Kevin Meadows在2016年出版了书籍《Mob Programming: A Whole Team Approach》,2016至2018年MIT举办了专门的群组编程会议。该实践从Hunter Industries扩展到2016年初的约50个团队,并随着远程群组工具的出现持续传播;敏捷联盟将其载入官方词汇表,并指出只有当团队真正选择此方法时才有效。它一直是这一问题的重要答案:将结对编程的逻辑延伸到极致会怎样?
资料来源
发现哪里写错了?告诉我们。
轮到你了
你刚读完一个点子。把你手上的题目说出来,看看谁接过同样的题。
免费账号 · 3 次免费提问 · 不用绑卡