写点什么

为什么结对编程很难实施

  • 2014-12-31
  • 本文字数:1039 字

    阅读完需:约 3 分钟

结对编程有助于提高软件质量和加强团队成员合作。它有非常多的好处,但是,团队成员真的很容易结成对子吗?

Marcos Brizeno,巴西 ThoughtWorks 公司的电脑科学家和顾问开发,在他最近的博客中分享了他的想法,描述了为什么采用结对编程很难。

Marcos 提出如下在做结对编程时的一些挑战:

  • 基础设施:团队需要有专用的工作站,提供通用的安装, 例如编辑器,操作系统等。
  • 疲劳:提高专注力并不容易,要花很多的精力专注在某个问题上,要分享你的想法和倾听其他人的意见。
  • 自我:很重要的一点是要保持谦卑并倾听其他人的想法,而不是争辩。

David Green, TIM Group 的软件工程师,说结对并不适合所有人。他在最近的博客 上分享了他的观点:

任何一个团队最终都是由不同性格的人混合在一起的。外向型的人更喜欢结对,然而内向型的人会更倾向性地认为这很难做到,并且他们尽量避免这种做法。这并不一定是教育或者说服的问题,相对来说也看不清其中的收益,甚至更多内向型开发人员可能会发现整个过程并不比独自工作更快乐。

Joe Barnes,ASCII 字符的制作者,提到了剽窃是团队停止做结对的原因。

我相信我已经意识到了,扼杀我们团队合作的最大因素是结对。老是担心被剽窃就会间接这样的结果。

Marcos 介绍了一项回顾练习,称为“那个人和这个人”,从而得出你们团队结对编程一系列的最佳实践。最初这是一个回顾活动,该活动信息是由 Paulo Caroli(ThoughtWorks 的敏捷教练)和 Taina TC Caetano(ThoughtWorks 的开发者顾问)联合发表的。

把一堵墙分成两个部分,“不要做那个人”和“要做这个人!”:在第一部分,成员写下他们不喜欢哪些行为的示例。第二部分包括大家真正喜欢的行为示例。

然后,走到墙边让团队成员讨论每一个例子。在交流中应该让团队讨论对于某个特定类型的行为有什么看法,大家是否都觉得这个行为还不错呢?有些示例中的行为可能潜显易懂没什么可谈的,而有一些就可能值得深入讨论了。

我认为这个活动是提高团队士气的一个好方法,有了这样的对话,经常会让人们感觉彼此间能够更加地坦诚,因此又会增进了更多的交流。如何感受团队的动力呢?一个比较好的方式就是观察他们互相之间是如何谈话的。通常,一个安静的团队就意味着人们之间都不怎么联系,并且很少分享信息。

查看英文原文: Why Pair Programming is Hard to Implement


感谢夏雪对本文的审校。

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

2014-12-31 03:473163
用户头像

发布了 55 篇内容, 共 14.0 次阅读, 收获喜欢 8 次。

关注

评论

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

axios框架入门教程

倔强的牛角

axios 6月月更

Java String 构造方法中的内存分配

HoneyMoose

面试突击59:一个表中可以有多个自增列吗?

王磊

Java 面试

DOM编程

大熊G

JavaScript 前端 6月月更

5道面试题,拿捏String底层原理!

码农参上

string 底层原理 死磕 Java 基础

钟珊珊:被爆锤后的工程师会起飞|OneFlow U

OneFlow

自我介绍 实习

leetcode 279. Perfect Squares 完全平方数(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

Go Web 编程入门:验证器

宇宙之一粟

Go 语言 表单校验 6月月更

DOM 节点

Jason199

DOM js DOM事件 6月月更

redis精讲系列介绍七-过期策略

Nick

Redis 核心技术与实战 6月月更 redis精讲 redis 过期策略 redis 底层原理

Linux开发_curl调用网络接口

DS小龙哥

6月月更

Gitlab运维篇之——备份及恢复

阿呆

#GitLab 备份恢复

如何使用物联网低代码平台进行报表管理?

AIRIOT

物联网 低代码平台

IDE 的主题应该用亮色还是暗色?终极答案来了!

胡说云原生

ide vscode IDEA goland ide主题

缓存穿透利器之「布隆过滤器」

Ayue、

redis 布隆过滤器

数据治理的重要性

奔向架构师

数据治理 数据资产 6月月更

唐太宗把微服务的“心跳机制”玩到了极致!

悟空聊架构

微服务 Eureka 悟空聊架构 6月月更 心跳机制

JAVA SOCKET编程——TCP/UDP

乌龟哥哥

6月月更

Fabric.js IText 手动设置斜体 🎋

德育处主任

JavaScript 前端 canvas Fabric.js 6月月更

Eureka的InstanceInfoReplicator类(服务注册辅助工具)

程序员欣宸

Java SpringCloud 6月月更

如何进行高效简洁的电子文档管理

小炮

滴滴工程效能平台建设之路

laofo

互联网 DevOps 研发效能 持续交付 工程效能

我对新能源汽车的一些看法(37/100)

hackstoic

新能源汽车 生活杂谈

Java 字符串引用(String Interning)

HoneyMoose

Java String 文字(Literal)和 对象(Object)初始化

HoneyMoose

Java自定义Once方法保障单次执行

FunTester

再次认识 WebAssembly

devpoint

typescript webassembly 6月月更

JVM调优简要思想及简单案例-老年代空间分配担保机制

zarmnosaj

6月月更

Java String 手工引用指针

HoneyMoose

一文走近ZMQ

No Silver Bullet

6月月更 ZMQ

Java String 性能和优化

HoneyMoose

为什么结对编程很难实施_研发效能_Savita Pahuja_InfoQ精选文章