第1部分 软件研发模型介绍
1.1 信息化建设发展趋势
1.2 软件研发模式分析
1.3 传统的软件开发生命周期模型及其特点
n 迭代模型
n 瀑布模型
n 增量模型
n 原型模型
n 极限模型
n 螺旋模型
课堂提问:各种软件研发模型的优缺点分析,以及软件开发模型选择的思考。
1.4 软件项目生命期概念
n 项目管理生命期
n 软件研发生命期
n 产品实施生命期
课堂提问:生命期的比较分析,以及项目经理/软件开发工程师关注度分析比较
第2部分 敏捷开发简介
1.5 敏捷思维
n 什么是预定义过程
n 软件项目中的复杂性与简单性
n 预定义过程控制VS经验性过程控制
n 敏捷认为软件研发过程是经验性过程
n 软件企业使用瀑布模式普遍面临的问题
n 传统项目管理的三角形与八边型
n 传统的软件开发方法基于了一个错误的假设
n 敏捷方法认为需求是涌现式的,范围是不确定的
1.6 什么是敏捷
n 敏捷概念
n 敏捷宣言的由来
n 敏捷宣言/敏捷原则
1.7 课程研讨:敏捷开发Agile与CMMI研发管理、传统软件工程的分析比较及优劣势分析
第3部分Scrum概述
1.8 Scrum概要、框架及流程
n SCRUM价值观、起源、历史
n SCRUM概要、框架、流程
n Sprint燃尽图
n Sprint评审会
n Sprint回顾会
n 潜在可交付的产品增量
n SCRUM三大支持
n 知识比较:Scrum项目管理与一般意义上项目管理的比较分析。
1.9 Scrum精要
n Sprint破解
n Sprint误用
n Scrum会议
n Scrum团队
n ScrumMaster
n 产品负责人
1.10案例分析:简单的陷阱
第4部分 敏捷需求管理
1.11敏捷需求概述
n 从一个经典的例子看需求
n 在我们的需求体系中会遇到什么?
n 需求是涌现式的
n 需求管理是一个知识发现的过程
n 需求管理是一个依赖于沟通协调的活动
n 需求管理的本质
n 使用用户故事作为需求管理的载体
1.12用户故事
n 用户故事定义
n 用故事的特点
n INVEST用户故事
n 一个卡通产品电子商务网站的例子
n 练习:编写用户故事
n 如何描述需求细节?
n 细节通过更小的子故事实现
n 细节通过验收条件来表现
n 如何分解用户故事
n 用故事树把故事串起来
n 用户故事的大小
n 为什么要使用用户故事
1.13产品BACKLOG
n 产品BACKLOG
n 一个产品BACKLOG的例子
n 产品BACKLOG的金字塔
n 产品BACKLOG优先级排列技巧
n 梳理产品BLACKLOG
n 优先级排列需要考虑到因素
n 优先级计量方式
n 练习:产品BLACKLOG优先级的排列
n Sprint计划会议与Sprint Backlog高阶技巧
n Sprint评审会议与Sprint回顾会议高阶技巧
n 产品负责人与产品Backlog高阶技巧
n 发布计划会议高阶技巧
n ScrumMaster高阶技巧
第5部分 敏捷估算与计划
1.14敏捷估算
n 讨论:估算以下四个案例要花费多少时间?
n 敏捷估算的基本策略:估算规模
n 通过规模推算时间表
n 用户故事估算
n 用户故事规模的计量单位
n 估算的技巧
n 估算的方法
n 练习:使用估算扑克进行估算
n 如何将用户故事拆分到任务
n 任务估算及计量单位
n 任务估算的特点
1.15敏捷计划
n 敏捷计划的特点
n 多层次的计划
n 产品/发布/Sprint计划
n 满意条件驱动计划的执行
n 发布计划
n Sprint计划
n Scrum项目的进展跟踪及报告机制
l 任务板的作用及示例
l 关于卡片
l Sprint燃尽图及反映Sprint进展状况
1.16练习(1.5小时):Scrum项目管理实践
1.17知识练习:《敏捷开发知识知多少》?
第6部分 敏捷开发管理最佳实践
1.18敏捷工程实践
n XP的12个有效实践
n 持续集成(客户特别关注点,代码需要重构)
n 自动化测试
n 结对编程(客户特别关注点,结对编程)
n 看板管理(客户特别关注点)
1.19思想
u架构设计的发展趋势
u架构设计决策的未来性
u减法设计 vs. 加法设计
u造形(Form)设计:领悟唐代的”诗同形”意义
1.20方法
n 架构设计阶段
n 代码开发阶段
l 重构技术(客户特别关注点,重构技术)
l 编码有效性(客户特别关注点,持续重构)
1.21模式
n 架构模式
n 测试模式
l 自动化测试工具Jmeter
l 测试驱动开发(ATTD)
第7部分 敏捷团队建设
1.22团队规则与纪律
1.23团队合作模式
n 典型的敏捷TDD驱动模式
n CMMI合作模式
n ToGAF的ADM合作模式
1.24Scrum团队
n ScrumMaster
n 产品负责人
n 案例分析:简单的陷阱
1.25大型团队的Scrum实施
n 产品负责人团队
n 多Scrum团队的Sprint计划会议
n Scrumof Scrums 进行沟通和协作
1.26Scrum Of Scrum与多项目管理的比较分析
1.27角色转换
n 分析员
n 项目经理
n 架构师
n 职能经理
n 程序员
n 测试员
n 角色转换的共同挑战
第8部分 敏捷开发实践导入
1.28Scrum导入模式
n 成立实施推进小组
n ETC职责
n 改善计划的Backlog示例
n 制定Backlog的基本方针
n 设置和管理期望
n Scrum实施评估
n 全面转型VS小团队试点
1.29导入敏捷工程实践的建议
n 案例名称:Sales Force的全面转型
n 选择什么项目试点
n 在CMMI软件研发模式下的敏捷成功之路
n 我们该如何进行敏捷的成功之路
第9部分 敏捷开发体系构建
1.30软件研发管理体系文档的建设
n 体系的来源
n 体系文档的层级及结构
n 各层级文档的作用间义
n 层级文档案例说明
n 文档的质量评估标准
1.31敏捷文档的评估分析
n 组织级文档评估分析;
n 项目组文档评估分析;
n 工程类文档评估分析;
第10部分敏捷开发体系案例分析
1.32敏捷开发体系案例分析
ZJRC敏捷开发体系文件分享。
1.33研发管理体系案例分析
一个“庞然大物”是如何构建“基于IPD+CMMI+AGILE”研发管理体系,从而用AGILE激活整个研发管理体系。