硅谷流行“结对编程” 分享办公时代悄然来临

  

  结对编程的坚定支持者Facebook程序员肯特--贝克(腾讯科技配图)

  腾讯科技讯(马乔)北京时间8月28日消息,据国外媒体报道,英国著名女作家弗吉尼亚•伍尔芙(Virginia Woolf)认为,一位女作家应该拥有一个属于她自己的房间。而在美国硅谷,部分科技公司则对程序员是否需要属于自己的独立工作空间表示质疑。

  这些公司正在推行“结对编程”(pair programming)工作方式,即两个人共享一个办公桌和一台电脑。其中的一个人是“驾驶员”,负责控制键盘和输入编程码;另外一个人则是“导航员”,负责监控设计和扫描漏洞。

  结对编程有优势

  包括Facebook和移动支付初创企业Square在内的科技公司都非常喜欢这种“结对编程”模式,因为它能够充分发挥结对工作优势,比如结对程序员能够发现可以导致巨大损失的软件漏洞,而且浪费时间上网的情况也比较少。

  Facebook程序员肯特•贝克(Kent Beck)表示:“结对程序员之间的交流非常充分,你甚至可以再也不用言语进行交流。你只要简单描述再结合着手势就可以。”贝克是结对编程的坚定支持者。

  然而,这只是一种理论上的可能,实际效果如何还需检验。总部位于旧金山的在线学习初创企业Grockit的前任程序员威尔•萨金特(Will Sargent)就从来没有与其结对程序员达到过这种默契程度。萨金特表示,他曾与一位对软件设计非常在行的程序员一起工作,但当他“驾驶”出现错误时,他的合作伙伴就会接管他的任务并修正这些错误。

  萨金特指出:“我从来就没有达到过他的那种水平。”萨金特于2010年离开了该公司。

  Grockit首席执行官罗伊•吉尔伯特(Roy Gilbert)表示,这种模式已经证明非常成功,他的程序员“正在继续推广这种做法。”

  彼此适应存问题

  如果说异性伙伴是这种结对工作模式的最佳组合的话,那么现实却更像是在上演一出永无休止的糟糕相亲闹剧。因为令结对程序员感到烦恼的事情也比比皆是:糟糕的个人卫生和进餐礼节,工作时把脚放在办公桌上以及咀嚼时发出的恼人声音等等。

  总部位于澳大利亚悉尼的软件公司Atlassian就在今年愚人节制作了一部名为“匙形坐姿”的模拟教学视频短片好好讽刺了“结对编程”这种工作模式。

  这部短片时长两分钟,其浏览量超过10万人次。在这部短片中,一个身形魁梧的程序员坐在另一位程序员的大腿上,并用手搂住后者的腰,两个人同时完成输入操作。解说员指出:“他们俩应该交换一下位置。谁也不想一直被人坐在大腿上。”

  结对编程开始流行还要追溯到肯特•贝克在1999年撰写的《Extreme Programming Explained》一书。根据书中记述,公司应该非常快速地发行软件,而且软件本身也应该在发行的过程中不断得到完善,而两人结对编程则可以更加快速的地实现这一点。

  上世纪八十年代,贝克曾与全球首个维基系统的开发者沃德•坎宁安(Ward Cunningham)同在一家软件公司工作,贝克在此期间迸发出了很多关于“结对编程”的想法。在坎宁安要求贝克检查一款软件应用的漏洞过程中,双方的合作关系逐渐形成。最终双方的合作关系发展得越发深入,两个人此后开始结对处理任务,因为这样做可以节省时间完成各自感兴趣的其他项目。

  坎宁安表示:“当我清晨来到办公室时,我做的第一件事就是要找到贝克。而下班时,我们又会一起走出办公楼开车回家。”

  在贝克离开这家公司后,两个人的结对编程合作才告一段落。

  贝克表示:“当我们的合作终止后,我就会想。‘今后当我感到疲惫或作茧自缚时,还有谁能够注意到呢?’我需要有人能够帮我走出困境。”

  发展趋势良好

  

  软件开发公司Pivotal Labs的结对编程程序员卡梅隆--坎迪夫和塞布丽娜--施泰德(腾讯科技配图)

  现在,结对编程模式发展得非常好。软件开发公司Pivotal Labs就让其175名程序员每天都以结对形式进行编程。一些程序员还有多个结对编程伙伴,他们每天都更换合作伙伴,实现了无序结对编程(Promiscuous Pairing)。

  而远距离结对编程还需要程序员通过互联网在同一个屏幕上进行操作。总部位于旧金山的Square就允许程序员选择他们认为合适的时间和方式进行结对编程。Square表示,该公司约有15%的全职结对编程工程师,另有约一半工程师偶尔从事结对编程。

  Square工程部经理扎克•布洛克(Zach Brock)指出:“在过了新鲜劲以后,结对编程程序员之间也会产生问题。”

  总部位于北卡罗来纳州达勒姆(Durham)的软件咨询机构Relevance Inc.的程序员杰米•凯特(Jamie Kite)就在近期遭遇结对困境后与其结对编程伙伴乔恩•迪斯泰德(Jon Distad)进行了一次深谈。

  凯特当时表示:“似乎我们在向完全相反的方向努力。我在全力以赴地往前赶,而你却在后面拖后腿。这到底是怎么回事?”

  两个人一起在白板上写出了各自解决问题的方案。迪斯泰德表示,他们最后达成了妥协。

  凯特称:“这与其他任何关系一样,如果你不讨论解决存在的问题,那么就很难进行合作。”

  产生厌倦情绪

  如果这种沟通方式无法解决问题,Relevance的结对编程程序员还可以求助于该公司的员工培训教练。其中的一位教练马克•菲利普斯(Marc Phillips)表示:“与很多老夫老妻一样,长时间从事结对编程的工程师也会产生厌倦情绪。”

  对于很多程序员来说,编程绝对是一项极富挑战性的工作。圣迭戈软件咨询公司Drive Current的首席技术官布莱恩•科库尔(Bryan Kocol)表示,该公司的一位工程师就喜欢在编码过程中大声说话。科库尔指出:“有些人就是有自言自语的怪习惯,而这样的行为却让其他人感到非常痛苦。”

  Drive Current的一位软件程序员乔恩•约翰(Jon St. John)表示,当他与更富经验的程序员结对编程时,他有时会感觉到对方非常固执己见,或者对方不给他完成想法的机会。他指出,越来越多的初级结对编程程序员可能都面临着同样的问题。

  科库尔要求该公司工程师每天至少进行三个小时的结对编程,但在实施两年后,他已经逐渐放弃了这种做法.

时间: 2024-08-08 06:10:06

硅谷流行“结对编程” 分享办公时代悄然来临的相关文章

3D互联网时代悄然来临

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 设想一下,你能够随心所欲地为自己创建一个形象,在虚拟世界中做自己在现实世界中想做而又做不到的事情-- 设想一下,你能够回到宋代<清明上河图>真实场景发生的现场,穿行人群之中,细细品味举止情态-- 就在人们还来不及消化掉传统互联网带来的冲击时,3D互联网时代已经悄然来临,以上图景便是通过3D互联网实现的. 这样的例子还有很多很多.&

5G时代悄然来临 安防行业制高点在哪?

2016年3月,工信部副部长陈肇雄在公开场合表示,预计2018年将完成5G国际标准的制定,2020年有望正式商用.工信部部长苗圩也在2016年的全球5G大会上公开呼吁推动形成全球统一的5G标准.5G时代或已悄然来临,对于5G--下一个万亿规模的战略性新兴产业,其标准决定了产业走向和市场格局,各个国家与企业积极加快对5G标准的部署和尝试,正是希望在这场大战中力求抢占产业和技术制高点,争夺话语权.安防行业在这场战争中有何挖掘呢? 物联网,5G技术最大的战场 物联网是通过各种信息传感设备及系统(传感网

“刷手机”时代悄然来临 手机支付呼唤国家标准

中国建设银行28日正式宣布将移动支付业务推向包括北京.宁波在内的11家试点分行,除了缴费.订票.在线购物等远程支付外,客户只需要将手机轻轻接触一下POS机,就可以在商场.超市"刷手机"完成消费.但由于目前可供近程支付的手机是特别支持NFC通讯的手机,因此专家认为,"刷手机"要想真正风靡起来,不论支付标准,还是手机都需要国家标准进行规范. 近年来,随着通信技术.电子技术和网络技术的飞速发展,移动支付受到国内外有关方面的高度重视,大力发展移动支付日益成为普遍共识,很多商

网真会议时代悄然来临

当今,人们对于电视会议都已经不再陌生,而对于"网真"这个概念对很多人来说都比较陌生.不过有趣的是,单单"网真"这一品类在今年9月3日召开的"中国(南京)国际软件博览会"上就有三家公司亮相.一进"软博会"的大门,迎面而来的就是思科网真实验室,以思科的影响力将网真放在如此醒目的位置,吸引了很多观众的眼光,也给观众做了一次网真技术的扫盲:作为一种全新的远程视频通信技术,网真技术(Telepresence)结合了在智能化IP网络.统一

“刷手机”消费时代悄然来临

目前局限 ■大多只实现了手机远程支付功能,本质上相当于 网上银行的手机版 ■商户受理也只局限在各家自己拓展的网络内,通用性不足,可供客户选择的应用有限 中国建设银行(601939)28日正式宣布将移动支付业务推向包括北京.宁波在内的11家试点分行,除了缴费.订票.在线购物等远程支付外,客户只需要将手机轻轻接触一下POS机,就可以在商场.超市"刷手机"完成消费. 但由于目前可供近程支付的手机是特别支持NFC通讯的手机,因此专家认为,"刷手机"要想真正风靡起来,不论支付

广告主与服务商力量反转 搜索营销的企业时代悄然来临

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 当太平人寿.携程网.大众点评网.今夜酒店等大广告主代表出现在2012年赢时代搜索引擎营销大会·上海站的演讲嘉宾名录里时,笔者隐隐约约中感觉到,广告主与服务商在搜索营销中的力量在发生转移. 赢时代负责人告诉笔者:从2004年赢时代的第一场全球搜索引擎营销大会至今,搜索营销行业早已摆脱了过去服务商自说自话,广告主一知半解的尴尬境况,如今的搜索营销

为什么结对编程并不那么受欢迎?

过去十多年中,笔者曾经与上百个开发团队共同合作,这些团队具有一个共同的特点就是:他们通常不会采用结对编程作 为软件交付的技术.其中一些团队会讨论结对编程并且认同这种理念,不过由于某种(些)原因,他们目前仍未采用结对编程.那么接下来的问题就是,是什么原因 导致他们不采用结对编程呢?在我个人的经验当中,采用结对编程和协作仍有许多障碍.许多团队合作(cooperate)的很好,但实际上并不是协作 (collaborate).因为协作基于信任,它是结对编程的关键环节之一. 结对编程是软件开发过程中所使用

高效的面试方式:结对编程

导读:面试是技术研发企业永恒的话题.什么样的面试方式才是最高效的?资深Java程序员Rod Hilton 5月27日在博客文章Different Kind of Technical Interview中介绍了他们公司的做法:结对编程.此文在Reddit上引起了强烈反响. 结对编程面试场景,其中两个屏幕是互为镜像的 有一定职业编程经验的人一定都知道,业界标准的面试模式大致如此:进入面试房间后,给你一个白色写字板(国内用纸卷做题应该也很常见),让你在上面写出每个问题所对应的代码. 这样的面试大家都会

再认识结对编程

摘要 结对编程是敏捷软件开发中的重要实践活动,然而国内业界对结对编程如何提高软件开发效率的实现并不明确.作者根据亲身敏捷软件开发过程的经验,深入探讨了其对提高软件开发效率的实际作用.   正文 结对编程是极限编程(XP)的十二个实践之一,是指两位程序员肩并肩地坐在同一台电脑前合作完成同一个设计.同一个算法以及同一段代码,并且两人的角色可以随时互换.XP认为结对编程能提高软件开发效率,很多国外软件企业都在热衷于结对编程,Facebook程序员肯特•贝克(Kent Beck)表示:"结对程序员之间的