1、配套设施
两个人,一台电脑,一个人敲键盘,另一个人在旁边协助。协助包括检视代码、分析是否有未处理的边界、思考是否有更合理的实施方案等等。
2、人员搭配
最好是进行高低搭配。高低搭配,指的是技能高的与技能低的搭配,业务知识丰富的和业务知识贫乏的搭配,当然了也不要走极端,低也要低的有个限度,呵
呵。结对除了是为了结对完成任务,提高效率与质量之外,另一个作用就是提高团队的整体能力,在结对过程中,结对双方可以互相学习以提高彼此的能力。在项目
之间经常变换结对的配对人员更有助于团队的整体能力,不大建议在一个项目中的各个迭代中变换结对的配对人员,因为这样子做结对的效果就闭不了环,比如说上
一个迭代中A与B结对实现了某个功能,然后这个迭代中A与B不再结对,各自和其它成员结对去了,这时上个迭代中A与B实现的功能出现问题了,假如让A来解
决这个问题的话,那么B就失去了对问题为什么会出现、以及如何去解决问题进行总结、学习的机会,这样B以后还可能会出现类似的问题,因为他不知道他错过。
3、心态
心态要Open。在结对过程中,如果觉得对方的方案或者设计不太合理,那么一定要大胆地提出来,即使最终可能自己是错的也要指出来,在经过双方的讨论与确认后,才可以Go on,切忌那种认为无所谓,能够完成任务就行的做法,或者那种不好意思指出对方错误的做法,因为这样子对于对方(如果对方是错的)或者自己(如果自己是错的)来说都少了一次学习与提高的机会,另外这样子也许会让问题暂时沉淀下去并让加大后续解决这个问题的成本。以前曾经在结对过程中做过这种不好意思指出对方错误,担心让对方难堪的事,结果经过几个版本,发现在那时的基础上再添加功能非常困难,这时只好推到重来,进行大量的重构,哎,出来混总是要还的。
4、先完成功能,再优化
相对于那种进行详细地预设计后再实施编码的方式,我更喜欢先把功能实现出来,然后再进行优化。这不是说不做任
何设计就进行编码,而是说在进行简单设计后就可以实施编码,做出一个雏形后,再对代码进行重构,这种方式效率可能更高,有个实在的东西放在那儿给你借鉴,
你更容易挑出毛病,往往只有在实施过程中你才能发现一些在空想中没有考虑到的问题。
5、结对是两个人的事
结对时,如果结对双方技能(包括技术能力与业务能力)相差比较大时,注意不要让结对演变成一个人的活动:技能高的人一个人在那完成功能,技能差的人在一边晾着插不了手。这时实施结对的过程更应该注重“互动”,可以由技能高的人先讲解下实施方案, 然后由技能低的人来编写测试用例(UT),这样可以增加技能的人对方案、业务的理解,然后再由技能高的人来实施编码,最后由写测试用例的人来跑测试代码,通过这种方式可以将技能低的人培养起来,也完成了任务,虽然这时的效率会变低,但从长远利益来看是值得的,因为提高了项目组成员的技能水平。
分享到:
相关推荐
"结对编程——敏捷开发" 结对编程(Pair Programming)是敏捷开发(Agile Development)中的一种实践方法,它是指两名开发者坐在一起,共享一台电脑,共同编写代码的过程。 结对编程的优点: 1. 提高代码质量:...
### 敏捷项目管理——敏捷石蕊测试 在当今快速变化的商业环境中,敏捷方法论因其灵活性和响应性而受到广泛推崇。对于那些希望确保自己的项目遵循敏捷原则的人来说,“敏捷石蕊测试”提供了一套简单而实用的标准。...
【敏捷模式介绍:Spotify的大规模敏捷之路——使用一种新型的矩阵组织:部落、分队、分会和协会】 Spotify的敏捷实践展示了如何在大型组织中维持敏捷开发的灵活性和效率。他们采用了一种名为“部落、分队、分会和...
软件工程经典书籍之——敏捷软件开发:原则、模式与实践
在当前的商业环境中,"敏捷时代——营销人生存指南"为我们揭示了在快速变化的市场环境中,营销人员如何适应并成功导航的关键策略。敏捷方法,原本源于软件开发领域,如今已被广泛应用于各种行业,包括市场营销。这个...
敏捷软件开发——中国史
"ThoughtWorks文集II——敏捷实践的秘密"是该公司分享其在敏捷开发领域的深入理解和实践经验的集合,旨在帮助读者深入了解如何有效地实施敏捷方法并从中获益。 在敏捷开发的世界里,核心理念是迭代和增量式开发,...
SAP Business One中文版培训教材——敏捷系统管理
敏捷制造 成长应用——中小企业信息化之路.pdf
软件项目快速开发方法——敏捷开发 软件项目快速开发方法——敏捷开发是当前软件项目开发中的一种非常重要的方法论。它强调以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目...
本资源“夏敏捷Python课程设计——代码(全部).zip”提供了丰富的Python编程实践项目,涵盖了多个主题,旨在帮助学习者深入理解和掌握Python的核心概念及高级特性。 1. **Tkinter图形界面应用**: - Tkinter是...
我们的敏捷之路.pptx
敏捷开发的具体实践包括极限编程(XP),其中包含了完整团队、计划游戏、结对编程、测试驱动开发等方法。例如,完整团队是指所有项目参与者,如开发人员、业务分析师和测试人员,共同协作;计划游戏则是指通过定期的...
全网智能 敏捷安防——视频监控解决方案
敏捷软件开发——原则、模式与实践 第二部分
《Web开发敏捷之道——应用Rails进行敏捷Web开发,第2版》是一本深入探讨使用Ruby on Rails框架进行高效敏捷Web开发的专业书籍。该书通过理论与实践相结合的方式,旨在帮助开发者掌握Rails的核心概念和最佳实践,...