敏捷开发的实践ppt课件.ppt

上传人:飞****2 文档编号:29782093 上传时间:2022-08-01 格式:PPT 页数:26 大小:2.06MB
返回 下载 相关 举报
敏捷开发的实践ppt课件.ppt_第1页
第1页 / 共26页
敏捷开发的实践ppt课件.ppt_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《敏捷开发的实践ppt课件.ppt》由会员分享,可在线阅读,更多相关《敏捷开发的实践ppt课件.ppt(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、L/O/G/O敏捷开发敏捷开发 Agile Development内容内容敏捷在时代敏捷在时代敏捷在华为敏捷在华为敏捷与精益敏捷与精益敏捷的实践保障敏捷的实践保障何为敏捷何为敏捷关键问题关键问题 甚么是敏捷?甚么是敏捷? 为什么要敏捷?为什么要敏捷? 如何敏捷?如何敏捷? 只有理解敏捷的概念,才能确定是否真正需要它,才能对比目前所面临的问题确定如何去实施它。 在敏捷实践以外,我们是否还需要别的方式或者流程来帮助我在敏捷实践以外,我们是否还需要别的方式或者流程来帮助我们进行进一步的改善?们进行进一步的改善?敏捷?敏捷?团队团队方法论方法论工具工具 敏捷宣言敏捷宣言 人和交互重于过程和工具。 可以

2、工作的软件重于求全责备的文档。 客户合作重于合同谈判。 随时应对变化重于循规蹈矩。 核心价值观核心价值观 沟通,简单,反馈,勇气,尊重区别区别 1短周期开发,提供及早的、具体的、持短周期开发,提供及早的、具体的、持续的反馈。续的反馈。增量开发。迅速地提出总体计划,并在增量开发。迅速地提出总体计划,并在项目生命周期中不断演化。项目生命周期中不断演化。灵活安排功能地实现,以对变化的业务灵活安排功能地实现,以对变化的业务需求作出反应。需求作出反应。使用由程序员和测试人员编写的自动化使用由程序员和测试人员编写的自动化测试来监控开发进度,支持系统演化,测试来监控开发进度,支持系统演化,并尽早发现缺陷。并

3、尽早发现缺陷。区别区别 2通过口头沟通、测试和源代码来交流系通过口头沟通、测试和源代码来交流系统的结构和意图。统的结构和意图。渐进式的设计过程贯穿整个系统生命周渐进式的设计过程贯穿整个系统生命周期。期。依赖于能力普通但能积极参与的程序员依赖于能力普通但能积极参与的程序员之间的紧密协作。之间的紧密协作。各种实践兼顾项目成员的短期直觉和项各种实践兼顾项目成员的短期直觉和项目的长期利益。目的长期利益。解决开发中的风险解决开发中的风险 1- 提倡短周期发布,这样任何延迟的范围都是有限的。提倡短周期发布,这样任何延迟的范围都是有限的。- 一个发布周期内,计划许多小任务以保证团队可以在该周期内解决问题一个

4、发布周期内,计划许多小任务以保证团队可以在该周期内解决问题。- 提倡优先实现高优先级的功能。提倡优先实现高优先级的功能。- 最小发布必须是满足最大商业意义的,选择团队中面向业务的最小发布必须是满足最大商业意义的,选择团队中面向业务的成员来承担。成员来承担。-自动化测试,每次代码改动后运行,确保质量底线。自动化测试,每次代码改动后运行,确保质量底线。-保证系统处于可部署状态,不允许出现问题的积累。保证系统处于可部署状态,不允许出现问题的积累。进度延迟进度延迟项目取消项目取消系统恶化系统恶化- 既包含每个函数的单元测试,也包含专门测试人员的功能测试。既包含每个函数的单元测试,也包含专门测试人员的功

5、能测试。缺陷率缺陷率解决开发中的风险解决开发中的风险 2- 业务人员成为团队人员,项目规格说明在开发过程中不断改进业务人员成为团队人员,项目规格说明在开发过程中不断改进。- 由于缩短了发布周期,因此极大减少变更带来的影响。由于缩短了发布周期,因此极大减少变更带来的影响。- 拥抱变化,利用重构解决变更带来的技术问题。拥抱变化,利用重构解决变更带来的技术问题。- 坚持只解决最高优先级的任务。坚持只解决最高优先级的任务。业务误解业务误解业务变更业务变更错误特性太多错误特性太多- 团队开发模式,鼓励新成员承担越来越多的责任,互相帮助。团队开发模式,鼓励新成员承担越来越多的责任,互相帮助。- 要求程序员

6、自己估算自己的工作时间并完成。要求程序员自己估算自己的工作时间并完成。人员流动人员流动基本实践基本实践基本富含信息的空间富含信息的空间坐到一起坐到一起迭代迭代结对编程结对编程完整团队完整团队增量设计增量设计持续集成持续集成测试先行编程测试先行编程扩展实践扩展实践扩展团队连续性团队连续性真实客户参与真实客户参与单一代码库单一代码库共享代码共享代码增量部署增量部署代码和测试代码和测试敏捷与精益敏捷与精益(lean) 甚么是精益?甚么是精益? 站在终端用户的角度观察生产线,视任何未生产的增值活动为浪费,并通过持续地消除浪费达到快速交付,高质量和低成本地结果。 丰田精益制造理念的产生?丰田精益制造理念

7、的产生? 市场小,客户需求多变。 通过减少浪费节约成本,“最大的浪费就是生产 过剩的浪费”精益的思考精益的思考 1看板?故事墙?看板?故事墙? 全面了解任务,充满信息的空间。 变PUSH为PULL。零件只是零件吗?零件只是零件吗? 可以先生产零件吗?会增加甚么费用呢? 还知道些什么呢?团队负责团队负责? 团队来负责最终产品质量。生产线上任一环都需对质量负责。 都不做?价值观,配对,stand meeting。脆弱的流程?脆弱的流程? 流程的持续改进需要它是脆弱的。 事务是变化的,需求、团队、目标。 不等于不高效,不顺畅。 流程是可以被测量的。精益的思考精益的思考 2软件中的浪费?软件中的浪费?

8、 很快就荒废了的臃肿的需求文档。 从未用过的精心构思的架构。 完成很久都没有在产品环境中集成,测试和执行的代码。 直到无关轻重或是会引起误解时才被人阅读的文档。举例举例 拥有更精细的需求获取过程是不会改进需求获取的。 通过缩短需求细节的产生与其相应的软件部署之间的路径是可以改善需求获取的。 这意味着需求获取不是产生一份静态文档的阶段,而是贯穿开发整个过程的。再谈精益再谈精益 1. 以人为中心以人为中心 强调每个人在生产中的积极参与性和主动性,强调员工之间的协调优化,用激励的手段来激发人的主动性和协作性,最大限度地发挥员工的个人能力和群体智慧。2. 降低库存、消除浪费降低库存、消除浪费将生产中的

9、一切库存视为浪费,出发点是整个生产系统,认为库存掩盖了生产系统中的缺陷。3.严把质量关严把质量关 产品质量是创造出来的不是检验出来的,认为“一切生产线外的检查、把关、返修都不能增加附加价值,反倒是增加了成本,是一种无效与浪费”。一次通过率。4.拉动管理拉动管理 强调以最终用户的需求为生产起点。组织生产线依靠看板(Kanban)传递需求的信息。用后道工序开始按反工艺流程向前道工序,环环相连,层层连接,把生产紧密地联系起来,生产与市场需求数量一致的产品。敏捷与传统的比较敏捷与传统的比较传统思维传统思维 是员工的问题是员工的问题 尽量优化各部门的工作尽量优化各部门的工作 快速交付和高质量意味着多花快

10、速交付和高质量意味着多花钱钱 流程应流程应”强壮强壮“一些,把所有一些,把所有的保险都打开,的保险都打开,“小小”问题会问题会被吸收被吸收 针对个人进行考核针对个人进行考核 激励并管理员工激励并管理员工 谁犯的这个错谁犯的这个错 了解并做好你的工作了解并做好你的工作 为了更好的预测,做个全面的为了更好的预测,做个全面的分析分析 大而集中能提高效率大而集中能提高效率精益思维精益思维 是流程的问题是流程的问题 系统思考,优化整体系统思考,优化整体 快速交付和高质量互为手段目快速交付和高质量互为手段目的的 流程应流程应”脆弱脆弱“一些,任何小一些,任何小问题都可以迫使它终止问题都可以迫使它终止 针对

11、流程进行考核针对流程进行考核 清除员工面临的障碍,开发员清除员工面临的障碍,开发员工工 是甚么让错误发生了是甚么让错误发生了 我的工作如何配合其它部分我的工作如何配合其它部分 只有频繁的预测才是可依赖的只有频繁的预测才是可依赖的方法方法 小而灵活才是美小而灵活才是美CMMI?流程强壮,保险众多,持续改进成本高流程强壮,保险众多,持续改进成本高,人力浪费严重。,人力浪费严重。很多文档是浪费的,不能为下阶段的开很多文档是浪费的,不能为下阶段的开发提供帮助。好比生产的库存零部件。发提供帮助。好比生产的库存零部件。没有办法保障的流程是无用的。如华为没有办法保障的流程是无用的。如华为的电脑准入制度。的电

12、脑准入制度。流程本身没有问题,但倾向于让人产生流程本身没有问题,但倾向于让人产生惰性,僵化,形式主义。惰性,僵化,形式主义。华为困境华为困境需求分解困难,对外可见度低,定制需需求分解困难,对外可见度低,定制需求多。求多。偏重于流程,偏重于流程,CMM5级。级。公司围绕着市场转,市场不以公司的标公司围绕着市场转,市场不以公司的标准为转变。准为转变。CMM5,RUP,迭代,迭代,XP,SCRUM华为经验华为经验 1认同。认同。 自上而下驱动的公司,主管对敏捷的认同是至关重要的。进度不紧张?进度不紧张? 没有进度不紧张的项目,OK,lets 敏捷。质量和进度冲突质量和进度冲突? 决策和压力都在主管身

13、上,员工不需要承担市场压力,只负责产品质量。教练?教练? 教练很重要,参与项目,协调沟通,编程。华为经验华为经验 2持续。持续。 在原则上持续坚持,在形式上持续改进。Code review 代码复查很重要,通过PAIR实现。TDD 单元测试很重要,很多员工先写代码再写测试,需要TDD。 当版本升级,以前的单元测试会废掉,TDD不会。机器机器 能让机器做的事情就不要让人来做,人只作创造性的工作。做事方式做事方式小粒度,快速反馈,迭代。小粒度,快速反馈,迭代。简单设计(即使在电信级项目中),复简单设计(即使在电信级项目中),复杂问题简单化。杂问题简单化。自动化,持续集成,测试自动化。自动化,持续集

14、成,测试自动化。随机应变,响应变化,自适应计划。随机应变,响应变化,自适应计划。做事理念做事理念以人为本,自我驱动,持续改进(个人以人为本,自我驱动,持续改进(个人和组织)。和组织)。不能凡事都是主管在想,这不能达到很不能凡事都是主管在想,这不能达到很高的高度。高的高度。敏捷是方法论所保障的理念和思想。敏捷是方法论所保障的理念和思想。时代敏捷启动前提时代敏捷启动前提- 领导支持很重要,我们与华为都是之上而下驱动的公司。领导支持很重要,我们与华为都是之上而下驱动的公司。- 认识是反复的,过程是反复的。认识是反复的,过程是反复的。- 专业的咨询公司是成功的保障。专业的咨询公司是成功的保障。-通过敏

15、捷培训。通过敏捷培训。-通过一周实践的敏捷项目,理解并应用敏捷。通过一周实践的敏捷项目,理解并应用敏捷。领导支持领导支持教练教练熟悉敏捷熟悉敏捷- 需要建立完善的软件工程工作组。需要建立完善的软件工程工作组。- 需要在试点项目中尽量建立完善的团队角色。需要在试点项目中尽量建立完善的团队角色。人员调整人员调整技能需求技能需求 11 持续集成。持续集成。 精通cruise功能和配置; 熟悉和编写各种脚本语言:xml,JavaScript等; 熟悉和配置各种语言的编译脚本:ANT,Makefile等。2 单元测试。单元测试。 熟悉C语言,掌握常用的mock框架用法; 熟悉和理解各种软件设计模式,熟悉

16、和理解重构; 掌握TDD编程实践。3 功能测试。功能测试。 一定的软件开发经验,熟悉软件开发过程; 可以和开发人员进行需求和功能的探讨; 熟悉测试流程和理念。4 自动化工具。自动化工具。 熟练使用各种高级语言编程; 熟悉各种脚本语言编程 ; 熟悉网络编程 。技能需求技能需求 25 软件配置管理。软件配置管理。 深入理解软件版本管理思想; 精通subversion和clearcase等工具的使用; 可以根据不同的软件开发指定不同的软件管理策略。 6 编码规范和代码检查。编码规范和代码检查。 熟悉风格和命名:ANSI,K&R,Linux,GNU,Java,Win; 熟悉和理解Misra C2004

17、规范; 根据不同的软件产品,指定适用于我们的编码规范; 熟悉各种代码检查工具的使用,以及和各种IDE的融合。 7 静态和动态检测。静态和动态检测。 有一定的编程经验,熟悉嵌入式系统编程; 熟悉各种知名静态和动态检测工具;8 敏捷实践。敏捷实践。 精确理解和掌握敏捷思想和各种实践,熟悉CMMI; 丰富开发经验,具备项目管理能力以及一定的领导能力; 思维开拓,善于总结经验,发掘新的适用于我公司的实践。组织架构组织架构工具组工具组软件工程组软件工程组敏捷实践敏捷实践测试组测试组单元测试单元测试功能测试功能测试持续集成持续集成自动化工具自动化工具编码规范和代编码规范和代码检查码检查静态和动态测静态和动态测试试软件质量部软件质量部技术中心技术中心软件配置管理软件配置管理L/O/G/O Thank You!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com