速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

为什么结对编程很难实施

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

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

关注

评论

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

突破性能天花板!亚信数据库支撑 10 多亿用户,峰值每秒百万交易

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

金九银十喜提offer!秋招蚂蚁金服Java研发岗四面

程序员啊叶

Java 编程 程序员 架构 java面试

这88道阿里高级岗面试题,刷掉了80%以上的Java程序员

程序员啊叶

Java 编程 程序员 架构 java面试

深圳见!云原生加速应用构建专场:来看云原生 FinOps、SRE、高性能计算场景最佳实践

阿里巴巴云原生

阿里云 云原生 峰会

今天拿SpringAOP和自定义注解的通用性开🔪

知识浅谈

切面编程 7月月更

一文读懂Elephant Swap,为何为ePLATO带来如此高的溢价?

西柚子

Jenkins 如何玩转接口自动化测试?

Liam

测试 jenkins 自动化测试 API 测试框架

文档贡献与写作必读-OpenHarmony开发者文档风格指南

OpenHarmony开发者

Open Harmony

SQL 开始日期、结束日期查询

孙永潮

如何写好设计文档

观测云

【7.22-7.29】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

大模型轻量化实践路径

澜舟孟子开源社区

人工智能 自然语言处理 神经网络 深度学习 预训练模型

顶礼膜拜!阿里内部出品,全网首发Spring Security项目实战搭建

冉然学Java

编程 spring security springboot Spring 框架漏洞

你真的了解Redis的持久化机制吗?

C++后台开发

数据库 redis 后端开发 C/C++后台开发 C/C++开发

面试官:MySQL如何根据执行计划调优SQL语句?

程序员小毕

Java MySQL 数据库 程序员 面试

上海移动基于亚信科技AntDB完成核心账务数据库的国产化替换

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

面试官:小伙子你来说说MySQL底层架构设计

程序员小毕

Java MySQL 数据库 程序员 面试

APP为什么用JSON协议与服务端交互:序列化相关知识

程序员啊叶

Java 编程 程序员 架构 java面试

手摸手实现Canal如何接入MySQL实现数据写操作监听

知识浅谈

MySQ 7月月更

从通信延伸到全行业,亚信科技AntDB 7.0蓄势待发

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

官宣,又一上市公司杀入数据库市场

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

不会多线程还想进BAT?精选19道多线程面试题,有答案边看边学

程序知音

Java 多线程 面试题 后端技术 BAT面试题

专访亚信科技张桦:AntDB面向企业核心业务支撑的数据库产品

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

微信公众号借助小程序云函数实现支付功能

Geek_24ed5f

签约计划第三季

在 Spring Boot 中使用 Dataway 配置数据查询接口

程序员啊叶

Java 编程 程序员 架构 java面试

重磅来袭!豆瓣评分9.9,万人血书的多线程与高并发v2.0版本

冉然学Java

编程 源码 高并发 线程池 多线程并发

闭关三月:整理出了这份对标阿里p7的java秋招面试必备指南。

程序员啊叶

Java 编程 程序员 架构 java面试

即时通讯-改变社交与工作状态的新型软件

WorkPlus

数据中台建设(四):企业构建数据中台评估

Lansonli

大数据 数据中台 7月月更

Rust P2P网络应用实战-1 P2P网络核心概念及Ping程序

李明

rust 网络 Libp2p

面试被问到 HashMap 底层原理?我有点慌.

程序员啊叶

Java 编程 程序员 架构 java面试

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