特别企划
作为内训课程时,可根据贵公司的业务领域特点、过程体系与研发项目生命周期对本课程进行定制化。并且,强烈建议直接采用贵公司实际项目(已完成的或者正在进行的)作为课堂互动时的部分讲解案例,以提升学员“身临其境”的体验。
课程背景
“用户根本不知道他们想要什么,直到我们给他展示产品之前。”
——史蒂夫.乔布斯
需求开发与需求分析工作贯穿软件研发生命周期的全过程。如何平衡不同角色的用户对于系统/产品的不同方面的需求?如何协调功能性需求与非功能性需求之间的矛盾?如何有效地分析需求?如何一致、完整与可回溯地将需求分析结果与研发人员进行有效地沟通……这一系列的问题都对软件研发人员的能力和素质提出了很高的要求。需求开发与需求管理能力的培养成为了摆在软件研发组织面前的一大课题。
为了帮助软件研发人员对以上问题有清晰的认识、完整的了解和全面的把握,我们特别规划了“有效需求分析训练营”这门课程。本课程全程采用“工作坊“互动式方式,内容包括大量案例(而这些案例绝大部分又都是讲师在历年从事软件开发和咨询过程中亲历亲为的案例),通过对实际案例的研讨,加深学员对所学内容的理解和实际转化能力。
课程大纲
Day 1
Module 1复习:需求与需求规划
Attention! 我们说的可是“需求”—— “需求”基本概念、各类“需求”的定义(功能需求、非功能需求/质量属性、设计约束的定义)和各个层级的需求(用户需求/业务需求、产品需求与产品组件需求)
Module 2 需求分析(上)
需求分析的基本原则:问题的识别、评估、平衡和综合
需求分析的工具之一:使用“用户故事”技术,分析系统的业务场景
“用户故事“的详细讲解,包括其难点与重点
相关实际案例的解析与讨论
分组演练1:使用用户故事技术,定义5个本项目典型的用业务场景
需求分析的工具之二:使用“用户故事地图”技术,分析系统各个MVP(最小可应用产品)的业务场景与主要功能项
“用户故事地图“技术的详细讲解,包括其难点与重点
相关实际案例的解析与讨论
分组演练2:使用“用户故事地图”技术,为本项目规划前3个MVP的主要功能项
需求分析的工具之三:分析功能性需求之用户故事(UseCase)
最细致的需求分析神器——用户用例
UseCase所带来的“如来神掌”效应:区分“系统”与“用户”的边界
正反案例介绍与剖析:用户用例描述“场景级”需求的实例
分组演练3:使用UseCase方法完成各自项目3项需求的规格化定义
Day 2
Module 3需求分析(下)
当“谁也讲不清楚系统的需求”时使用的分析神器——原型法
原型法最关键的地方——你需要哪一部分的原型?
原型法的“需求评估”环节如何操作?
分析非功能性需求的“八元方法”——从8个维度分析非功能性需求
需求的平衡
使用Kano模型判断需求的优先级
使用“二叉树”方法设定需求的优先级
Module 4需求建模
需求建模——使用符号化语言动态的描述需求
需求建模的方法之一:数据流图
需求建模的方法之二:实体-关系图
需求建模的方法之三:状态迁移图
分组演练4:使用状态迁移图完成各自项目的顶层建模,使用数据流图完成系统与外部的接口需求定义
Module 5需求规格化
需求规格化——使用自然语言动态的描述需求
两种模式的需求规格说明书文档的样例——IRF(界面原型-业务规则-业务流程)和UseCase(用户用例)
需求的命名规则
“好”的和“不好”的需求描述样例剖析
分组演练5:使用IRF方法完成各自项目整体需求规格的定义,包括非功能需求
Module 6 需求的评审与确认
需求评审的方法介绍:正规检视、同行专家评审与走查
关于需求分析和需求管理的既往经验集成——需求评审检查单
分组演练6:各组交换评审各自的需求规格说明书(第5演练的成果物)
Module 7本次培训总结及答疑
为何放弃治疗——为什么不愿意把需求写清楚?
让我们一起把把脉吧——在贵公司如何部署需求开发与需求管理活