- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                极限编程中结对编程不良现象分析及对策
                    极限编程中结对编程不良现象分析及对策
    摘要:结对编程是极限编程的特色实践之一。在极限编程活动中,对于中国学生,结对编程是组织难度最大的活动。为了更有效地组织结对编程,文章分析以往团队成员所出现的一些不良现象,并探讨可行对策,为大学软件实践教学和软件业者从事极限编程提供参考和指导。 
  关键词:结对编程;极限编程;敏捷软件开发;人为因素 
  0 引言 
  结对编程(pair programming)是极限编程(XP,eXtreme Programming)和敏捷软件开发方法学的特色实践之一。对于我国学生,组织极限编程活动,采用结对编程方法,有助于沟通能力、口头表达能力的培养,有助于相互学习、相互支持,有助于团队协作能力的培养,有助于提高软件质量和开发效率。因此结对编程实践具有非常重要的意义。 
  笔者详细分析了结对编程中学生所表现出来的不良现象,并针对这些现象给出相应对策,以改进极限编程活动的效率。 
  1 结对编程的不良现象 
  一个项目团队成功或失败的关键原因往往不是技术因素,很多非技术的人为因素在起作用。极限编程活动中,如何组织结对编程就是非常突出的人为因素。笔者曾参与德国波恩大学2届XP活动,在国内组织了4届XP活动。活动中发现传统软件工程中的一些习惯做法,以及学生的一些习性,导致活动中出现了一系列问题,在价值观、团队行为等多个方面都产生了明显冲突,导致结对编程在国内“水土不服”。 
  冲突1,传统软件工程中,往往先划分模块,然后个人对模块负责。这种做法看似责任明确,但实际上,项目依赖每个成员,当某个成员离职,该模块就无法维护,导致项目风险增大。此种做法与极限编程所倡导的“代码集体所有权”违背。 
  代码集体所有制,即每个人都是项目中所有代码的受益人,同时也是责任人。每个人对所有代码负责,而不是仅对自己编写的代码负责;每个人要对所有代码的将来的维护负责;而不是仅对当前运行负责;每个人提交的代码都属于团队,允许他人质疑、修正、重构,甚至抛弃重建。 
  国内学生大多过度关注个人能力和个人成绩,而往往忽略团队能力和团队成绩,他们往往倾向于独立研究解决问题。独立学习能力往往作为衡量学生个人能力的标尺,从小学到大学的教育都如此,根深蒂固,短时间内难以改变。 
  冲突2,传统软件工程中,多人分别完成任务,看似并行工作,效率应该更高,但实际上返工较多。原因是个人独立完成一个模块的设计、编程和测试,实际上往往导致需求误解多、缺乏设计合理性、缺乏测试完备性,最后导致软件质量达不到要求,项目开发效率降低。 
  国内学生常常质疑这样的问题,两个人用一台电脑编程,怎么可能比两人用两台电脑并行编程更有效? 
  结对(pair)是最小的团队。结对编程要求两人自由组成一个结对来完成一项任务,要求坐在一起用一台电脑。两人分别扮演两个角色:正驾driver和副驾co-driver或领航员,就像汽车拉力赛中两人共同驾驶一部汽车。正驾操键盘,负责编码,副驾掌鼠标,负责指导方向并做代码审查;正驾注意力往往集中在最邻近目标上,如前方400米之内的具体目标,而副驾能借助地图(如模型或文档)来指导更长远目标。两人不断沟通交流,密切协作,共同抵达目标。 
  两人每小时休息一次并更换角色,直到一项任务完成,任务完成之后,结对解散,对新的任务再组织新结对。一个项目完成后,每个人都应与其它成员至少结对一次。 
  对于一个项目团队来说,最理想情形是,一个人的成功经验就是整个团队的经验,一个人在某个地方失败或走弯路,整个团队都不会再出现。 
  冲突3,传统软件工程教育中,指导教师或项目负责人往往要起过分重要的权威作用。因为学生往往只关注老师如何评价,而往往忽视团队其他成员的意见或建议。当团队成员之间出现错误或不一致,就难以协调自行解决问题,除非指导教师干预。极限编程中,尊重是极限编程核心价值观之一。要尊重每个人的意见,而不仅仅是教师或项目负责人。 
  2 不良现象分析及对策 
  文章就结对编程活动中成员所出现的7种不良现象进行分析,并给出相应对策。 
  1)高手单驾,副驾休闲。 
  编程能力强的学生往往倾向于单独行事,高手单独驾车,很忙很累,而副驾无事可做,导致人力资源浪费。解决对策是坚持每小时更换角色,共同驾驶,共同抵达目标。个人能力有高低差异,高手有责任主动介绍经验和技能,把更多机会给另一方,另一方应主动提出问题,寻求解决,主动驾驶。 
  2)事后证明。 
  副驾不同意正驾选择或未达成一致,正驾就独自到达目标,先造成即成事实,“一夜之间”独自解决难题,以此证明自己正确高明。这样对另一方可能造成潜在矛盾,并未达到结对编程之目的。解决对策,副驾作为领航,应先决定做什么,正驾再执行。 
  3)成功自尊。 
  很多学生只希望别人
                您可能关注的文档
最近下载
- SY-BA-27-2011整车100%正面固定刚性壁障碰撞试验规范.doc VIP
- 战旗五村乡村振兴规划.pptx VIP
- 第9课《走向世界的中国标志》教学设计浙人美版初中美术八年级上册.docx VIP
- 《中国铁路运输辉煌:各大铁路局概述》课件.ppt VIP
- 第9课《走向世界的中国标志》+课件-2025-2026学年浙人美版(2024)初中美术八年级上册.pptx VIP
- 市第一人民医院检验检查结果互认制度.docx VIP
- 植物生理学课件(王小菁-第8版)-第二章-植物的矿质营养.pptx VIP
- 高校教师岗前培训试题库及答案.docx VIP
- 植物生理学课件(王小菁-第8版)-第一章-植物的水分生理.pptx VIP
- T/DZJN 121-2022蒸烤一体集成灶.pdf
 原创力文档
原创力文档 
                        

文档评论(0)