敏捷:研发管理流程体系(5天)

课程特色

敏捷1.0是由各种相对独立的实践组成的:产品经理可以通过学习用户故事地图来分解和规划需求;项目经理可以通过Scrum来学习计划与跟踪;小组长可以学习看板进行并行任务管理;开发人员可以学习极限编程来改善代码;测试人员更是有众多自动化测试、持续集成、持续发布的工具可用。

然而对于企业的中高层管理者而言,研发流程需要全程优化,只有一致的具体方法衔接步骤,才能保证部门之间的工作顺畅流转。

另外对单个团队而言面对面沟通足矣,但多项目管理则需要文字,甚至——当项目数量庞大时——量化指标才能保证多项目管理的可视化

 

本课程中,会介绍一种贯穿研发全程的敏捷体系:PDD产品驱动开发。全程优化,具体方法,衔接步骤,量化指标是其核心价值观。基于这些价值观,企业可以建立一致的多项目敏捷开发管理方法。

 

本课程是面向过程管理者的定制版本,从全局眼光而非细节来了解如何管理众多采用PDD模式进行开发的项目组。

课程弱化了部分非过程内容(如创新),以及纯技术内容(如编码与自动化测试);并加强了量化管理、过程定义、过程度量数据等内容。

 

尽管没有实际的项目组,课程中仍然会让学员分组并各自假设一个产品(企业中遇到过的真实产品),从而模拟PDD开发的全程。与正常课程不同,在不同的节点上,讲师会增补如何定义、审计、度量此节点内容的章节。


日程表
五天版本在以下阴影位置安排沙盘演练:
 

浅蓝色文字为实际项目练习的内容,需使用笔记本电脑完成;
注:在标注有(电脑演练)的日程中,每组至少携带一台笔记本电脑(每3人1台以上更好)。

 第一天
定制:以下产品创新与用户建模部分(灰色底色)只做简单讲解,不展开;所有练习取消。
其他章节出现灰色底色文字,也表示内容被弱化或取消。


产品创新与用户建模
本章节涉及实例化需求,BDD等内容。但PDD建立了一个新起点,即认为需求分析应该始自整个产品的创新点,而不是产品中的零散客户需要或细节改进。

回顾:敏捷1.0时代的工程方法

敏捷2.0:PDD产品驱动开发与PDD工程实践
讲师演示
在这个环节,一位志愿者将上场,介绍自己一个产品(可真实可虚构)的局部功能,讲师现场展示PDD工程实践的完整过程(从需求场景分解用户故事,需求实例化,编码其中一个Model和Controller,自动化测试其中一个Action即页面),整个过程包含志愿者介绍自己的产品,只需35~41分钟。
在某跨国银行内部分享此内容时,银行在内部宣传时将主题改为:“闪电编程——他的刀有多快”。

4W心人物事创新法:识别需求源头

CVS客户价值流图:理解客户之间的核心价值流转

实际项目演练(白板练习)
绘制各组实际产品的客户价值流图,理解不同客户之间的关系。同时也理解产品运营方如何从客户群中赚取剩余价值与转移价值


1-9-90用户定位分析法:谁是核心用户
实际项目演练(白板练习)
用图分析用户的重要程度

定制:以下需求分析部分极为重要,是后面理解功能点定义、度量、评判标准的关键。故此在过程管理版中予以保留。通过虚拟一个产品,学员学习需求分析的方法,进而理解何为功能点。

PDD 三层需求结构
业务场景:用户之间发生了什么?

实际项目演练(白板练习)
业务场景练习(重点:价值流转,交易,共享,角色引入)

业务数据:哪些业务信息需要处理?
实际项目演练(白板练习)
如何在业务场景中发现业务数据

业务操作 / 用户有哪些业务行为?
实际项目演练(白板练习)
如何利用CIDED/CIDRA模板发现业务数据


 第二天
心人物事创新+需求方法完整案例
实际项目演练(电脑演练)
如何使用Visio模板绘制QUML
实际业务场景,业务数据,业务操作绘制
如何在Word中使用三层需求结构
如何在管理工具中使用三层需求结构(Jira,DevSuite,TFS,视实际情况)
定制:本节增补内容包括
需求三层结构在各种工具中的应用
传统功能点的定义(便于过程管理者与传统功能点使用者对话)
推荐的三层结构导入与推广过程
定制:以下章节内容极为重要,是过程管理的核心内容。


基于功能点的全程量化管理
敏捷产品版本规划
基于业务数据和业务操作的早期估算


实际项目演练(电脑演练)
如何使用Excel模板进行版本规划
编制产品版本规划表

咨询师展示后续工作
在约15~22分钟(以往历史数据)内,将其中一个团队的功能编写为代码(约5~7个页面),并完成Create页面的自动化测试。此内容将在第3天(及3A天)

定制:本节增补内容包括
比传统培训更加详细的《产品版本规划表》介绍,包含其中的20多个度量项的定义
增加工信部、北京市《软件成本度量标准》的介绍

 第三天
定制:以下编码与测试部分会被极大削弱,改为2小时左右的分享。
但此阶段讲师仍会从过程管理的角度讲授开发与自动化测试,以防止过程管理者未来因技术障碍而感觉对此类活动失控。

产品驱动的编码与测试
从需求到代码(案例分享)
VCMD代码解析

实际项目演练(电脑演练)
从需求到代码(咨询师现场示例,将团队的一部分实际需求,转化为MVC代码)
从需求到代码(学员现场演练,将团队的一部分实际需求,转化为MVC代码)

基于Selenium的自动化测试(案例分享)
测试代码解析

实际项目演练(电脑演练)
基于Selenium的自动化测试(咨询师现场示例,将团队的1个页面进行自动化测试)
基于Selenium的自动化测试(学员现场演练,将团队的1~3个页面进行自动化测试)
×由于讲师自建了一个asp.net mvc自动化测试项目,因此使用asp.net mvc的项目组可在课堂上进行尝试。Java版本的项目尚在开发中。
定制:本节增补内容包括
如何度量技术水平,防止代码恶化
如何度量自动化测试,防止团队回避自动化测试,或反之,过于追求自动化测试而导致测试代码远远多于工作代码(很常见的一种情况)

技术评审与Scrum / Technical Review and Scrum
实际项目评审(在团队工作区内)
评审需求文档(Visio,Word/管理工具)
评审基于需求的VCMD分层代码
评审基于Selenium的自动化测试

实际项目演练
建立基于功能点的项目度量数据(进度,质量,代码有效率)
升级产品版本规划表

Scrum相关内容
Scrum快览
Scrum计划会
Scrum每日立会
Scrum反思会

 第五天
定制:本节中的团队内部管理方法会削弱,但将加强外部度量与绩效管理部分。


日常活动与团队建设
自组织团队原理
从项目经理到scrum master
大型团队的敏捷方法:1-3-9团队与松结对编程
代码审查与编码规范

需求/团队/技术/过程的完整示例:L型代码结构 / Case study
敏捷开发绩效管理

定制:
组织级建立与推广敏捷开发过程的步骤
总结与集中答疑环节(约2小时)
考试与评卷环节(考试1小时,评卷并讲解1小时)


最近培训时间


培训课程