敏捷开发模型实践之交换编程.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文档。上传文档
查看更多
敏捷开发模型实践之交换编程 大纲 传统编程组队模式 结对编程的应用与感受 交换编程的产生与提出 交换编程的定义 交换编程的实施方式 优劣势分析 多种模式的结合应用 传统编程组队模式 传统编程组队模式 单人编程 顺序执行 优点 符合人的正常思维习惯 传统编程组队模式 劣势 人员变动风险 团队融合风险 …… 结对编程的应用与感受 结对编程的应用与感受 双人编程 同一任务 同一机器、鼠标、键盘…… 优点 增加内部知识和经验的交流 提高工作效率 注:上图来自TW公司的材料 结对编程的应用与感受 下面的表格是完成相同的四个程序,独自工作和Pair工作使测试案例成功通过的百分比。 这是1999年,犹他州立大学(University of Utah)做了一项试验。.两组学生,一组独自工作(一共13人),一组Pair(一共28人,即14对)。他们完成相同的任务(由助教预先设计和开发了测试案例)。 注:上图来自TW公司的材料 结对编程的应用与感受 还查阅到一些论文在实践的基础上提出了相反的观点,如Hanna Hulkko Pekka Abrahamsson的研究就认为结对编程在与单人编程对比的时候并不能始终保持更高的效率和更高的质量。 “They indicate that pair Programming may not necessarily provide as extensive quality benefits as suggested in literature, and on the other hand, does not result in consistently superior productivity when compared to Solo Programming. ” 引自:Hanna Hulkko Pekka Abrahamsson, “A Multiple Case Study on the Impact of Pair Programming on Product Quality”, ICSE’05, 495-504, May 15–21, 2005. 结对编程的应用与感受 劣势 给人浪费一个人力的感受。 结对编程的应用与感受 劣势 给人浪费一个人力的感受。 没有数据表明Pair相当于两个Solo的效率(2006年10月从IEEE检索到的两百多篇敏捷开发相关的学术论文涉及到结对编程部分的73篇论文里面得到的结论)。 Pair需要三个月的适应期(来自2006年中国敏捷开发者大会TW的CEO的发言)。 交换编程的产生与提出 交换编程的产生与提出 2002年4月到7月某公司内 部ERP系统开发中的结对编 程实践 Pair 4天=solo 2个星期 2002年11月到2003年3月中国电信MSS系统第一次交付前的版本开发中采用了交换开发的方式。 2006年正式提出了交换编程的概念,并做出了定义。 交换编程的定义 交换编程的定义 两位或者多位程序员轮流开发同一个软件系统的同一个模块的不同阶段的任务。 交换方式 两两交换: A1的开发内容交给A2,A2的交给A1,他们都不交给第三个人。 轮流交换:例如:A1的开发内容交给A2,A2的交给A3,……,An的交给A1。 交换编程的定义 交换方式 两两交换: 交换前: 交换后: 交换编程的定义 交换方式 轮流交换: 交换前: 交换后: 再次交换: 交换编程的实施方式 传统开发方式下的实施方式 阶段 交换模式 说明 需求调研 N/A 起始阶段,不需要考虑交换 需求分析 轮流交换 概要设计 轮流交换 详细设计 轮流交换 编码实现 两两交换 交换编程的实施方式 UP/全程建模的实施方式 优劣势分析 优劣势分析 开发时间“浪费”不明显; 项目组稳定性提高; 优劣势分析 优劣势分析 开发时间“浪费”不明显; 项目组稳定性提高; 更适合没有绝对高手的团队; 团队内交流增加; 唯一可能的劣势:单一工件看开发周期会比一个熟练的技术人员完成此工件开发的周期略有延长。 多种模式的结合应用 多种模式的结合应用 结对编程与交换编程混合使用; 单人编程与结对编程、交换编程的混合使用。 多种模式的结合应用 多种模式的结合应用 序号 对比项 单人编程 交换编程 结对编程 交换编程 + 结对编程 说明 1 开发时间看上去的浪费感觉 无 无 有 有 感觉上结对编程会浪费一个人力 2 人员离职对项目的影响 可能造成某些模块而无人能够承接,必须从头开始 最多只需要从前一阶段结束的时候开始就可以了。 可以继续进行,基本上不受影响 可以继续进行,基本上不受影响 3 人员添加对项目的影像 需要安排人来指导,对项目影响较大 在不同阶段加入新人

文档评论(0)

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

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

1亿VIP精品文档

相关文档