课程介绍:
在一些软件开发企业,包括自主开发、为第三方提供服务、离岸外包等,都会面临一系列开发挑战。这包括多变的环境、客户需求不确定(很难全面获得客户需求)、以及新技术等。按照Cynefin 框架和Stacey 矩阵,需求、技术和人是开发团队面临的最大挑战。传统的预测型(瀑布模式)无法在这种环境下完成交付目的。企业开始选择和转型到适应型开发方法中(即敏捷)。
敏捷思维模式(或特定方法,如Scrum),融合了精益中的小批量交付、关注价值、避免浪费、持续改进等做法,并在《敏捷宣言》的指导原则下以应对需求多变、快速且小批量交付、快速使用成果、关注价值等做法,实现当前软件开发业的诉求。本课程重点围绕Scrum框架,融合XP、精益、看板等最佳实践,为项目软件开发团队提供一套完整可行的项目交付方法。
学习收获:
1. 能够清晰的理解和认识敏捷软件开发中的各类角色,以及干系人的职、权、责;
2. 能够理解敏捷团队各岗位(如PO、Scrum Master、开发团队等)的职责;
3. 能够完整的启动、规划、开发、评价、结束一个敏捷项目,或敏捷中的一个发布、冲刺;
4. 能够全局理解客户、发起人的可变性诉求,能够及时关注并交付软件成果和价值;
5. 能够按照Scrum框架(或类似敏捷框架),从端到端理解、应用全过程开发方法。
适用对象:
敏捷项目经理、需求工程师、软件分析师、产品负责人、开发团队、敏捷转型团队、IT/软件开发人员。期望对敏捷项目管理有全面了解的人,包括Scrum、ACP相关人员。
课程时间:
2天,6hours/天,共计12hours
课程大纲
第一天上午9:00-12:00(偏理论)
1. 敏捷软件开发基本概念
1) 敏捷转型中的要点说明
a) 传统软件开发项目特点
b) 敏捷软件开发生命周期介绍
2) 敏捷宣言解析
a) 敏捷四大价值观工作用于
l 敏捷宣言的提出和意义
l 敏捷宣言的价值与实际工作的融合
b) 敏捷12条原则工作应用
l 敏捷原则的聚焦点
l 敏捷原则与实际开发工作的融合
3) 软件混合型方法的采用说明
4) 敏捷软件开发项目复杂性说明
2. 敏捷软件开发项目立项
1) 确定敏捷项目角色
a) 产品负责人(PO)的角色与职责
l PO人选、任命与职责要求
l PO如何代表发起人关注敏捷开发价值
b) 跨职能开发团队角色与职责
l 开发团队人员构成要求
l 开发团队人员选择和组建要求
l 开发团队人员技能要求
c) Scrum Master角色与职责
l 传统项目经理与敏捷教练的区别
l 如何理解“团队促进者”这个定义
d) 其他干系人在敏捷中的角色职责
l 发起人角色
l 客户和用户角色
l 职能负责人角色
l 其他角色
第一天下午13:00-16:00(实际应用)
2) 确定软件开发项目愿景
a) 确定软件产品开发愿景
l 制定并发布软件产品愿景说明书
l 商业需要与项目目的说明书
b) 制定与发布产品路线图
l 产品路线图制定要求
l 产品路线图更新和复盘说明
c) 确定软件项目开发版本
案例应用:S公司是一家游戏开发企业,公司决定通过敏捷方法尝试开始一个新项目,在现有的团队中,管理层决定选择一位产品负责人、一个敏捷项目负责人、8个开发团队成员。你是S公司外聘的一个敏捷教练,你应该给他们什么建议?
3. 收集与梳理敏捷软件需求
1) 制定产品待办事项列表
a) 产品待办项(Backlog)格式和要求
b) 产品负责人在此处所面临的困难和解决方案
c) 软件开发项目需求说明
l 功能与非功能需求
l 过渡需求
l 项目管理需求
2) 收集与整理敏捷软件需求
a) 需求格式制定与说明
l 需求与用户故事概念
l 角色建模技术
l 用户故事如何表达
i. 如何用卡片表达故事
ii. 用户故事的对话机制
iii. 确认与发布用户故事
iv. 如何从史诗到用户故事
l 优秀用户故事的特点
v. INVEST特征
vi. 绘制故事地图
b) 收集和启发需求的方法
l 访谈技术
l 头脑风暴
l 原型法
l 联合应用开发
3) 在产品待办项中确定一次发布
4) 敏捷软件需求和传统项目需求差异
案例应用:S公司根据软件开发要求,决定先梳理出一部分开发内容,在定义“用户故事”时,团队通过“卡片”展示每个故事的特点,并在故事卡的背面记录了每个故事的测试和验收条件,你能否按照这个要求,也梳理出当前项目的“故事卡”?
第二天上午9:00-12:00(实际应用)
4. 定义与规划冲刺(迭代)
1) 冲刺规划会议
a) 什么是冲刺(迭代)规划会议
b) 参与者职责说明
c) 发布单次冲刺要求
2) 需求优先级梳理
a) MoSCoW原则的使用
b) 时间盒子概念
c) 决策技术的应用
d) 投票原则
3) 冲刺工作量估算和速率
a) 用户故事常见工作量估算单位
b) 故事点和理想日
c) 冲刺待办项估算要点
l 团队估算
l 估算的准确度和精确度
l 估算的相对性
d) 冲刺速率
l 什么是速率
l 预测和确定冲刺速率
4) 冲刺(迭代)规划注意事项
a) 迭代燃尽图和燃起图的使用
b) 单次冲刺发布与开工仪式
案例应用:在S公司刚批准的新软件开发项目中,对于已经创建在案的“需求”,产品负责人分析了他们的优先级,在需求优先级定义的过程中,大家都参与了讨论。你现在有20个用户故事,现在如何给出他们的优先级?
5. 冲刺(单次迭代)过程
1) 开发团队
a) 跨职能要求(T型特征团队)
b) 分工协作
2) 单次冲刺工作量确认
a) 探测
b) 第0次冲刺和第1次冲刺
3) 任务分解与冲刺
a) 将用户故事拆分为任务
b) 创建任务看板和执行
c) 解决问题与“停车场图”使用
d) 每日工时单提交
e) 基于流程的敏捷和基于迭代的敏捷
4) 团队协作
a) 每日站立会议
l 会议参与者
l 会议时长说明
l 会议内容要求
b) 关注技术债务
第二天下午13:00-16:00(实际应用)
5) 工作绩效报告发布
a) 信息发射源的概念
b) 使用看板推动任务执行
c) 迭代燃尽图和燃起图检测过程
案例应用:K公司的团队在展示燃尽图时,发现截止到第5天的进展情况突然出现直线下降,你是否能够用燃尽图很好的展示项目单次迭代的绩效呢?
6. 冲刺(迭代)评审与回顾
1) 评审
a) 评审会议的安排
b) 评审的主要目的
c) 评审的参与者
d) 评审与部署、发布
2) 变更
a) 过程管理中的变更问题
b) 产品评审结果变更问题
3) 回顾
a) 什么时候举行回顾会议
b) 回顾的目的和意义
c) 如何做到持续改进
案例应用:K公司针对新产品开发项目中的需求,进行了定义和说明,但是怎么样才能够“即满足客户诉求,也满足执行诉求”,看看团队如何开展基于价值和优先级的交付策略,如何切合产品功能和属性,并阶梯式交付,怎么样理解“迭代与增量”的思维模式。谁对价值和交付负责,谁来推动目标的落地。
7. 大规模敏捷特点
1) 基于Scrum的单一交付模式
2) 大规模敏捷开发特点
8. 最终产品发布与上市
1) 基于短迭代短交付的上市原理
2) 及时获取和分析产品价值
3) 评估产品投资回报情况
案例应用:针对敏捷开发过程的全过程管理,新产品按照迭代开发和交付,并实时交付价值,满足市场需求,获得投资者和客户的认可。如何判断是否得到回报和收益?