本课程是轻量级量化敏捷开发咨询活动的导入课程。
以敏捷开发项目管理为主(贯穿需求管理 + 估算 + 计划 + 日常项目管理 + 开发测试 + DevOps流水线)。
主要帮助团队建立从需求到交付的完整流程,并进行一致性的量化管理。
本课程可以建立端到端的研发流水线,建立一致的量化管理流程。
Ø 需求管理★★★★★:需求条目化;需求分层;控制颗粒度;基于需求估算软件成本
Ø 迭代计划★★★★✰:用户故事地图;规划和控制最小可用产品的规模;快速任务估算
Ø 看板管理★★✰✰✰:基于Scrum的看板;可变周期迭代的DevOpsBan
Ø 协同管理★★✰✰✰:跨团队功能管理;开发与测试人员在迭代中的看板协同(功能协同和测试用例协同)
Ø 编码测试★★✰✰✰:基于功能点的代码量化度量;基于功能点的测试用例密度/测试缺陷密度/发布缺陷密度度量
Ø 研发效能★★★★★:基于SEAi需求与功能点的量化度量;需求/代码/测试一致性度量
Ø 核心目标1:了解需求条目化的基本原理
Ø 核心目标2:了解需求层级及各层次的颗粒度控制(相同颗粒度的需求)
Ø 核心目标3:了解如何量化管理需求的规模(基于需求规模的研发效能)
Ø 核心目标4:了解如何快速得到功能点数据(国际标准Function Point)
Ø 课程内容:
o 传统的用户故事体系
§ 史诗故事
§ 用户故事
o 拆分并形成需求层次与框架
§ 简单识别场景 Scenario(第一层)
§ 简单识别实体 Entity(第二层)
§ 简单识别行为 Action(第三层)
· 练习:建立一个一人年需求的需求条目与层次
§ 简单识别实例 instance(第四层)
o 基于需求的规模估算与范围管理
§ 基于SEAi需求框架自动计算功能点
· 练习:针对上述需求建立软件功能点规模(用于以下的估算与度量)
o 对接功能点分析 FPA
§ 早期公式(预算/招投标):FP = Entity * 35
§ 中期公式(迭代计划/结算):FP = Action * 5.4
Ø 核心目标1:了解基于商业步调的优先级排序
Ø 核心目标2:了解如何规划和控制最小可用产品的规模
Ø 核心目标3:了解如何使用用户故事地图规划版本
Ø 课程内容:
o 优先级排序方法
§ 基于商业步调的优先级排序
o 用户故事地图中使用SEAi需求条目
§ 用户故事的2个空间维度
§ 用户故事的3个层次
§ 用SEAi条目生成用户故事地图
§ 练习:生成用户故事地图
o MVP最小可用产品
§ MVP最小可用产品
§ MVR最小可用发布
§ 两种版本规划策略
§ 练习:计划2~3个最小可用发布
Ø 核心目标1:了解看板的基本用法
Ø 核心目标2:了解DevOpsBan的使用环境
Ø 课程内容
o 看板
§ 看板的列设置
§ 控制在制品数量
o DevOpsBan
§ 比较Scrum,Kanban,DevOps板
§ 利用可变周期迭代,自适应交付规模不同的最小可用发布
§ 使用两种策略建立最小可用产品
§ 使用用户故事地图同步开发与测试对交付功能的认知
o 开发与测试的看板协同
§ 开发-测试协同看板
§ 跨团队依赖的跟踪
Ø 核心目标1:了解基于SEAi的微服务划分策略
Ø 核心目标1:了解从SEAi需求到编码、测试的对应关系
Ø 核心目标2:了解如何从需求规模预测编码、测试规模及其他量化数据
Ø 课程内容:
o 从SEAi需求条目到微服务
§ 三种微服务策略
§ 用SEAi结构表达微服务
o 从SEAi需求到编码/测试
§ 从Entity实体到数据库表/Model/Controller
§ 从Action行为到Web Api/Action方法
§ 从instance需求实例到黑盒验收测试用例
Ø 核心目标1:为研发Dev、运维Ops全程建立量化指标,驱动和度量过程改进
Ø 核心目标2:掌握定义“不可控因素”为度量项,以防止人为操控的技术
Ø 核心目标3:掌握低成本获取度量数据的技术
Ø 课程内容
o 度量的2个时机
o 选择不可控因素为标准度量项
o Dev研发效能五大核心开发度量指标(FP=功能点数)
§ 生产率 = FP/人天
§ 编码消耗率 = 逻辑代码行 / FP
§ 测试用例密度 = 测试用例数 / FP
§ 测试缺陷密度 = 测试缺陷数 / FP
§ 发布缺陷密度 = 发布缺陷数 / FP
o Ops运维效能三大核心发布度量指标
§ 开发周期(保健因素)
§ 需求交付周期(保健因素)
§ 缺陷修复时间(激励因素)
o 基础度量数据的定义与采集方法
§ 功能点数
§ 人天数计算方法
§ 测试用例计数方法
§ 测试缺陷计数方法
§ 发布缺陷数计数方法
§ 练习:联系隔壁团队 或 模拟数据,使用课上提到的方法,获取其产品当前的全套数据。
Ø 敏捷量化重构
o 重构决策
§ 使用Web API预测实际功能点
§ 使用代码消耗率决策是否需要重构
o 重构计划
§ 使用功能点FP计划工作量、工期、代码行
o 重构跟踪
§ 使用代码消耗率跟踪代码可维护扩展性
§ 使用基于功能点的测试缺陷密度跟踪代码质量
Ø 日常量化应用
o 朴素的开发与测试工作量评估
o 朴素的看板流量控制
o 朴素的日代码估算制度
现场分组:现场分组为2~6组,每组5~8人,现场推选一个“产品经理”。此产品经理应现场能提供一个企业实际产品的需求(或1~5人年左右工作量的片段,无需提前准备)供课堂练习使用;在内训时,也可以现场携带多个需求文档、测试用例文档以供练习。
路演:如果能获取实际开发数据,现场可完全基于真实项目的进展总结(适用于后期项目)或推演(适用于前期项目)项目的进展。各组分别呈现某个时间点上的项目状态,分析问题,制定解决方案。