限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

结对编程:肩并肩还是面对面

  • 2011-11-12
  • 本文字数:1124 字

    阅读完需:约 4 分钟

结对编程是一门敏捷软件开发的技术,其目的是让两个开发人员共同在同一个工作站上工作。关于结对编程所带来的好处已广为流传,相应的技术和方法也得到了广泛实践。然而,在进行结对编程时,最好的安排座位的方法又是怎样的呢?

通常的位置是肩并肩地坐,但这样存在着一些弊端,正如 Josh Susser 所说的那样:

尽管在多数情况下这样安排座位是一种很好的方法,但其并不符合人体工程学。首先,两个人都并非正对显示器,而是偏向显示器的边缘,在敲打键盘或观察显示器时,将会引起相互倚靠、懒散及扭头等情况的发生。同时,在不转动脖子的情况下,也很很难看清自己的搭档。即使桌子较宽,有足够的空间给键盘和鼠标,同样会存在拥挤、调整桌面和椅子所带来碰撞等问题。

另外一种方法就是面对面地进行结对编程。这种变通的方法看上去就像下图中阴影部分所表示的那样。

按照 Josh 的说法:

这样安排座位会更加舒服,结对的双方都能有更好的视角来观察屏幕,共同工作时还能非常容易的看到对方是一件非常有利的事情。结对双方坐的足够近,这样即使不提高嗓门也能够很容易地听到对方在讲什么。做了这样的调整后,一整天工作下来,我感觉比以前好了很多,脖子也不像以前那样难受了。

Brian 和 Corey对这种方法进行了尝试并取得了不错的效果。像 Brian 所说的那样,他最终还是倾向于用新方法取代传统的做法。

与在屏幕面前肩并肩地结对编程相比,我倾向于这种新的做法。我甚至认为这种方法比同时面对两个并排放置的屏幕,使用两套鼠标的方法还有效。工作变得更加自在,交流也变得更加充分。可以更容易地看清另外一个人的肢体动作。可以更加容易地终止编写代码、查找以及相互交谈。我发现人员状态的切换变得更加顺畅,光标将两个人的注意力在同一时间内聚集在一起的做法节省了大量时间。

Dave Smith 认为这种方法的出现并不稀奇,他在1980 年时就见过类似的做法,那时,两位计算机科学家相向而坐,放在他们之间的就是两台巨大的显示器。

Tim Ottinger 也尝试了这种布局,但是看起来不是很奏效。他提到:

我们只是做了下尝试。大家没有抵触这种做法,但我们感觉到彼此之间的联系没有以前那样紧密了,使我们不得不用鼠标来代替以前的手指来示意。这么做虽然看到了些效果,但更像是一种远程结对的体验。

这样的改进是否也存在着不足呢?

Josh 认为,在捕捉一些细微的动作上的确有些难度,比如在肩并肩结对时,可以很清晰地看到操控键盘的操作以及鼠标轨迹的移动。此外,这种做法在费用上也有所上升,因为需要更多的设备和场地空间。

不管这种做法从长远来看是否有效,但非常值得一试。 Davis W.Frank 这样评论到

我确信当这种方法被证明成功时,会有更多的人举双手赞成并广为使用。

查看英文原文: Pair Programming: Side-by-Side or Face-to-Face

2011-11-12 21:563735
用户头像

发布了 156 篇内容, 共 55.7 次阅读, 收获喜欢 7 次。

关注

评论

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

CloudQuery 如何实现云上数据导入导出

BinTools图尔兹

数据库 dba 国产数据库 运维开发

架构实战训练营模块三课后作业

Clarke

2021全国人工智能师资培训走进北理工,百度飞桨助力高校教师提升AI能力

百度大脑

人工智能 高校

鉴释人物 | 专访产品开发总监吴翔:DevSecOps的竞技之道

鉴释

敏捷开发 应用安全 软件安全 软件质量与安全

我们三岁啦!

鉴释

百度前端三面面试题全部公开,三面的最后一个问题令我窒息

前端依依

百度 面试 大前端 经验总结

工程师文化落地的几点思考

baiyutang

敏捷 敏捷开发 精益开发 精益思想 敏捷管理

六种主要服务器管理协议简单概述-行云管家

行云管家

行云管家 服务器协议 服务器管理

成为Linux大佬的学习之路-规划

学神来啦

Linux 运维 linux运维 linux学习

认识容器,我们从它的历史开始聊起

华为云开发者联盟

Docker Kubernetes 容器 进程

鉴释人物丨专访首席技术官陈新中:三十年磨一“鉴”, 打造静态代码分析行业标杆

鉴释

编译器 静态代码分析

51CTO专访|鉴释首席架构师刘新铭:让软件开发更安全、更高效

鉴释

编译器

如何使用 Kind 快速创建 K8s 集群?

尔达Erda

开源 云原生 k8s PaaS kind

图灵奖得主Judea Pearl谈机器学习:不能只靠数据

百度开发者中心

机器学习 最佳实践 方法论 文化 & 方法 其他

我们该如何应对日益增长的安全债务风险?

鉴释

应用安全 代码安全

RTC月度小报5月丨教育aPaaS灵动课堂升级、抢先体验VUE版 Agora Web SDK、声网Agora与HTC达成合作

声网

月度小报 行业深度

鉴释课堂丨编译器技术入门知识一网打尽

鉴释

编译器 编译器原理

鉴释×中科院计算所丨OS2ATC 2020精彩回顾

鉴释

开源 操作系统

鉴释人物丨专访首席科学家李隆: 重一步业务逻辑验证,省百步漏洞补缺

鉴释

业务逻辑 漏洞修复

论工作几年深陷业务代码的程序员如何实现自我提升

北游学Java

Java 程序人生

围观|解读新一代企业数字化架构的“三驾马车”

尔达Erda

开源 DevOps 云原生 数字化转型 数字化

第八周作业——知识星球内容管理功能

小夏

产品经理训练营 邱岳

揭秘百度微服务监控:百度游戏服务监控的演进

百度开发者中心

云计算 微服务 最佳实践 方法论 云原生

直播回顾丨鉴释首席架构师刘新铭为您解读“第一性原则”

鉴释

软件开发 代码质量 软件质量与安全

即时通信 IM 产品怎么选? 本文超详细解说,马住!

腾讯云音视频

鉴释×RT-Thread丨2020 RT-Thread开发者大会精彩回顾

鉴释

操作系统 物联网

性能测试误差对比研究(一)

FunTester

性能测试 接口测试 测试框架 误差分析

【报名】百度EasyDL研讨会:揭秘智能化硬件AI应用的技术难点与行业落地

百度大脑

人工智能 智能化

性能测试误差对比研究(二)

FunTester

性能测试 压测 接口测试 测试框架 误差分析

fil价格今日行情?2021年fil币预估价格多少钱一枚?

区块链 分布式存储 IPFS fil价格 fil预测

创业邦专访丨兼容国内外市场的代码分析软件,鉴释科技帮助企业减少bug发生率

鉴释

创业公司

结对编程:肩并肩还是面对面_研发效能_Vikas Hazrati_InfoQ精选文章