课程背景
一、课程背景及需求分析
本课程围绕敏捷开发全过程展开,如何有效的利用敏捷的原理、思路、方法和工具,扎实有效的落地和推进敏捷实践。既要掌握敏捷管理的思路、方法和实践,又要通过更好的管控敏捷开发过程,提升项目交付效率与交付质量。
所以,本次课程将围绕两条线展开:
1、 管理线。就是敏捷项目过程方法的有效落地、组织分工(PO、Scrum master、执行团队、用户)、用户故事、敏捷计划、敏捷看板、燃尽图、站会、计划会、评审会、反思总结会、项目监控和度量等;
2、 技术线:如何管控开发过程中敏捷方法和实践的落地,提升质量、加快交付。包括用户故事、简单设计、结对编程、单元测试、持续集成、TDD/BDD、静态代码保障等重点实施项。
本课程采用多个实际案例讲解。解决常见敏捷实施的一些问题,比如:
1、 敏捷如何有效实施的问题,照猫画虎为何不成?
2、 user story的编写及交付,大家理解一致的问题
3、 PO验收有效性及流程问题
4、 敏捷站会相关问题
5、 需求理解及需求频繁变更的问题
6、 开发边界的问题
7、 敏捷中架构和设计的问题
8、 迭代节奏的问题,比如何时规划第二迭代的需求及安排等
9、 敏捷计划及按天分解等问题
10、 测试时间及安排的问题
11、 文档相关问题
12、 代码版本管理的问题(例如,如何开分支合适?)
13、 代码关联错误的问题
实施方法:剖析原理、深究方法、实操技巧、案例分享、经验推广
课程大纲
二、课程实施大纲与内容框架
培训模块 | 内容 |
敏捷 | 1. 敏捷转型的障碍、问题、平滑演进策略; 2. 敏捷中的组织建设与分工协作; 3. 敏捷演进路线图实践; 4. 敏捷项目管理过程全视图 5. 敏捷技术实践全视图讲解 |
敏捷SCRUM项目管理实践
| 1. Scrum框架总体介绍 2. 敏捷与scrum 3. SCRUM前奏:敏捷预备阶段的六定方法: ● 一定总体架构与设计(同时通过组织机制保障范围切分) ● 二定相关组织与角色 ● 三定相关设备与工具 ● 四定总体计划与发布 ● 五定可重用资产分析 ● 六定需求要点及说明 4. SCRUM之用户故事: ● 传统需求分析的问题和敏捷需求分析核心原理 ● 写出第一个用户故事 ● 持续拆解用户故事 ● 用户故事实例实战 ● 验收标准的确定 5. SCRUM之计划:敏捷计划阶段的二排方法(敏捷估算) ● 如何排定需求的优先级 ● 如何排定迭代计划的工作量与投入 ● 二排的核心思路及如何执行 ● 估算实例 ● 迭代节奏安排(迭代间的合理工作安排节奏) 6. SCRUM之项目管理四个会:敏捷管理过程的四个核心会议: ● 计划会怎么开,为什么要搞计划会 - 计划会序曲-猪与鸡的故事 - 猪与鸡的行为模式 - 讲解故事 1) 迭代计划会的整体过程 2) 怎样防止目标不明的迭代?故事群! 3) 团队要记录什么? 4) 敏捷文档对策中的精益思想 a) 准确记忆与模糊记忆 b) 长期记忆与短期记忆 - 任务估算 1)估算扑克 a)估算扑克 = 简化的Delphi估算 - 敏捷生态系统 1)谁在管理团队中的个体? 2)从领导指令到自组织团队 3) 大团队/强分工下容易受到伤害的实践 ● 每日站会的目的与方法 ● 评审会的思路与方法 1) 从外部理解团队目标 2) “可运行软件”的标准 - 评审会 1) 评审会的行为模式 2) 引导客户表达需求 3) 现场演练:为三个故事设定完成标准 - 反思会 1) 现实世界的反思会 ● 反思会的思路与实践 ● 如何串联四个会,达到项目管控效果? ● 其他专题会的补充 7. Scrum日常项目管理: - Scrum Master 1) 谁是Scrum Master? - 团队结构与日常开发活动 1) 办公环境 2)“特性小组” 3)“松结对编程” 4) “松结对编程”的小组长责任 5)“松结对编程”的工作习惯 - 每日立会 1) 为何站着开会? 2) 每日立会成功的关键 3) 现场演练:明天的每日立会 - 燃烧图 1) 燃烧图的团队“指纹” - 敏捷开发的变更应对策略 1) 拥抱变化还是恪守承诺? 2)“迭代期内无变更”与研发心理学 3) “迭代期内无变更”与产品版本规划 8. 敏捷的项目/产品开发环境 9. 敏捷需求管理 (1) 敏捷需求变更的管理 (2) 需求基线与需求变更 (3) 渐进式需求 (4) 需求度量 10. 敏捷项目管控中的其他种种 6. 演练与问题讨论 |
敏捷SCRUM迭代开发技术实施详解 | 站在项目管理角度把握关键敏捷开发技术: 1. 极限编程与敏捷 2. 敏捷中的技术要点与推荐的优秀实践 3. SCRUM迭代过程中敏捷的核心8个技术实践的方法、技术、实例、工具(实例练习)及实施中的问题与困难: ● 简单设计(方法、工具与实例):具体案例讲解如何边开发边设计;采用四色原型图做简单设计工具; ● 结对编程(方法、工具与实例):具体案例讲解结对编程如何实施及其效果评估; ● 一致的编码(方法、工具与实例) ● 持续集成方法与工具(方法、工具与实例):详细讲解持续集成相关工具的搭建、集成与使用,以及集成自动化编译工具、自动化单元测试、自动化静态代码扫描、自动化代码覆盖率度量方法与策略; ● 单元测试(方法、工具与实例):详解单元测试框架实例及同步练习;单元测试覆盖率;打桩实践及实例; ● 重构(方法、工具与实例):重构的13种场景及具体重构策略;让重构真正看到效果; ● 自动测试(方法、工具与实例) ● 灰度发布(方法、工具与实例):灰度发布实例、灰度环境建设、灰度的最佳实践及业界做法; 4、版本管理:如何开分支、如何管理分支及主干分布 5、敏捷开发方法在开发团队中的应用及问题讨论 |
敏捷中的质量保障 | 1、 敏捷中的质量保障策略 2、 敏捷中的测试如何做,特别在短期快速迭代需要交付的压力下? 3、 开发向测试交付的标准以及对开发的约束? 4、 敏捷度量:bulid_measure_learn学习模型,通过运营促进产品进度,如何进行产品的运营 5、 PO验收及流程有效性管理 6、 敏捷文档管理,敏捷是真的轻文档吗? |
敏捷SCRUM团队运作管理 | 7、 敏捷中的相关角色与组织分工 8、 如何创建共享型敏捷团队 9、 传统团队向敏捷团队转型的途径与方法 10、敏捷团队的考核与绩效方法 11、工具 演练与问题讨论 |
敏捷实践讨论 | 1、 业界敏捷实践的现状、问题 2、 由敏捷到敏捷+时代 3、 敏捷经验分享 |