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