质量保证系列课件-敏捷项目过程介绍(V).pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《质量保证系列课件-敏捷项目过程介绍(V).pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 质量保证 系列 课件 敏捷 项目 过程 介绍
- 资源描述:
-
1、 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 1.1 敏捷宣言敏捷宣言3敏捷宣言本质是揭示一种更好的软件开发方式,启迪人们重新思考软件开发中的价值和如何更好的工作。我们认为左项具有更大的价值当然这并不意味着右项没有价值个体和交互个体和交互过
2、程和工具过程和工具胜过胜过可以工作的软件可以工作的软件面面俱到的文档面面俱到的文档胜过胜过客户合作客户合作合同谈判合同谈判胜过胜过响应变化响应变化遵循计划遵循计划胜过胜过Confidential 2010 iSoftStone Group. All Rights Reserved.1.2 1.2 敏捷原则敏捷原则41.我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。2.即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。3.经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。4.可以工作的软件是首要的进度度量标准。5.在
3、整个项目开发期间,业务人员和开发人员必须天天都在一起工作。6.围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。7.在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。8.敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。9.不断地关注优秀的技能和好的设计会增强敏捷能力。10. 简单 使未完成的工作最大化的艺术 是根本的。11. 最好的构架、需求和设计出自于“自组织”的团队。12. 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后响应地对自己的行为进行调整。Confidential 201
4、0 iSoftStone Group. All Rights Reserved.敏捷 = 理念 + 优秀实践 + 应用理念理念(核心思想)应用应用1.3 1.3 敏捷理念敏捷理念优秀实践优秀实践(经验积累)5Confidential 2010 iSoftStone Group. All Rights Reserved.1.3.1 Value1.3.1 Value:聚焦客户价值,消除浪费6华为:研发版本废弃特性华为:研发版本废弃特性 07.1-08.6年某产品线所有产品中重要特性无应用的比例达22%(需求变更和分析不足占63%)软件业:软件业:45%的软件特性客户没有使用的软件特性客户没有使用S
5、ource:Standish Group 来自5万个软件开发项目的调查可以工作的软件可以工作的软件面面俱到的文档面面俱到的文档胜过胜过客户合作客户合作合同谈判合同谈判胜过胜过Confidential 2010 iSoftStone Group. All Rights Reserved.1.3.2 Team1.3.2 Team:激发团队潜能,加强协作7团队是价值的真正创造者,应加强团队协作、激发团队潜能。团队是价值的真正创造者,应加强团队协作、激发团队潜能。软件开发是一种团队活动,首先应做到提升沟通效率降低交流成本。软件开发是一种团队活动,首先应做到提升沟通效率降低交流成本。效率流行度文档文档录
6、制的视频录制的视频录制录制的音频的音频2人人邮件沟通邮件沟通2人人白板沟通白板沟通2人人电话沟通电话沟通不支持问答形式不支持问答形式支持问答形式支持问答形式业界业界调查调查:5050人团队人团队,每人平均,每人平均30%30%时间用于编码,时间用于编码,70%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华为华为试点调查:开发试点调
7、查:开发测试拉通,效率质量改善明显测试拉通,效率质量改善明显个体和交互个体和交互过程和工具过程和工具胜过胜过Confidential 2010 iSoftStone Group. All Rights Reserved.1.3.3 Adapting1.3.3 Adapting:不断调整以适应 变化8能够结合自身灵活应用才是真正敏捷,能够结合自身灵活应用才是真正敏捷,不断的根据经验调整,最终交付达到业务目标的产品不断的根据经验调整,最终交付达到业务目标的产品软件开发是复杂不可预测的经验控制过程软件开发是复杂不可预测的经验控制过程随软件规模增长,需求变化呈非线性增长随软件规模增长,需求变化呈非线性
8、增长响应变化响应变化遵循计划遵循计划胜过胜过Confidential 2010 iSoftStone Group. All Rights Reserved.1.4 1.4 瀑布、迭代和敏捷的区别9瀑布:开发模型重量级:重量级:所有需求统一步伐,全部分析完毕后再开始设计,全部设计完毕后再启动编码重过程:有明显的过程,每个过程不重叠,界线清晰 SRS、HLD、LLD、Coding、UT、IT、ST,开发完毕后集中转测试。迭代:开发模型中量级:中量级:需求分成多批,每批一轮迭代,每轮内都是小瀑布;每轮迭代出一个版本交付测试。没有明显的过程。敏捷:开发模式轻量级:轻量级:需求分解成更小粒度,每个小粒度
9、需求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. 敏捷
10、流程介绍目录目录Confidential 2010 iSoftStone Group. All Rights Reserved.2.1.迭代开发11什么是迭代开发l迭代开发是将整个软件开发生命周期分成多个小的阶段(一般2-4周),每个阶段都开展需求分析、设计、实现和测试,每个阶段都可以生成一个稳定和被验证过的软件版本。l通过将高技术风险的需求在早期迭代里实现,有助于尽早暴露问题和及时消除风险。l通过提供功能渐增的产品,持续获得客户反馈,根据反馈及时调整,使产品更加符合客户需要。l确保每次迭代交付质量,避免形成技术债务,每一次迭代都必须建立在稳定的质量基础上,并做为下一轮迭代的基线,整个系统的功
11、能随着迭代稳定地增长并不断完善。l每次迭代要邀请用户代表(外部或内部)验收,提供需求是否满足的反馈。l如果迭代周期已到,无论任务是否结束,也要求终止当前迭代,未完成任务放到下次迭代再做。迭代开发的好处迭代开发的关键点Confidential 2010 iSoftStone Group. All Rights Reserved.2.2.持续集成12 l持续集成(CI)要求团队成员经常集成他们的工作,以验证新合入的变化没有造成任何 破坏 ,通常每人每天至少集成一次,每次集成通过自动化构建完成。l维护单一的代码配置库,每个人每天将对代码的改动提交配置库。l实现构建自动化 - 自动的度量、检查和测试,
12、减少了重复的人力活动l持续集成要尽量快,最好快到5分钟内能完成本地构建,30分钟内完成产品提交构建,8小时内完成每日构建。l持续集成的问题是项目组最高优先解决的问题。l构建成功率和频率是衡量CI效果的重要指标。l每个人都较容易得到最新可正常运行的软件。l持续集成实现“无事件”局面,尽早发现项目存在的问题,减少返工。l降低风险,在缺陷引入的时候即被发现,缺陷容易修复l给频繁的应用部署提供帮助,随时都可能发布软件。持续集成的好处持续集成操作关键点什么是持续集成 Confidential 2010 iSoftStone Group. All Rights Reserved.2.3.Story驱动13
13、Story驱动是指以Story为交付单元进行开发、测试、发布lStory是能够独立交付,能够被用户感知的最小需求lUserStory是Story开发的基准,它从客户的角度描述Story所需要实现的功能传统项目:所有功能Story驱动项目:测试测试测试StoryStory测试测试Story1Story1StoryNStoryN只一个开发周期,所有功能开发完成后,集成进行测试每个Story为一个开发周期,每完成一个Story即转入测试状态,并与已完成的Story不断集成需求需求设计设计CODECODE测试Confidential 2010 iSoftStone Group. All Rights
14、Reserved.2.4 站立会议 团队成员的例行沟通机制,每天固定时间、固定地点、不超过15分钟,Team成员全体站立参加:n从上次会议之后完成了哪些工作?n在下次会议之前准备完成哪些工作?n在工作进行中存在哪些障碍?n有哪些好的实践或学到了哪些教训?14l增加团队凝聚力,产生积极的工作氛围,及时暴露风险和问题。l整个团队都清楚团队内部所发生的事情。l每日跟进工作进展,快速解决问题或提供帮助。l会议中禁止针对问题的讨论,如果需要讨论,将在会后进行。l会议提出的问题必须被记录,并在会后铲除障碍。l团队是在互相汇报和交流情况,并不是向PO、项目经理或敏捷教练汇报。站立会议的好处站立会议关键点Co
15、nfidential 2010 iSoftStone Group. All Rights Reserved.2.4 站立会议案例15目的:通过站立会议实现团队自我管理陈述昨天开展什么工作时,以Story为中心,从工作对象、进展和工作质量等方面进行总结。比如“昨天我开展测试”“昨天我开展哪个Story测试,测试了多少用例,发现了多少问题,其中哪些问题比较严重值得关注”;比如“昨天我编码完成”“完成Story代码写作,findbugs全部清零,自测试通过,合入服务器,编码过程中,我发现某两个类有重复代码,可以优化”每个人都要把觉得对团队有价值的想法说出来;昨天做了什么事情,或是想到什么事情对团队有
16、帮助;你知道哪些事情是大家需要知道的。 切忌对别人的话漠不关心、描述从燃烧图上就能看到的进度,比如昨天做某个Story,今天计划做某个Story等,会后又发现很多问题。Confidential 2010 iSoftStone Group. All Rights Reserved.Team: 系统、开发、测试、资料在一个团队内,并且全程参与项目 团队之间采用最高效的沟通方式面对面的沟通角色角色主要职责主要职责POProduct Owner(产品所有者),负责将客户的需求信息化并传递给项目组,代表利益相关人(如用户、Marketing、用服、管理者等),对产品投资回报负责Story分解和澄清,确保
17、需求理解一致项目组内维护架构、确保设计思路一致划分Story并输出迭代backlog,随时澄清需求参与showcase、验收storyMaster团队的教练和组织者,帮助团队正确应用敏捷实践,引导团队建立并遵守规则组织开工会、站立会议、回顾会议监控整个项目的进度、质量、风险CI-COCI Coordinator(持续集成协调员),负责持续集成的正常运转2.5.完整团队16HSS质量部PM开发测试资料CMO(兼)CI-CO(兼)MasterPOQA质量保证项目组Confidential 2010 iSoftStone Group. All Rights Reserved.2.6.可视化管理故事墙
18、(展示展示StoryStory进度进度) 缺陷走势图(展示缺陷解决进展展示缺陷解决进展) 特性墙项目组计划墙燃尽图( Burn Down ChartBurn Down Chart)17可视化管理的好处l简单,一目了然 ,降低管理成本;l实时状态显示,及时暴露问题;l信息同源,使团队理解一致,提升团队凝聚力;l激励先进,鞭策后进,增强团队进取心。可视化管理形式举例Confidential 2010 iSoftStone Group. All Rights Reserved.2.7.结对编程什么是结对编程l结对编程是指两位程序员在一台电脑前工作,一个负责敲代码,另外一个实时检视。负责操作键盘和鼠标
19、的程序员被称为“驾驶员”,负责实时评审和协助的程序员被称为“领航员”;领航员检视的同时还必须负责考虑下一步的工作方向,比如可能出现的问题以及改进等。18l有助于提升代码设计质量,大幅促进团队能力提升和知识传播。l帮助快速培训新手。l来自同伴的竞争压力,能起到有效的激励作用。l知识和良好的实践在两人之间共享。l结对的两人时间要同步。 l结对编程要多花15的时间,在时间紧迫时结对是比较困难的事情。结对编程的好处结对编程的风险和挑战Confidential 2010 iSoftStone Group. All Rights Reserved.2.8.TDD19 Test Drive Develop
展开阅读全文