写点什么

为什么结对编程很难实施

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

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

关注

评论

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

Baklib电子产品手册制作,简单且实用

Baklib

SPL 工业智能:识别指定工况

石臻臻的杂货铺

SPL 10月月更

React-diff原理及应用

xiaofeng

React

使用python时刻中监控文件夹,记录文件夹中文件异常信息

技能实验室

Python 10月月更

技术分享 | 使用 Zabbix + Grafana 搭建服务器监控系统

霍格沃兹测试开发学社

技术分享 | 一文搞定 Appium 环境配置

霍格沃兹测试开发学社

翻译API的python调用方式

技能实验室

Python 10月月更

在DAYU200上实现OpenHarmony跳转拨号界面

OpenHarmony开发者

OpenHarmony

Zebec 以 Layer2 的形式推出 Zebec Chain,有望引发流支付赛道的新变革

股市老人

React高级特性之Context

夏天的味道123

React

React-Hook最佳实践

xiaofeng

React

国产CPU执行SPL实现数据库运算的性能实用性测试

石臻臻的杂货铺

数据库 SPL 10月月更

在线问题反馈模块实战(一):梳理业务需求并创建数据库表

bug菌

springboot 项目实战 10月月更

在线问题反馈模块实战(二):封装代码自动生成类文件器

bug菌

springboot 项目实战 10月月更

不知道如何设计帮助中心?这里有解决办法!

Baklib

产品 效率工具 帮助中心 文档编辑

深度解析云安全责任共担模型

HummerCloud

10月月更

除了防火墙,还要部署什么设备才能保证服务器安全?

青藤云安全

网络安全 主机安全 青藤云安全

在线问题反馈模块实战(三):自动生成所有Controller、Service、Mapper等文件

bug菌

springboot 项目实战 10月月更

深度理解Redux原理并实现一个redux

夏天的味道123

React

testcontainers-java 新增对 TiDB 的支持

PingCAP

TiDB

React的5种高级模式

夏天的味道123

React

一文读懂 DNS 解析的工作机制和优化挑战

融云 RongCloud

DNS

个推TechDay治数训练营第三期直播预告:分享数据指标体系搭建秘诀!

个推

数据中台 数据分析 指标体系 数据指标 指标中台; 数据分析

上干货 | 园区智慧物联管理解决方案

AIRIOT

物联网 智慧园区 低代码开发 园区解决方案

高级特性之Render Props

夏天的味道123

React

使用python给图片加个盲水印

技能实验室

Python 10月月更

Zebec 以 Layer2 的形式推出 Zebec Chain,流支付新时达来临了

鳄鱼视界

STM32 非接触测温传感器 项目记录(ModbusRTU协议)

矜辰所致

stm32 ModbusRTU 10月月更 非接触测温

AI 应用的全流程存储加速方案技术解析和实践分享

Baidu AICLOUD

海量存储 高性能计算 高性能存储 AI加速

使用python计算两个位置的距离是多远

技能实验室

Python 10月月更

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