华为敏捷软件开发解读_第1页
华为敏捷软件开发解读_第2页
华为敏捷软件开发解读_第3页
华为敏捷软件开发解读_第4页
华为敏捷软件开发解读_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PSST质量和成本管理部/系统工程部,华为敏捷软件开发解读,2009年06月N.001,Page 2,管理者和软件开发相关人员的敏捷知识的要求为了让敏捷软件开发在我们公司顺利地进行, 许多软件开发管理员和开发者深入理解敏捷的核心理念,熟练掌握敏捷实践方法,增强适应需求变化的能力,提高产品质量,提高开发效率,缩短交货期等目标。 因此,特别是PS和以上管理者必须深入理解敏捷的核心理念,理解我们敏捷推进战略,理解各种敏捷实践。 到2009年10月为止,所有公关和以上各级管理者都必须通过考试,预计2009年12月再次考试。 软件开发人员(包括PL、软件开发者、软件测试者、软件架构者、系统分析者、软件相

2、关资料者和研发质量者)必须深入理解敏捷理念、掌握敏捷实践,理解我们的敏捷推进战略敏捷知识合格的考试是软件开发人员工作资格的基本要求,软件开发人员全员在2010年3月底前通过了敏捷考试。 考题分为管理者版本和员工版本,对管理者和员工应该知道的知识进行考试。 敏捷学习的参考资料为华为敏捷开发解读和相关附件。 敏捷概述敏捷开发战略敏捷案例,Page 4,行业敏捷波ISO 9000(09版)标准,根据原来的八项原则,加入敏捷原则,2000年美军软件开发标准(DOD 500 ) 软件开发优先模式世界影响最大的美国波多黎各国家质量奖敏捷软件为核心的11大原则之一,Page 5,软件研讨会,软件过程控制,重

3、型程序,2001现在敏捷软件很流行工作行业开发为主的硬件迅速发展,软件规模和复杂性激增,引进引起软件危机的成熟生产制造管理方法,“以过程为中心”阶段性地控制软件开发(瀑布模式), 在一定程度上缓和了软件危机软件失败的经验,随着流程增加了制约和限制,软件开发流程越来越“加重”,开发效率降低,响应速度变得缓慢的信息时代的到来,需求的变化很快,交货周期成为企业的核心竞争力,重量轻软件危机,20世纪60年代、80年代、90年代,软件开发随着时代的变化,从沉重的过程转移到轻量型机敏、70年代、敏捷诞生的历史背景。、Page 6,敏捷宣言揭示了更好的软件开发方法,敏捷宣言(2001年)是敏捷起源的基础,由

4、上述四个简单的价值观构成的敏捷宣言签名揭示了敏捷运动敏捷宣言的本质, 启发人们重新思考软件开发中的价值和工作,敏捷宣言、Page 7、软件就像一种活着的植物,软件开发是从底向上有序的生长过程,植物的自然生长敏捷开发遵循软件的客观规律持续反复的增量开发最终将交付符合客户价值的产品,传统开发,敏捷开发,敏捷地满足软件开发规则,Page 8,敏捷地改善生产性、质量、满意度、成本,提高82%的项目生产性,提高78%的项目质量, 78%的项目客户满意度提高,37%的项目成本降低*以上的数据从DDJ 2008的Scott Ambler发起的网络调查结果中,正确理解目录、灵活性的概要,理解灵活性的统一认识,

5、解读敏捷性理念,实现敏捷性我司敏捷性的实例,Page 10,对敏捷的常见误会1 :敏捷开发不需要文件、设计和计划的误会2 :敏捷是优秀的实践吗? 优秀实践的结合误区3 :敏捷只能适用于小项目开发误区4 :敏捷只会产生研究开发误区5 :管理员不需要自己理解敏捷只需要管理上的支持误区6 :导入敏捷, 按规定的步骤做就是误解7 :敏捷是CMM的替代品,另一个流程误解8 :敏捷只是重视特性的快速交货,敏捷下的框架不重要,Page 11,整合认识:敏捷=理念的优秀实践具体应用、理念、优秀实践、具体应用理念(敏捷的核心思想)敏捷包括三个层次的优秀实践(敏捷的经验积累)具体应用(能与自己灵活的应用相结合)。

6、 理念:注重客户价值,消除浪费,软件行业: 45%的软件特性客户未使用,Source:Standish Group从5万个软件开发项目中进行调查Source :中国电信总工韦乐平华为公司工程与技术大会年的Source: 如何提升软件开发效率 08年的统计,电信业的“电信级”浪费,“价值”在“敏捷宣言”中的表现,以产品业务成功为目标,专注于客户价值,消除围绕价值流动的浪费,我们公司:开发版的废弃特性07.1-08.6年, 在某产品线的所有产品中,重要特性未被应用的比例达到了22% (需求的变更和分析不到63% ),Page 13,理念:激发团队的潜力,强化合作,我司实施了测试,改善了效率的质量。

7、 团队是价值的真正创造者,应该加强团队合作,挖掘团队潜力的软件开发是团队活动,首先应该提高交流效率,降低交流成本,Source: 08年测试行业有30个以上的考试Source: 经济学家2003 DeMarco研究报告,“团队”在敏捷宣言中发表,研究表明面对面通信是最有效的行业调查: 50名开发团队平均使用30%的时间作为代码,70%的时间与其他成员进行交流研究显示,1981年来自不同公司的优秀程序员的生产率比为7:1,2007年最新研究数据为40:1。 人是软件开发的决定因素,Page 14,理念:不断调整以适应变化,麦当劳能简单地预测生产过程,人月神话 :软件开发是人最复杂的工作之一,软件

8、有四个属性:复杂性、一贯性、变动性和不可见性软件开发是一个不可重复、探索、发展、适应的过程。随着软件规模的增长,需求的变化呈非线性增长,软件开发是一个复杂、不可预测的经验控制过程,不断根据经验进行调整,最终达到业务目标的产品,重新审视软件开发规则,Page 15, 优秀实践总结:行业敏捷优秀实践的概要,编程、测试驱动开发、客户参与检查、计划游戏代码集体所有、日立会议、产品backlog (带优先级的需求列表)、燃烧图、反复计划会议、回顾会议、Scrum Master、product o Anatomy (系统解剖)、One Track、Systemakut (缺陷管理和决策)、重建、完整团队、

9、稳定开发节奏Lagomising (需求确定)、隐喻、电信业偏重于大规模产品实践,Scrum偏重于项目管理,XP偏重于编程实践XP、连续集成、迭代交付、Page 16、开发团队1,具体应用:根据地区选择适当的敏捷实践,团队在充分理解敏捷理念的基础上,能够灵活地选择最适合自己的实践,避免教条化,站在会议上,有顺序的工作列表、连续集成、 结合编程、迭代开发、迭代开发、迭代开发、开发团队3、敏捷理念、开发团队2、敏捷理念、敏捷理念、Page 17、敏捷变革是一个系统的项目, 敏捷变革的七个方面的优先级: Butteragiletransformation (Pimhysmith master ),敏

10、捷变革是系统工程,涵盖七个方面:实践、绩效评价、组织、流程、文化、规制技术和业务一致性是敏捷变革的不同阶段,敏捷变革框架的7个方面引入的优先级不同,初期以实践为主的numbersrepresenttypicalrelativeimportanceateachstage .目录、 统一理解敏捷理念,解读敏捷性实践,解读我司的敏捷性开发实施战略,Page 19,深入理解敏捷理念,深入理解“适应变化”,通过快速交货的重要迭代计划不断调整“客户发现真正需求”的少量批次, 为了适应需求的变化,应该持续保持良好的软件体系结构,利用多阶段反馈不断调整,逼近目标。 认识到“激励团队”的基本事实深刻理解管理者在

11、“敏捷方式”下的“敏捷方式”下的团队成员变化,“聚焦客户价值”的标志和刚刚消除软件开发中的无用交货的系统随时构建质量,容易出现缺陷Page 20,以客户价值为焦点,消除了软件开发中的浪费,Source: 精益软件开发,Page 21,在质量、进度、资源冲突时,只能在项目范围内变化,即在交付“刚交付的系统”产品前产品交货后,把稳定的质量放在第一位,特别是在电信领域,客户对产品的质量要求是Always work,而不是Sometimes。 因为满足很多功能,比起交货晚、质量不稳定,更能按时交货合适的系统,保证高质量的运行。 提供新系统,深入理解客户的需求,花时间了解细节,简化需求,而不是简单地拒绝

12、(delete )。 “提供好的系统”的同时,要求管理者有足够的勇气和决断力,集中注重顾客价值,提供好的系统,当项目明显超载时,管理者希望能够简单地用团队work harder来解决。 最终,质量下降项目推迟了客户满意团队的疲劳,弥补了长期风险,Page 22,缺陷遗留带来了高昂的成本:依赖于单独的质量保证活动(如后端测试),容易形成缺陷留在下一阶段的心理, 缺陷发现成本上升(系统测试阶段的缺陷定位和解决成本是开发阶段的10倍)例1:E公司的开发阶段和测试阶段缺陷发现比例为7:3,我们公司在后端发现了大量缺陷,带来了高额成本。 /我公司的顾问指出“华为测试和开发距离1000英里”。要注重客户的

13、价值,随时构建质量,不容忍缺陷,从项目开始随时构建质量:形成零缺陷文化,不容忍缺陷:发现缺陷后立即解决,确保在坚实的质量下前进。 开发和测试密切合作:测试人员参加设计和开发过程,共同预防缺陷的发生。 例如,必须马上解决暴露的问题,Page 23,以客户价值为焦点,及时解决技术债务,继续迅速应对,为什么有技术债务:为了满足短期的业务目标,如果不影响外部表现,在技术上做一定的让步,这种让步是现在的巴对技术债务的态度:技术债务有成本,偿还晚了的话,利率会随着时间的推移而升高,开发效率会大幅度降低,顾客的响应能力会降低。 因此,对技术债务的态度是管理和及时偿还(例如及时重建)。 一般技术债务:腐败的框

14、架、复杂的代码、低测试自动化率、不及时清除的静态检查警告等。 第24页, 鼓励团队,认识团队的基本事实,source : jeffcsmtrainingmaterial,信赖是高性能团队的基础、信赖、承诺、冲突, 关于创新的团队激励:团队自我管理时最有效率的人对自己的承诺比别人要求的承诺更认真,人们在强烈压力下努力工作,人们自然地降低对质量的要求,关于团队的业绩:团队成员不被打扰时, 工作效率最高的是团队解决自己问题时最快、最广泛,提高面对面交流是团队工作的最有效方法:团队工作效率在同一数量以上的个人工作效率之和,不同技能领域的人员组成团队,集中工作时,产品更坚固,pa 激励团队,以敏捷的方式

15、进行管理者变革,管理者努力“控制”团队:制定详细的工作计划详细的工作安排指令性工作方式的监视流程是根据复杂的规则来管理的,管理者努力“激励”团队:通过目标引导团队的自主工作作为排除障碍创造团队自我管理工作气氛的监督指导团队的进步是根据简单的原则来管理的,原则虽然简单但必须遵守敏捷方式中管理者的最大挑战是学习“规则控制”,传统方式、敏捷方式、Page 26 敏捷方式促进团队成员转换,团队成员“服从已安排的独立贡献者”:被动等待主管安排工作独立工作的合作以文档和邮件为主要通信手段,只关注个人任务,团队的目标能力相对单一机敏的管理者从被动转变为主动的心情是适应团队成员机敏开发的关键团队成员制定“全方

16、位的积极参加者”:共同参加计划和任务安排团队的合作以通过工作经常面对面交流为主要的交流方式关注团队目标, 责任能力要求更广泛,积极地学习适应职场要求,传统方式,敏捷的方式,Page 27,残酷的现实顾客,发现他真正需要的东西开发者如何开发产品,满足顾客的需要,在这个过程中随时都有可能变化。 伟大的希望客户知道自己需要的开发人员如何满足客户的需求,知道开发过程中需求不变,客户从一开始就想知道他们真正需要的是什么,这是不现实的。 我们必须持续地向客户提供可用的产品,以帮助客户逐步发现真正的需求。 认识到适应变化,“客户发现了真正的需求”,Page 28,认识到适应变化,少量、迅速地交货是重要的,我们首先要尽快、持续地提供有价值的软件,以此来满足客户定期交货能工作的软件,交货的间隔从几周到几个月,交货的间隔越短越好。 从敏捷软件的12个原则中摘录,在需求响应周期相同的情况下,批量(一次开发的需求量)越小,资源利用率越高。 资源利用率相同时,批量越小,交货周期越短。 减少批量不仅能缩短交货周期,还能带来提高质量、促进创新、降低管理成本、提高效率等优点,大大提高业务价值。 减少批量的优点,源: Craig la RM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论