scrum敏捷项目开发

Scrum敏捷项目开发 内容提纲 敏捷开发简介Scrum特点Scrum流程及框架注意事项 内容提纲 敏捷开发简介Scrum特点Scrum流程及框架注意事项 敏捷开发 敏捷开发是一种以人为核心 迭代 循序渐进的开发方法主要有如下几个方法 极限编程 XP 特性驱动开发 FDD Scrum 测试驱动开发 TDD 等等这些方法的侧重点各有不同 可以相互之间互补使用 敏捷宣言作者们的价值观 资源来自 www agilemanifesto org 重视 内容提纲 敏捷开发简介Scrum特点Scrum流程及框架注意事项 Scrum使得我们能够专注于如何在最短的时间内实现最有价值的部分 Scrum使得我们能够快速的和周期性的监督实际产品发展的状况 每2 4周 设定商业价值优先级 团队通过自主管理采用定最好的方法 交付优先级最高的需求 每隔每2 4周 我们就可以看到实实在在的可以上线的产品 此时 就可以下一步的决定是继续完善需求或者直接发布了 Scrum的精髓 特点 自我管理的团队以 sprint 冲刺 为周期迭代的产品开发以一系列 产品Backlog 待处理任务 记录了产品需求没有特定的工程实践规则有富有创造力的敏捷开发环境 交付产品它是 敏捷方法 之一 可以和其它方法互补使用 全面视角的Scrum开发 Cancel Giftwrap Return 迭代周期2 4周 迭代backlog 潜在可以发布的增量产品 产品backlog 功能3 功能4 功能3 功能2 24小时 核心 Sprints Scrum项目周期以一组迭代周期 sprints 组成可以和极限开发的迭代周期类比典型的迭代周期为2 4周或者最多一个自然月一个固定的周期能够创造出项目的更优美的节奏感产品的设计 开发 测试全部都在一个迭代内完成 顺序vs 重叠开发过程 资源来自 TheNewNewProductDevelopmentGame byTakeuchiandNonaka HarvardBusinessReview January1986 Scrum并非以一段时间集中完成一个过程 而是将所有过程中必须的每一部分集中在这段时间内完成 需求 设计 代码 测试 确保一个迭代周期的稳定 一个迭代周期的长短的设定取决于您能够保障多长时间需求变化不影响到产品开发 变化 内容提纲 敏捷开发简介Scrum特点Scrum流程及框架注意事项 Scrum总体流程 Scrum结构框架 Scrum结构框架 1 1角色一 产品所有者 定义所有产品功能决定产品发布的内容以及日期对产品的投入产出负责根据市场变化对需要开发的功能排列优先顺序合理的调整产品功能和迭代顺序认同或者拒绝迭代的交付 1 2角色二 ScrumMaster 对项目的直接管理领导团队完成Scrum的实践以及体现其价值排除团队遇到的困难确保团队的胜任其工作 并保持高效的生产率使得团队紧密合作 使得团队个人具有多方面职能的工作能力保护团队不受到外来无端影响保证开发过程按计划进行 组织各种会议 1 3角色三 团队 经典团队拥有5 9人团队成员都是是多面手 程序员 测试员 用户体验设计 等等 团队成员都全职工作特殊职能可以例外 例如 数据库管理员 团队自我组织和管理团队关系在一个迭代中应该是固定的 个人的职能可以在新迭代开始时发生调整 Scrum结构框架 2 1产品backlog 需求项目中待完成的工作列表理想的是每一个待完成的工作都将对客户和用户产生价值产品所有者将对这个列表进行优先级排序每个迭代开始前优先级的排序工作还需要再度修正 一组产品backlog 一个好的用户故事 backlog 包括三个要素 1 角色 谁要使用这个功能 2 活动 需要完成什么样的功能 3 商业价值 为什么需要这个功能 这个功能带来什么样的价值 产品backlog的样例 2 2迭代目标 简短陈述这个迭代将要完成什么 数据库应用 金融服务 生命科学 功能用于人口遗传学研究 提供比ABC更实时的数据流量来支持更多的技术指标 应用可以运行于Oracle和SQLServer环境 管理迭代的backlog 团队的个人将要签收其将拥有的工作工作不是单向的分配对于剩余工作量的估计每天需要更新团队中任何人都可以添加 删减或者更改迭代中的工作项目为了迭代目标以及将发布的结果而工作如果对将要面对的困难不清楚 最好先定义一个相对工作量较大的工作项目然后适时在以后将其分散成较小额工作量的几个部分更新每个项目的剩余工作量 迭代backlog的样例 任务 编写用户界面 编写中间层 测试中间层 编写在线帮助 编写Foo类 Mon Tues Wed Thur Fri 2 3迭代耗散图 小时数 小时数 40 30 20 10 0 Mon Tue Wed Thu Fri 任务 编写用户界面 编写中间层 测试中间层 编写在线帮助 Mon 8 16 8 12 Tues Wed Thur Fri 50 Scrum结构框架 迭代计划会议 商业机会 团队能力 产品backlog 技术 现有产品 3 1迭代计划会议 迭代计划成果 团队自己从产品的backlog中选择一些他们能够完成的任务作为迭代的backlog迭代backlog被创建任务被确认并且每一任务估计工作量应该在1 16小时左右迭代的backlog的确定是团队协作的结果 而不是只有scrummaster的决定概要设计已经讨论完成 为了选择好去处度过这个假期 我需要先看到酒店的照片 3 2迭代验收会议 团队需要演示所完成的迭代工作典型的做法是使用演示形式展示新功能或者底层架构的实现非正式的2小时的提前准备不需要正式演示文档整个团队都需要参加邀请所有关注产品的人参加 3 3迭代总结会议 周期性的回顾 总结工作中的经验和教训一般15 30分钟在每个迭代结束时开始做整个团队都需要参加ScrumMaster产品所有者团队可能还包括客户 总结会议讨论内容 整个团队集结一起讨论以下方案 开始做 停止做 继续做 仅仅是诸多迭代回顾的活动的一种参考 3 4每天的Scrum会议 属性每天都会开15分钟结束站着开会不是为了解决问题所有相关的人被邀请只有Scrummaster 产品所有者 团队成员能够在会上发言避免无关的讨论 团队成员需要回答3个问题 对于ScrumMaster来说这些问答不是工作进度报告他们是团队成员彼此的承诺 内容提纲 敏捷开发简介Scrum特点Scrum流程及框架注意事项 注意事项 1 提供建议而不是规则 2 团队自管理 项目经理 小组长的领导 指导 协同职能大于其指令职能 3 团队共同估算 4 每日站会 不是工作汇报 5 必须严格保证每个迭代按时发布 结束语 没有银弹 完谢谢大家