资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
质量保证系列课件 敏捷项目过程介绍2011年3月Confidential 2010 iSoftStone Group. All Rights Reserved.21. 敏捷核心理念1.1 敏捷宣言 1.2.敏捷原则 1.3.敏捷理念 1.4.瀑布、迭代和敏捷的区别2.敏捷优秀实践3.敏捷流程介绍目录Confidential 2010 iSoftStone Group. All Rights Reserved.1.1 敏捷宣言3敏捷宣言本质是揭示一种更好的软件开发方式,启迪人们重新思考软件开发中的价值和如何 更好的工作。 我们认为左项具有更大的价值当然这并不意味着右项没有价值个体和交互过程和工具胜过可以工作的软件面面俱到的文档胜过客户合作合同谈判胜过响应变化遵循计划胜过Confidential 2010 iSoftStone Group. All Rights Reserved.1.2 敏捷原则41.我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 2.即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优 势。 3.经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间 间隔越短越好。 4.可以工作的软件是首要的进度度量标准。 5.在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 6.围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们 能够完成工作。 7.在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。 8.敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期 的、恒定的开发速度。 9.不断地关注优秀的技能和好的设计会增强敏捷能力。 10. 简单 使未完成的工作最大化的艺术 是根本的。 11. 最好的构架、需求和设计出自于“自组织”的团队。 12. 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后响应地对自己 的行为进行调整。Confidential 2010 iSoftStone Group. All Rights Reserved.敏捷 = 理念 + 优秀实践 + 应用理念 (核心思想)应用1.3 敏捷理念优秀实践 (经验积累)5Confidential 2010 iSoftStone Group. All Rights Reserved.1.3.1 Value:聚焦客户价值,消除浪费6Source:如何提升软件开发效率08年统计华为:研发版本废弃特性07.1-08.6年某产品线所有产品中重要特性无应用的比例达22%(需求变更和分析 不足占63%)软件业:45%的软件特性客户没有使用Source:Standish Group 来自5万个软件开发项目的调查可以工作的软件面面俱到的文档胜过客户合作合同谈判胜过Confidential 2010 iSoftStone Group. All Rights Reserved.1.3.2 Team:激发团队潜能,加强协作7团队是价值的真正创造者,应加强团队协作、激发团队潜能。软件开发是一种团队活动,首先应做到提升沟通效率降低交流成本。效率流行度文档录制的视频录制 的音频2人 邮件沟通2人 白板沟通2人 电话沟通不支持问答形式支持问答形式业界调查:50人团队,每人平均30%时间用于编码,70%的时间用于与其他成员交 流。需求变更降低比例补充场景数TR4前发现缺陷比例版本周期缩短(周数)无线49.36%8855.90%2.82核心网45%19045.18%3.5网络31%33042.5%2.6业软30%30048.15%2.1公司平均38.84%90847.93%2.76华为试点调查:开发测试拉通,效率质量改善明显个体和交互过程和工具胜过Confidential 2010 iSoftStone Group. All Rights Reserved.1.3.3 Adapting:不断调整以适应 变化8能够结合自身灵活应用才是真正敏捷,不断的根据经验调整,最终交付达到业务目标的产品软件开发是复杂不可预测的经验控制过程随软件规模增长,需求变化呈非线性增长响应变化遵循计划胜过Confidential 2010 iSoftStone Group. All Rights Reserved.1.4 瀑布、迭代和敏捷的区别9瀑布:开发模型重量级:所有需求统一步伐,全部分析完毕后再开始设计,全部设计完毕后再启动编码重过程:有明显的过程,每个过程不重叠,界线清晰 SRS、HLD、LLD、Coding、UT、IT、ST,开发完毕后集中转测试。迭代:开发模型中量级:需求分成多批,每批一轮迭代,每轮内都是小瀑布;每轮迭代出一个版本交付测试。没有明显的过程。敏捷:开发模式轻量级:需求分解成更小粒度,每个小粒度需求13天实现,并立即转测试。从瀑布、迭代到敏捷,是量变引起质变。(每轮迭代结束时出版本并不是测试的开始,更多的是开发和测试共同结束点)过程:在一个过程框架下,嵌入了很多敏捷实践,并由很强的原则进行约束。开发模式之外,更是一种思想、理念、文化!Confidential 2010 iSoftStone Group. All Rights Reserved.101. 敏捷核心理念2.敏捷优优秀实实践2.1.迭代开发 2.2.持续集成 2.3.Story驱动 2.4.站立会议 2.5.完整团队 2.6.可视化管理 2.7.结对编程2.8.TDD 2.9. RCA 2.10.演示 3. 敏捷流程介绍目录Confidential 2010 iSoftStone Group. All Rights Reserved.2.1.迭代开发11什么是迭代开发l迭代开发是将整个软件开发生命周期分成多个小的阶段(一般2-4周),每个阶段都开展需求分析、设计、实现和测试,每个阶段都可以生成一个稳定和被验证过的软件版本。l通过将高技术风险的需求在早期迭代里实现,有助于尽早暴露问题和及时消除风险。l通过提供功能渐增的产品,持续获得客户反馈,根据反馈及时调整,使产品更加符合客户需要。l确保每次迭代交付质量,避免形成技术债务,每一次迭代都必须建立在稳定的质量基础上,并做为下一轮迭代的基线,整个系统的功能随着迭代稳定地增长并不断完善。l每次迭代要邀请用户代表(外部或内部)验收,提供需求是否满足的反馈。l如果迭代周期已到,无论任务是否结束,也要求终止当前迭代,未完成任务放到下次迭代再做。迭代开发的好处迭代开发的关键点Confidential 2010 iSoftStone Group. All Rights Reserved.2.2.持续集成12l持续集成(CI)要求团队成员经常集成他们的工作,以验证新 合入的变化没有造成任何 破坏 ,通常每人每天至少集成一 次,每次集成通过自动化构建完成。l维护单一的代码配置库,每个人每天将对代码的改动提交配置库 。l实现构建自动化 - 自动的度量、检查和测试,减少了重复的人力 活动l持续集成要尽量快,最好快到5分钟内能完成本地构建,30分钟内 完成产品提交构建,8小时内完成每日构建。l持续集成的问题是项目组最高优先解决的问题。l构建成功率和频率是衡量CI效果的重要指标。l每个人都较容易得到最新可正常运行的软件。l持续集成实现“无事件”局面,尽早发现项目存在的问题,减少 返工。l降低风险,在缺陷引入的时候即被发现,缺陷容易修复l给频繁的应用部署提供帮助,随时都可能发布软件。持续集成的好处持续集成操作关键点什么是持续集成 Confidential 2010 iSoftStone Group. All Rights Reserved.2.3.Story驱动13Story驱动是指以Story为交付单元进行开发、测试、发布lStory是能够独立交付,能够被用户感知的最小需求lUserStory是Story开发的基准,它从客户的角度描述Story所需要实现的功能传统项目:所有功能Story驱动项目:测试测试Story测试Story1StoryN只一个开发周期,所有功能开发完成后,集成进行测试每个Story为一个开发周期,每完成一个Story即转入测试状态,并与 已完成的Story不断集成需求设计CODE测试Confidential 2010 iSoftStone Group. All Rights Reserved.2.4 站立会议团队成员的例行沟通机制,每天固定时间、固定地 点、不超过15分钟,Team成员全体站立参加:n从上次会议之后完成了哪些工作?n在下次会议之前准备完成哪些工作?n在工作进行中存在哪些障碍?n有哪些好的实践或学到了哪些教训?14l增加团队凝聚力,产生积极的工作氛围,及时暴露风险和问题。l整个团队都清楚团队内部所发生的事情。l每日跟进工作进展,快速解决问题或提供帮助。l会议中禁止针对问题的讨论,如果需要讨论,将在会后进行。l会议提出的问题必须被记录,并在会后铲除障碍。l团队是在互相汇报和交流情况,并不是向PO、项目经理或敏捷教练汇报。站立会议的好处站立会议关键点Confidential 2010 iSoftStone Group. All Rights Reserved.2.4 站立会议案例15目的:通过站立会议实现团队自我管理陈述昨天开展什么工作时,以Story为中心,从工作对象、进展和工作质量等方面进行总 结。比如“昨天我开展测试”“昨天我开展哪个Story测试,测试了多少用例,发现了多 少问题,其中哪些问题比较严重值得关注”; 比如“昨天我编码完成”“完成Story代码写作,findbugs全部清零,自测试通过 ,合入服务器,编码过程中,我发现某两个类有重复代码,可以优化”每个人都要把觉得对团队有价值的想法说出来;昨天做了什么事情,或是想到什么事情 对团队有帮助;你知道哪些事情是大家需要知道的。 切忌对别人的话漠不关心、描述从燃烧图上就能看到的进度,比如昨天做某个Story,今 天计划做某个Story等,会后又发现很多问题。Confidential 2010 iSoftStone Group. All Rights Reserved.Team: 系统、开发、测试、资料在一个团队内,并且全程参与项目 团队之间采用最高效的沟通方式面对面的沟通角色主要职责POProduct Owner(产品所有者),负责将客户的需求信息化并传递给项目组,代表利益相关人(如用户、Marketing、用服、管理者等),对产品投资回报负责Story分解和澄清,确保需求理解一致项目组内维护架构、确保设计思路一致划分Story并输出迭代backlog,随时澄清需求参与showcase、验收storyMaster团队的教练和组织者,帮助团队正确应用敏捷实践,引导团队建立并遵守规则组织 开工会、站立会议、回顾会议监控整个项目的进度、质量、风险CI-COCI Coordinator(持续集成协调员),负责持续集成的正常运转2.5.完整团队16HSS质量部PM开发测试资料CMO(兼)CI-CO(兼)MasterPOQA 质量保 证项目组Confidential 2010 iSoftStone Group. All Rights Reserved.2.6.可视化管理故事墙(展示Story进度) 缺陷走势图(展示缺陷解决进展 ) 特性墙项目组计划墙燃尽图( Burn Down Chart)17可视化管理的好处l简单,一目了然 ,降低管理成本;l实时状态显示,及时暴露问题;l信息同源,使团队理解一致,提升团队凝聚力;l激励先进,鞭策后进,增强团队进取心。可视化管理形式举例Confidential 2010 iSoftStone Group. All
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号