课程介绍:
在一些软件开发企业,包括自主开发、为第三方提供服务、离岸外包等,都会面临一系列开发挑战。这包括多变的环境、客户需求不确定(很难全面获得客户需求)、以及新技术等。按照Cynefin 框架和Stacey 矩阵,需求、技术和人是开发团队面临的最大挑战。传统的预测型(瀑布模式)无法在这种环境下完成交付目的。企业开始选择和转型到适应型开发方法中(即敏捷)。
敏捷思维模式(或特定方法,如Scrum),融合了精益中的小批量交付、关注价值、避免浪费、持续改进等做法,并在《敏捷宣言》的指导原则下以应对需求多变、快速且小批量交付、快速使用成果、关注价值等做法,实现当前软件开发业的诉求。本课程重点围绕Scrum框架,融合XP、精益、看板等最佳实践,为项目软件开发团队提供一套完整可行的项目交付方法。
学习收获:
1.能够清晰的理解和认识敏捷软件开发中的各类角色,以及干系人的职、权、责;
2.能够理解敏捷团队各岗位(如PO、ScrumMaster、开发团队等)的职责;
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)的角色与职责
lPO人选、任命与职责要求
lPO如何代表发起人关注敏捷开发价值
b)跨职能开发团队角色与职责
l开发团队人员构成要求
l开发团队人员选择和组建要求
l开发团队人员技能要求
c)ScrumMaster角色与职责
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公司刚批准的新软件开发项目中,对于已经创建在案的“需求”,产品负责人分析了他们的优先级,在需求优先级定义的过程中,大家都参与了讨论。你现在有2 0 个用户故事,现在如何给出他们的优先级?
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)评估产品投资回报情况
案例应用: 针对敏捷开发过程的全过程管理,新产品按照迭代开发和交付,并实时交付价值,满足市场需求,获得投资者和客户的认可。如何判断是否得到回报和收益?