写点什么

为什么结对编程很难实施

  • 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:473208
用户头像

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

关注

评论

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

一加9 Pro怎么样?值得入手的全能旗舰

Geek_8a195c

SSH是什么?怎么组成?有哪些优势?

行云管家

SSH 服务器 SSH工具 服务器管理协议

Java 面试的“完美圣经”,有了这些还愁面试吗?

Java 程序员 架构 面试 后端

我用 10000 张图片合成我们美好的瞬间

荣顶

JavaScript 大前端 canvas 图形处理

DCI架构是如何解决DDD战术建模缺点的?

华为云开发者联盟

领域驱动设计 对象 建模 对象编程 DCI架构

教你用Java7的Fork/Join框架开发高并发程序

华为云开发者联盟

Java 算法 线程 高并发 Fork/Join框架

“828页Java面试手册”在我手,何愁offer不到手!

Java 程序员 架构 面试 后端

每一个用到canvas的小伙伴都应该了解的fabric.js

荣顶

JavaScript 大前端 canvas 图形处理 画布

万字长文,一篇吃透WebSocket:概念、原理、易错常识、动手实践

JackJiang

websocket 即时通讯 IM

校友录小程序开发笔记三十二:校友卡模块设计与实现

CC同学

浙江金华市正规等保测评机构有几家?在哪里?联系电话是多少?

行云管家

网络安全 等保 等保测评

双减来了!人工智能如何促进教育领域转型?

京东科技开发者

人工智能 大数据 AI 教育行业

明道云当选“中国电子商会数据资源服务创新专业委员会”理事单位

明道云

成本直降50% | 阿里云发布云原生网关,开启下一代网关新进程

阿里巴巴中间件

阿里云 微服务 云原生 中间件 网关

设计模式如何提升 vivo 营销自动化业务扩展性 | 引擎篇01

vivo互联网技术

自动化 后端 设计模式 软件架构设计 java

为绿色而生:智慧矿山可视化数治监管

一只数据鲸鱼

数据可视化 智慧矿山 煤矿 矿山

OpenCV学习(三):三重境界

轻口味

OpenCV图像处理 10月月更

GitHub标星过万!阿里内部流传的JDK源码剖析手册到底有多强?

程序员 jdk 面试 java

再见收费的Navicat!操作所有数据库靠它就够了!

Java 数据库 架构 开源项目

用21张图,把Git 工作原理彻底说清楚

git 架构 面试 后端

设计电商秒杀系统

木云先森

架构训练营

「 活动 」连续 3 天,企业容器应用实战营上海站来啦!

阿里巴巴云原生

阿里云 Kubernetes 容器 云原生 活动

2021年9月国产数据库大事记

墨天轮

数据库 华为云 国产数据库 达梦 人大金仓

【优化技术专题】「线程间的高性能消息框架」终极关注Disruptor的核心源码和Java8的@Contended伪共享指南

码界西柚

Disruptor 异步执行 高性能框架 10月月更

机器翻译是否能替代人工翻译?从前世今生说起

博文视点Broadview

想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中

华为云开发者联盟

MySQL 运维 测试 MySQL数据库 Kubernetes 集群

还在苦恼网络协议?阿里大佬这份笔记带你从入门到精通!

Java 架构 面试 程序人生 编程语言

仅需三天,受人追捧的华为内部Java优化笔记登顶Github热搜!

Java 架构 面试 程序人生 编程语言

Vue进阶(幺叁幺):父子组件传值实现数据深拷贝

No Silver Bullet

Vue 深拷贝 10月月更

百分点大数据技术团队:低代码平台实践

百分点科技技术团队

专场预告 | DTCC数据库技术大会云溪数据库专场

云计算

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