上海艾纵企业管理咨询有限公司 - 课程体系 - 专题课程 - 软件项目管理技术专题


您好!欢迎来到上海艾纵企业管理咨询有限公司!

加入收藏

登录注册

400-676-1955

专题课程

实用敏捷实践

我要报名

编辑日期 2017-09-05  阅读次数:550 次

【课程背景】

敏捷(Agile)是一种快速响应变化的软件开发方法,据美国专门从事跟踪软件项目成功或失败的权威机构Standish Group的统计数据显示,敏捷方法的实施可以将项目失败的概率从29%降低至9%,敏捷方法的价值毋庸置疑。

然而,敏捷方法看似简单,实则内涵丰富,知易行难,这也导致了在国内敏捷开发很多时候被实施为“996”的拼命急速开发模式;同时,也有较多的企业在导入敏捷方法后,实践过程中形似而神非,并没有带来应有的价值和效果。这些都是对敏捷的误解和误用。

本课程重点介绍了敏捷管理-Scrum与敏捷开发-极限编程这两种在业界应用最广的两套敏捷方法,通过知识讲解、案例分享、讨论反思、练习及点评的方式,让学员掌握敏捷软件开发的过程、方法及技能,以运用到实际的研发工作中。

【培训特色】

1.多实战。本课程注重实战设计了10多个练习,让学员通过练习与教员的点评,应用学到的技能。

2.多案例。本课程授课过程教员会和学员分享自己实际咨询过的客户的多个项目的实际案例。

3.多讨论。本课程授课过程,引入了常见难点、疑点的讨论和反思,透过现象把握敏捷的本质,以在不同的研发场景下更加灵活、有效的运用敏捷方法。

【目标收益】

通过本课程可以让学员掌握敏捷软件开发的过程与方法实践,理解每条典型实践背后的原理,以及每条实践如何因地制宜的进行变通。学员可收获的主要知识及技能包括:

Ø 敏捷方法中如何进行计划与估算?

Ø 敏捷方法中如何管理团队?

Ø 敏捷方法中如何开发需求、管理需求?

Ø 敏捷方法中如何进行设计与编码?

Ø 敏捷方法中如何保证产品质量?

Ø 实施敏捷方法的常见误区有哪些?

【培训对象】

研发部门经理、项目经理、产品经理、需求工程师、软件工程师、测试工程师、PPQA 、EPG等


【课程大纲】

主题

内容

 

 

 

 

 

第一部分敏捷软件开发概述

讨论:你是如何理解“敏捷”的?

辨析:对敏捷方法的误解

敏捷方法的文化基础与背景

规范VS敏捷:敏捷方法与瀑布方法的成功率对比

规范VS敏捷:敏捷方法与规范方法的平衡策略的比较

规范VS敏捷:规范与敏捷的假设与反思

为什么敏捷方法可以成功?

敏捷方法的根基:敏捷方法宣言 与12条原则

讨论:什么样的开发人员适合/不适合参与敏捷开发?

练习:命令式开发管理

练习:自管理式团队

 

 

第二部分Scrum概述

Scrum名词释义:橄榄球是野蛮人的运动吗?

Scrum的过程:雪人模型

Scrum的框架:三个角色

Scrum的框架:三个活动

Scrum的框架:三个工作产品

 

部分Scrum的角色

Scrum开发团队的组成

猪与鸡:Scrum 的角色

讨论:谁是pigs?

Scrum Master的职责

优秀的Scrum Master的6种品质

练习:不同人担当Scrum Master的优缺点

Product Owner的职责

讨论:是否可以拥有两个产品负责人

产品负责人的品质:ABCDE

讨论:是否可以让Product owner和Scrum Master合并?

Product Owner在实践中的常见问题

如何让需求分析人员升级为Product Owner

Scrum Team

团队成员的交叉职责

Team的承诺

讨论:完美需求文档的梦想

测试人员在Scrum中的职能演变

练习:西游记中Scrum角色的映射

 

部分Scrum的文档

文档1:好看又好用Scrum看板

Scrum看板案例

燃尽图案例

文档2:需求与需求池 用户故事 与 Product Backlog

用户故事的描述方式

用户故事样例

用户故事的特征

练习:用户故事描述需求

思考:完备地识别用户故事

讨论:用户故事的其他表达方式

辨析:User Story 和 Use Case 的区别

讨论:用户故事的细化

Product Backlog样例

文档3:敏捷任务清单Sprint backlog

用户故事拆分为任务

任务的工作量估算

Sprint Backlog的演变

 

 

 

部分Scrum的过程

Scrum雪人模型

活动1:Sprint策划会议

敏捷的估算:策划扑克法

策划扑克法的原理

策划扑克法的流程与步骤

练习:策划扑克法

定范围:Sprint策划会议上半场

划分需求的优先级

划分用户故事的优先级

排任务:Sprint策划会议下半场

分配任务时—切片法

预防过于乐观的估计:迭代内可支配时间平衡表

练习:制定Sprint的Backlog

活动2:冲刺 Sprint与站立会议

讨论:冲刺的特征

迭代中的同步工作

Sprint中需求的变更管理

Sprint的中止

每日站立会议的目的

站立会议的典型实践

每日站立会议的做法

每日站立会议的纪律

站立会议的细节1:如何站

站立会议的细节2:外部人员的参与

站立会议的细节3:议题的延展

站立会议的细节4:看板的使用

站立会议的细节5:何谓任务已完成

站立会议的细节6:大团队的站立会议

站立会议的细节7:会后处理

站立会议体现的团队文化

每日站立会议的制度化

案例:晨会作业指南

练习:每日开发与站立会议

Sprint评审

sprint演示的作用

Sprint Review

Sprint review的注意事项

Sprint Review — 可能的措施

练习:迭代评审

活动3:Sprint评审

Sprint review的作用

Sprint review的注意事项

练习:迭代评审

活动4:Sprint 回顾

Sprint 回顾的流程

Sprint 回顾的案例

练习:迭代回顾

 

 

 

部分Scrum方法中的其他话题

Scrum方法中的开发阶段:项目生命周期

Scrum方法中的开发阶段:产品定义阶段的主要活动

Scrum方法中的开发阶段迭代开发阶段的主要活动

Scrum方法中的开发阶段:结束阶段的主要活动

SCRUM方法中的时间箱管理

时间箱管理的好处

没有银弹:Scrum不是万能钥匙 

Scrum方法的10大典型障碍

 

 

 

 

部分极限编程简介

极限的含义:极限编程( eXtreme Programming )

谁在用XP?

什么时候需要XP?

XP的4个价值目标:沟通

XP的4个价值目标:简单

XP的4个价值目标:反馈

XP的4个价值目标:勇气

XP的过程

XP中程序员的一天

 

部分极限编程的12条核心实践

现场客户(On-site customer) 

策划游戏(Planning game) 

小发行版(Small releases) 

集体代码所有权(Collective ownership) 

一周40小时 (40-hour week) 

系统隐喻(System Metaphor) 

简单设计(Simple design) 

配对编程(pair programming) 

编码标准(Coding standards) 

测试驱动(Test-driven) 

重构(Refactoring

持续集成(Continuous integration) 

12条实践之间的互相支持

 

第九部分 XP的其他话题

CMM角度看XP

对XP的置疑

不适用于XP的场合

XP项目失败的常见错误

 

 

第十部分 敏捷方法小结

敏捷实践的使用率调查

敏捷方法 VS 计划驱动方法

实施敏捷方法的常见错误

推荐书籍与资源