《IPD与敏捷的整合实践》课程大纲
IPD与敏捷的整合实践
1、IPD与敏捷的关系
案例分析与研讨:H公司实施IPD加敏捷开发管理过程中遇到的问题和困惑。
1.1 业界常用的三种开发模式(IPD、CMMI、Agile)
1.2 IPD(集成产品开发)体系的整体框架及敏捷开发介绍
1.3 IPD模式下的敏捷软件开发管理的案例分析(业界标杆企业)
1.4 IPD模式下敏捷开发项目管理面临的常见问题
1.5 IPD和敏捷之区别
- 思想不同
- 视角不同
- 目标不同
- 组织不同
- 流程不同
- 管理模式不同
2、IPD概述
2.1 IPD整体框架
2.2 IPD的核心思想
2.3 IPD的框架
2.4 IPD的方法论体系
2.5 研发管理体系的水平等级划分及演进
2.6 H公司从IPD-CMMI-Agile变革流程的演进
2.7 讨论与研讨:为什么IPD流程需要更加敏捷?
3、敏捷概述
3.1 敏捷开发简介
3.2 敏捷联盟
3.3 敏捷宣言
3.4 敏捷实践12条原则
3.5 对比其他的方法(IPD和CMMI等)
3.6 敏捷方法的适用性
3.7 敏捷方法的两种流派(XP、SCRUM)
3.8 业界敏捷浪潮 (国外公司和国内公司实施敏捷的效果对照)
3.9 对敏捷的常见误解
3.10 IPD与敏捷开发一体化解决方案
3.11 IPD结构化流程的思路:划分阶段、划分层次
3.12 IPD结构化流程的层次结构
3.13 IPD的子流程(使能流程)
3.14 敏捷开发与IPD流程的接口
3.15 IPD角色与敏捷角色的映射(产品经理,PO,SM等)
3.16 练习:请绘制贵公司的IPD加敏捷开发流程?
4、IPD模式下敏捷项目管理实践
4.1 一体化的IPD+敏捷开发项目管理实践
4.2 IPD各阶段流程介绍
1) 概念阶段流程
2) 计划阶段流程
3) 开发阶段流程
- 敏捷管理与IPD的接口
- IPD+敏捷开发框架及流程
- 职责与角色划分
4) 验证阶段流程
5) 发布阶段流程
6) 生命周期阶段流程
4.3 IPD+敏捷开发项目计划的层次化
1) 项目管理与IPD主流程的关系
2) IPD及敏捷项目管理的特点
3) 如何做好IPD项目管理——与敏捷结合的计划三层结构
4) 敏捷管理实践:迭代计划会议
4.4 IPD+敏捷开发的项目监控
1) IPD+敏捷的项目监控体系
2) IPD+敏捷管理实践:每日站立会议
3) IPD+敏捷管理实践:可视化管理
4) IPD+敏捷管理实践:迭代验收
5) IPD+敏捷管理实践:迭代回顾会议
6) IPD+敏捷管理实践的度量体系
4.5 Burn down chart
4.6 IPD+敏捷开发的对应角色
1) IPD层面的角色
2) 敏捷软件开发典型场景
3) 敏捷团队的三个核心角色
4) 敏捷团队的角色职责
5) IPD与敏捷开发角色的分工
4.7 一体化的IPD+敏捷开发方法实践
4.8 IPD+敏捷开发需求管理
1) 产品包需求
2) 需求分解分配
3) 设计需求和规格
4) 用户故事(user story)
4.9 IPD+敏捷开发工程实践管理
4.10 敏捷工程实践:结对编程
-
代码静态分析工具
- Code Review
4.11 敏捷工程实践:测试驱动开发(TDD)
- TDD案例分析
4.12 敏捷工程实践:持续集成(CI)
- 每日构建的概念和意义
- 每日构建的实施策略
- Daily Build和Build Break
- 每日构建和版本管理的集成
- 以每日构建为基础的发布管理和试验环境
- 持续集成的概念
- Smoke Test和持续集成的关系
4.13 敏捷工程实践:重构
- 重构的定义
- 为什么需要重构
- 何时需要重构
- 代码的坏味道
- 各种重构的方法
5、一体化的IPD+敏捷开发项目质量控制
5.1 基于风险的敏捷测试用例设计
1) 质量模型(功能性、可靠性、易用性、效率性、维护性、可移植性)
2) 测试方法分类
3) 静态语法检查(Pclint)
4) 白盒测试用例设计方法(单元、集成测试)
5) 黑盒测试用例设计方法(系统测试)
6) 演练与问题讨论
5.2 自动化的构建与测试
1) 自动化测试概念
2) 自动化测试在软件开发周期中的位置
3) 自动化测试局限性
4) 自动化测试基本理论
5) 自动化测试实施
6) 常用工具介绍
7) 基于QTP的自动化测试解决方案架构
8) 自动化测试成熟度
5.3 敏捷度量
1) 敏捷度量-规模
2) 敏捷度量-工作量
3) 敏捷度量-进度
4) 敏捷度量-质量
5) 敏捷度量-迭代效率
5.3 敏捷开发的三个最小交付(需求文档、设计文档、测试文档等)
5.4 研讨:IPD敏捷开发模下QA的职责是什么?
6、产品级敏捷开发过程
6.1 产品级敏捷开发的精髓:以最小的产出,对外部的用户产生最大的影响与收益)
6.2 市场管理及产品规划的六个步骤
6.3 短平快产品规划流程(列举阿里和腾讯的产品规划案例)
6.4 产品级敏捷的目的和范围
6.5 产品级敏捷的价值流开发
1) 团队协作
2) 轻量级流程(流程优化)
3) 自动化环境
4) 产品级特性看板管理
5) 各组件状态卡
6) 需求/测试/架构/用户看板
6.6 建立特性版本火车
1) 排定各特性的优先级
2) 制订特性发布计划
3) 指定研发团队
6.7 建立需求看板
- 需求收集手段
- 原型法
- 头脑风暴
- 用户访谈法
- 问卷调查法
- 标杆分析法
- 观察不期而遇的用户
- 各种会议(如用户大会、展览会、学术研讨会等)
- 现场支持
- 和支持团队(运营团队、技术支持团队)谈话
- 客户热线
- 客户满意度调查
- 用户行为分析
-
合作开发
- 如何产生创意?
- 你是否有自已的idea bucket?
- 头脑风暴
- 深度思考
- 总结提练
6.8 建立设计看板
6.9 测试驱动开发
1) 测试人员的价值
2) 构建自动化测试环境
3) 持续测试可运行系统
4) 接近用户
5) 输出有价值的测试报告
6) 适当的敏捷管理实践的度量体系
6.10 自动化的单元测试
1) 白盒测试工具介绍
2) 黑盒测试工具介绍
3) 工具举例
6.11 自动化产品级集成测试
6.12 产品验收测试管理
1) 迭代验收
2) 产品包验收
3) 用户验收
4) 发布上线测试
6.13 产品级敏捷开发项目管理
1) 建立项目管理可视化看板
2) 站立会议
3) 轻量级度量
6.14 讨论:列出一个贵公司的产品,并列出产品级敏捷开发计划。
7、IPD和敏捷融合实施成功的关键步骤和关键因素
7.1 组织方面的变革
1) IPD组织与敏捷组织的差异
2) 管理者思维的转变
3) 开发人员思维的转变
4) 测试人员思维的转变
5) 质量保持人员从警察到复合型人才的转变(医生、牧师、教练、警察四个角色)
7.2 流程方面的变革
1) 在IPD流程中嵌入敏捷开发流程
2) IPD重量级流程和敏捷轻量级流程的融合
3) 敏捷需求管理流程
4) 流程裁剪
5) IPD中瀑布开发模型和迭代开发的差异
6) IPD重流程,敏捷更加重视结果
7.3 绩效管理方面的变革
1) 构建敏捷的自运作团队
2) 从KPI到OKR
3) 敏捷考核与IPD考核的差异
4) 扁平化的绩效管理模式(敏捷团队,人人平等)
7.4 IT工具方面的变革
1)项目管理工具(禅道,TAPD,MANTIS等)
2)持续集成工具(CruiseControl、Jenkins、IncrediBuild、InstallShield等)
3)单元测试工具(JUnit、CUnit、CppUnit、google/gtest、google/gmock等)
4)代码检查工具(PCLINT、checkStyle、FindBugs 、codecheck、Cppcheck、PMD代码分析工具等)
8、总结及答疑
研讨:根据这两天学到的知识,我公司如何实施IPD加敏捷的最佳实践?每组5分钟,派代表发言。
培训课程
产品