用户名 密码 联盟服务 关于我们 联系方式 收藏本站
返回网站首页 PgMP认证,美国项目管理协会高端项目管理认证!大型项目与项目群管理Program Management全球权威认证


网站登录:会员 企业 专家 服务商
企业服务:PMP培训  内训课 公开课
工 具 箱:发表文章 提问题 发案例
首页动态 | 文库 | 下载 | 书架 | 访谈 | 专栏 | 专题 | 人才 | 培训 | 软件 | PMC 互动:活动 | 案例 | 问答 | 论坛 | 博客 | 圈子 
应用:基础工程软件制造活动研发  认证:PMPNPDPACPPgMPIPMPP2ISPMPIMCP建造师MPM  特色:热点奖项

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

敏捷项目管理ACP认证培训
国际产品经理NPDP认证

敏捷开发之结对编程最佳实践

作者:佚名   提交人:项目管理者联盟[项目管理者联盟]   属性:提交人转载   发布时间:2016/3/3   点击:1297   【收藏本文

  讲到结对编程,我想大家首先想到的是XP极限编程中描述的,两位程序员并排坐在一台电脑前,面对同一个显示器,使用同一个键盘,同一个鼠标一起完成编码工作。这种编程方式为众多敏捷爱好者所向往,但实际工作中尝试采用的却寥寥无几,究其原因:喜的是它可以提高代码质量,增进沟通,并起到传帮带的作用;忧的是它需要投入更多的资源,灵活性不强。结对编程和传统编程模式有着很大不同,对程序员的能力也有着更高的要求,要求结对双方高度集中注意力,保持步调、思维一致。转自项目管理者联盟

  如何做才能既享受结对编程带来的好处,而又能有效的避免相应的影响呢?本文阐述了实际项目过程中的一些结对编程的实践活动,希望可以给读者一定的启示。项目经理圈子

  1、结对认领任务项目管理者联盟

  项目启动后,开发人员两两结对,共同认领开发任务,作为owner,他们相互协作,一起对所承担的开发任务负责。在需求理解、设计阶段双方一起设计和讨论,编码阶段独立实现。对过程中发现的问题,随时进行沟通和讨论,通过这种小范围、高效的沟通,解决项目中的绝大部份问题。从而,实现更高的开发效率和代码质量。PgMp.mypm.net

  结对成员一般由一位能力强、经验相对丰富和一位相对欠缺的工程师配对,能在一定程度上形成互助、互补;结对小组认领的任务模块在不同迭代中进行交替轮换,让项目组成员对项目的所有模块功能、代码都比较的熟悉,提升开发团队的战斗力。项目管理论坛

  通过结对认领任务的活动,结对成员在需求理解、设计思路上充分的沟通和讨论,尽早的发现和解决问题,避免因需求理解偏差、设计问题造成返工。对于新员工或经验稍微不足的开发人员,通过经常性的沟通和讨论,能迅速的进入角色并积累经验,发挥了传帮带的作用。此外,结对成员之间互为backup,当有一方因故资源不能保证时,另一方就能非常顺利地接手遗留下来的任务,减少项目风险。

  2、交叉单元测试training.mypm.net

  我们知道单元测试是众多敏捷实践的基石,无论是重构还是持续集成都离不开单元测试。因此,如何做好单元测试就显得尤为重要。在实际项目过程中,我们会更多关注功能实现的进度和质量,而忽略了对单元测试完成情况及质量跟进。项目管理者联盟

  交叉单元测试活动指的是结对双方对共同认领的开发任务进行更进一步的分工,一方负责某些任务业务功能的实现,另一方就负责完成对应功能的单元测试。每个人在项目中既会承担功能实现部分,也会承担单元测试部分,通过任务墙上的小卡片分别对这两部分任务进行进度跟踪。bbs.mypm.net

  相比传统的一个人同时负责功能实现和单元测试,交叉单元测试可以加强大家对单元测试的重视程度,提高单元测试的覆盖率,同时在编写单元测试过程中,必然会去了解对方的实现代码,这样也能尽早发现业务逻辑、代码设计上存在的问题。blog.mypm.net

项目管理者联盟

  3、交叉代码审查项目管理者联盟

  通过代码审查(code review),可以帮助我们提高代码质量和编码规范。交叉代码审查活动,是代码审查的一种组织形式,结对双方在完成或部分完成编码和单元测试后,相互交叉审查对方在本次迭代中所实现的所有代码,以发现代码中的编码规范及业务逻辑问题或潜在隐患,并且确保提出的问题得到妥善解决。bbs.mypm.net

  其他常见代码审查形式有很多种:比如集体review,组织项目成员一起到会议室,一人通过投影仪展示并讲解自己写的代码,其他成员一起寻找代码中可能存在的问题,并由专人记录所发现的问题,会后发出代码审查报告并安排修复解决。我们早期也曾多次采用这种方式来做代码审查,但总体效果不太理想,所发现的问题多数是编码规范上的,而很难发现深层次的业务逻辑问题。究其原因,大家认为review过程中思路跟不上讲解代码的人,且容易走神,所耗时间长而效果不佳;再有一种,项目组成员分头review,审查本迭代中除自己提交以外的代码,这种review形式工作量较大且没有重点,容易遗漏。项目管理者联盟

  相比上述的代码审查形式,交叉代码审查由于结对双方在需求理解、设计编码阶段就有充分的沟通和讨论,对所需审查代码的业务逻辑较为熟悉,并且审查的代码和文件相对明确且数量适当。因而,交叉审查可以使review更加充分和细致,更重要是可以根据自己的时间安排随时开展,表现出更灵活、高效的特点。项目管理者联盟

  在做代码审查时,可以结合一些工具,比如Jupiter,ReviewClipse等eclipse插件,简单方便的提交、跟踪和解决审查的问题,提高代码审查效率。目前,我们结合团队的需要,采用自己开发的review工具Tala(现已release了第一个版本,正在技术团队中试用,后续也会考虑开源)。我们用此工具记录review中发现的问题,不仅可以方便跟踪,还可以按项目、问题类型等维度进行统计,通过定期的问题回顾,避免一些典型问题重复出现。工具主要视图如下:项目经理博客

项目管理者联盟

  上述活动为我们正在尝试的结对编程实践中的三个重要活动,我们认为通过这些活动,可以有效的避免了XP中结对编程投入成本高、约束性大(需双方同时集中精力)等问题,同时,又获得了结对编程带来的好处,主要有如下几点:www.mypm.net

  1)、提升代码质量;项目管理者联盟

  2)、通过充分的沟通和交流,成员间起到传帮带的作用;项目管理者联盟

  3)、互为backup,减少产品(项目)风险;PgMp.mypm.net

  读到这里,可能很多读者会有一个疑惑,那什么样的开发人员适合结对呢?并非所有的人都适合做结对,至少参与结对的开发人员应具备独立思考和解决问题的能力,并且具备较好的团队协作意识。否则,不仅不能带来结对的好处,反而引起一些新的问题。bbs.mypm.net

  敏捷的实践不尽相同,没有什么实践活动可适用于所有团队,我们需要根据实际情况和客观条件,选择适合的实践活动,并在实践中不断的改善和调整,形成自己团队的最佳实践。本文所阐述的结对编程最佳实践亦是如此,我们认可的最佳实践也许未必适合你的团队,但我们希望通过本文可以给大家带来一些新的思考和尝试,相信通过你的努力,同样可以找到你的最佳实践。最后,欢迎广大敏捷爱好者联系我们,共同探讨敏捷项目管理实践。项目经理博客

  ps:最后非常感谢建法对此文的审阅和修订。项目管理者联盟

pmp.mypm.net


<<上一页 1 下一页>>
项目管理者联盟PMP认证中心
[相关文章] [网友互动]
·想在敏捷开发中提升用户体验,你. (1947)项目管理者联盟07-27
·敏捷开发人员生存指南 (2470)项目管理者联盟06-10
·如何高效地进行敏捷开发管理 (2901)项目管理者联盟09-14
·敏捷开发的常见误区之二:敏捷需. (3362)项目管理者联盟05-12
·敏捷开发的常见误区之一:你有没. (6629)项目管理者联盟05-12
·敏捷开发的五大优点 (1536)项目管理者联盟05-12
·敏捷开发中如何做好质量管理? (3158)项目管理者联盟05-12
·软件定制开发中敏捷开发的步骤 (3300)项目管理者联盟05-12

05-19[帖子] 敏捷开发—大型项目团队的持续快速交付. (3073)
11-22[帖子] “敏捷开发”之白话篇 (8304)
06-19[日志] 敏捷开发十二原则 (892)
06-19[帖子] 敏捷开发十二原则 (17225)
01-15[帖子] 当深度学习遇上敏捷开发,会发生怎样的. (4292)
11-29[帖子] 9个月,回顾一下敏捷开发的得失 (6143)
10-11[帖子] 敏捷开发是一个坑吗 (5086)
09-27[帖子] 你如何理解ACP敏捷开发 (4139)
[发表评论]
本站热点
·从《PMBOK指南》第八版看项目经理角色
·国际项目管理奖项PMI(中国)项目管理大
· 华师大CTO学院:科创生态建设与创新项
·宏发电声江玫瑰谈PgMP:“下好一盘棋”
·PgMP:交付能力与创造未来的项目管理方
·开放讲座|《项目组合管理与PfMP认证》
·开放讲座|项目组合管理与PfMP认证
·开放讲座|PgMP:项目管理思维与方法论
·开放讲座|《项目组合管理与PfMP认证》
栏目说明
    《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑。须联盟会员且登陆后才能发表文章。
敏捷项目管理ACP培训
项目管理活动
活动QQ群:531390275
免费积累PDU,仅500人

2022年项目管理活动计划
2021活动精彩回顾
原创排行榜
 项目管理评论杂志 311 高扬 106
 乔东 100 项目管理 84
 高国伟 61 人月神话 60
 张为 59 郭致星 52
 蒋昕炜 46 肖杨 38
 曾伟强 37 潘德有 36
搜索文章
关键词:
行  业:
团 队   成 本   风 险   进 度
沟 通   采 购   质 量   合 同
更多>> 专题集锦

企业项目化管理

PMO实践与应用

如何处理项目客户关系

更多:
经理访谈
更多:
个人专栏

王树文

赵春明

高国伟

更多:
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
特刊下载:
2017合刊  2016合刊  2015合刊 
2014合刊  2010合刊  2009合刊 
2008合刊  2004合刊  2005合刊 
2006合刊  2007合刊       
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
更多>> 推荐文章
09-02·项目集管理:构想一种不同.
08-17·项目经理“催活儿”的正确.
08-17·建筑工程项目管理中施工现.
08-17·进阶项目经理必备的复盘方.
08-17·项目管理协会PMI发布新人才
08-17·互联网大厂项目经理面试的.
08-17·项目经理要如何提高自己的.
08-17·管理改进中几个确实有用的.
08-17·项目经理提升职场能力的20.
06-14·项目经理搭建团队,需要看.
06-14·5A学员董雏:PMP取证重要,
06-14·成功管理能源项目的技巧和.
06-14·拥抱敏捷—计划发布与冲刺
06-14·从PMP到PgMP :不畏浮云遮.
06-14·这30+项目管理工具,优秀项
06-14·深度剖析项目管理五大痛点.
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接

项目管理者联盟 版权所有 | 京ICP备10055250号-11 | 京公网安备 11010202009440号

如转载本站文章,必须于文章开头处注明转自“项目管理者联盟”,并注明原作者
PMI,Project Management Professional, OPM3, PMBOK, PMP,PgMP,PfMP,PMI-ACP,PMI-PBA
and the PMI Registered Education Provider logo are registered trademarks of the Project Management Institute, Inc.