敏捷软件开发ASD-03-结对编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
敏捷软件开发ASD-03-结对编程

? Williams/Kessler 2004 结对编程: 不同的体验 Laurie Williams North Carolina State University Robert Kessler University of Utah 结对编程 这不是结对编程 内容 结对编程的历史和研究成果 采用结对编程 结对编程的实践问题 结对编程的其他问题 一、结对编程的历史和研究成果 结对编程: 回顾1945 结对编程: 回顾1963 结对编程: 回顾1995 结对编程: 回顾1996 结对编程: 回顾1996 结对编程: 回顾1998 结对编程: 回顾1999 研究发现 工业中的轶话 我们可以在不到一半的时间内产生几乎无缺陷的代码 实验研究 结对编程可以产生更高质量的代码 减少15%的缺陷 结对编程可以在几乎一半的实践内完成任务 平均只需58%的时间 绝大多数程序员开始时都不情愿应用结对编程 92%的人开始乐于结对编程 96%程序员队他们的产品更加自信 2 采用结对编程 2.1 结对编程的激励效应 相互督促(Pair-Pressure) 自觉地将注意力集中在工作任务 不想拖同伴的后腿,不想被同伴看扁 有利于共同遵守规定的过程和标准 Parkinson’s Law Work expands to fill all available time. 临时抱佛脚 相互协商(Pair-Negotiation) 分布式认知理论: “Searching Through Larger Spaces of Alternatives” 具有共同的目标和计划 为任务带来不同的经验 对任务相关信息的不同获取方法 必须协商出一个共同的活动 结对编程的激励效应 相互鼓励(Pair-Relaying) 反过来,每个都贡献出最好的知识和能力 然后,坐回去,在同伴继续战斗的时候思考 拥有一个搭档就等于拥有了超级鼓励者 相互审查(Pair-Reviews) 持续设计和代码审查 最终提高缺陷消除效率 消除了程序员对代码审查的抵触心理 80%的(单独)程序员都偶尔甚至不审查代码 四只眼胜过两只眼 结对编程的激励效应 相互排错(Pair Debugging) 向其他人解释你的代码是一种有效的调试技巧 人与人之间的问答有助于揭示问题的本质 相互学习(Pair-Learning) 持续审查 ? 向同伴学习编程语言和应用领域方面的技巧、知识 对别人的软件进行分析和挑刺是一种最好的学习方法 学徒(我们将在“软件工艺”中讨论这个问题) 相互信任(Pair-Trust) 搭档之间必须相互信任 这种信任极大的增强了团队的凝聚力和团结精神 2.2 转向结对编程 向结对编程的转变必须是自愿的!!! Green and Hevner (SEI Research) 在下述几种情况下,开发人员更愿意接受软件开发技术的创新: 在何时使用新技术上具有更大的选择权 在如何使用新技术上具有更少的过程控制权 管理者鼓励试用新技术 新技术增加了对工作的预见性 转向结对编程 给管理者的忠告 强迫开发者转向结对编程将破坏你与他们的关系 寻找一个关键人员尝试结对编程,如果他接受了,可以将经验和认同感传播出去 当关键人员可以共享他们的经验时,着手进行结对编程的培训教育 允许大家自由讨论: 谁愿意试试结对编程 如何完成(建议慢一点,已降低忧虑和风险) 结对编程是否应该形式化 反馈机制 什么可以让他们相信结对编程对他们有利或者不利?需要多长时间证明? 3 结对编程的实践问题 3.1 结对编程中搭档的挑选 描述怎样处理不同类型的搭档 有利的搭档 专家-专家 专家-一般人 专家-新手 新手-新手 问题搭档 The Professional Driver Excess Ego Too Little Ego 没有问题的搭档 不同性别 不同文化 性格问题(外向、内向) Bob and Laurie – Expert/Expert Pairing /** * Composes and sends a message to Broker requesting that a * room be scheduled. * @param room - the room to be scheduled */ protected List scheduleRoom(Place room) { //set originating AID as the one from the agent AID fromAID = this.agent.getAID(); //set the destination AID

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档