《Scrum敏捷软件开发方法论课件》由会员分享,可在线阅读,更多相关《Scrum敏捷软件开发方法论课件(17页珍藏版)》请在金锄头文库上搜索。
1、2020/8/17,Scrum敏捷开发框架,敏捷软件开发方法论,华钦 安全软件产品线,目录,团队目标 问题与方法 软件开发方法 敏捷软件开发 Scrum敏捷开发框架 小结,Page 3,团队目标,自组织的学习型团队 他组织:靠外部指令而形成组织 自组织:按照相互默契的某种规则,各尽其责而又协调地自动地形成有序结构 团队学习、反思、调整与改进 有工作激情、创新能力的团队 有强烈的质量、进度意识的团队,Page 4,问题与方法,团队问题 产品质量不佳、项目进度延误 生产率低 应对变化能力不足,害怕变化 原因分析 团队能力不足/个人技能单一 过程方法有问题 解决方法:团队学习与实践 技术/技能提升(
2、团队学习) 软件开发方法论探索、调整与改进,Page 5,软件开发过程方法论,无过程控制(不可取) 传统的过程控制 CMMI为代表:重型 对变化反应较慢 适合成熟、变化少、质量致命的行业与团队 敏捷软件开发 轻量级过程控制方法 应对变化能力强,适合成长型、变化多的行业与团队,Page 6,方法论应用,通用方法论组成 a philosophy(价值观/原则) a framework (框架/模型) supporting tools and techniques(工具与技术) 应用过程 理解并认同价值观 学习并实践框架 掌握并完善工具与技术 循序渐进,不断实践、反思、调整 学习三阶段 学车的经历分
3、享 关于应用还是创造方法论的问题,Page 7,敏捷软件开发,敏捷宣言(价值观) 个体与交互 重于 过程与工具 可用的软件 重于 完备的文档 客户协作 重于 合同谈判 响应变化 重于 遵循计划 17位软件开发领域的领军人物:在每对比对中, 后者并非全无价值,但我们更看重前者。 敏捷分层 Lean software development(精益软件开发) 开发框架:Scrum、Crystal XP(极限编程:结对编程、测试驱动、重构等),敏捷宣言 http:/agilemanifesto.org,Page 8,何为Scrum,发展历程 1986 Scrum这个词汇首次应用于产品开发 1993年J
4、eff Sutherland首次将Scrum用于软件开发 1995年Jeff Sutherland和Ken Schwaber规范化了Scrum框架,并在OOPSLA 95上公开发布。 2001年 敏捷宣言及原则发布、敏捷联盟成立,Scrum是其中一种敏捷方法。 2001年,Ken Schwaber和Mike Beedle推出第一本Scrum书籍Scrum敏捷软件开发。 2002年Ken Schwaber 和Mike Cohn共同创办了Scrum联盟。,TeamWork,Page 9,Scrum应用情况,已被广泛应用与验证 Google、诺基亚、百度、淘宝、Yahoo!等等 将更广泛地被实践 传
5、统型的过程方法将向敏捷转化 在外部变化较大的行业中,不采取敏捷方法的团队将失去竞争力 效果 以Yahoo!为例(08年),200个scrum团队 生产率提升200-300%,最差的团队也有35%左右的提升 产品改进率提升150-500% ,Page 10,Scrum总体框架,Product Backlog(产品需求列表:用户故事列表,排好优先级) Sprint(完整的迭代过程:选取部分用户故事,实现发布) Daily Scrum(每日例会),持续发布价值!,Page 11,Scrum角色,Project Owner(产品所有者/业务输入者) 调研分析,用户交流,分析业务需求 转化成产品需求列表
6、(用户故事的形式) 参与每次sprint规划、评审等活动 Scrum Master(Scrum主管,教练) 组织、指导、监控sprint过程实施 Door keeper:让小组专注于sprint实施 分析和评价小组实施状况 Team(成员) 主要由开发、测试、美工组成 PO、SM也可以是Team成员,Page 12,Scrum关键过程,产品需求列表创建、评估 PO负责完成 以用户故事的形式展现 排列好优先级 团队进行评审和工作量评估(产品发布计划) Sprint(迭代过程) 迭代计划制定(选取产品需求列表中优先级高的) 设计、开发、测试、发布 Sprint评审、回顾会 每日例会,Page 13
7、,监控与评价,监督发布计划 发布耗散图 监督迭代计划 任务板 迭代耗散图 Sprint评审会 相关人员参与,评审这个迭代发布的产品 Sprint Review(回顾会) 评价团队速度 总结经验,反思问题,提出下一迭代改进措施,Page 14,工具与技术,需要高效工具与技术的不断引进 敏捷规划 用户故事 持续集成 测试驱动开发 循序渐进,不断学习与完善,Page 15,如何应用实施,理解并认可敏捷价值观 遵循Scrum框架,进行项目实施 不断补充和完善工具与技术 团队不断学习,培训与分享,提升能力 关键:学习与成长的意愿 实施项目:永银化工,Page 16,小结,团队目标:自组织的学习型团队 问
8、题与解决方法:提升能力,改变软件开发方法论 软件过程方法论:无过程管理、CMMI、敏捷开发; 通用方法论组成与应用:三个层面组成,应用要循序渐进 敏捷软件开发方法论 价值观与原则:敏捷宣言、12大原则、lean 框架与模型:Scrum框架 工具与技术:敏捷规划、用户故事、持续集成、测试驱动开发等 Scrum敏捷开发 Scrum介绍:突出团队协作 应用情况:广泛应用与验证,生产率改进200-300%,产品改进率150-500% Scrum角色:PO、TM、Team 关键过程:创建产品backlog、Sprint阶段(sprint计划会、sprint评审、sprint回顾)、每日例会 监控与评价:耗散图(burn-down chart:针对产品、sprint),任务板 工具与技术:循序引进与改善 如何实施,