特别企划
本课程学员将被分为若干小组,每个小组使用一个项目场景顺序完成8个实战演练,内容涵盖需求开发与需求管理的全生命周期,包括:需求的捕捉与挖掘、3种方式的需求分析方法、3种方式的需求建模、2种方式的需求规格化、需求评审……等;
作为内训课程时,可根据贵公司的业务领域特点、过程体系与研发项目生命周期对本课程进行定制化。并且,强烈建议直接采用贵公司实际项目(已完成的或者正在进行的)作为学员分组演练案例,以提升学员“身临其境”的体验。
课程背景
“用户根本不知道他们想要什么,直到我们给他展示产品之前。”
——史蒂夫.乔布斯
“世界上所有的需求都至少被修改过三次。唯一一个只经历过两次变更的需求工程师已经死了,倒在了去修改需求的路上... ...”
——杰拉尔德.温伯格
需求开发与需求分析工作贯穿软件研发生命周期的全过程。如何准确而又快速的捕捉到一个软件系统的交付价值?如何平衡不同角色的用户对于系统/产品的不同方面的需求?如何协调功能性需求与非功能性需求之间的矛盾?如何有效地分析需求?如何一致、完整与可回溯地将需求分析结果与研发人员进行有效地沟通……这一系列的问题都对需求分析人员的能力和素质提出了很高的要求。需求开发与需求管理能力的培养成为了摆在软件研发组织面前的一大课题。
为了帮助需求分析人员对以上问题有清晰的认识、完整的了解和全面的把握,我们特别规划了“有效需求分析训练营”这门课程。本课程除了对“需求”的基本概念、“需求开发”的基本框架和目前主流的需求分析方法做出了明确阐述,更为重要的是,凭藉讲师在多种不同行业客户的成功经验(金融、电力、能源、通讯、物流、中间件……),本课程还将对业界优秀企业关于需求开发与需求管理方面的最佳实践进行深入的分享、分析和论述,使用“工作坊”的形式以重点关注学员在可操作性能力方面的提升。
● 洞悉数字经济时代下领导者的挑战与企业画像
● 一场由内而外的商务礼仪修炼,开阔学员商业视野,提升领导者影响力
● 实现自我察觉,激发学员潜能,提升学员敬业度与内驱力
● 塑造学员个人影响力与领导力,进而提升企业的公众力,提升企业社会竞争力
● 学习与客户零障碍沟通技巧,提升客户体验,提升经济效益
● 分析客户类型,理解对方心理,对症下药
课程特色
本课程将以WorkShop工作坊的形式,以研发项目生命周期中的需求开发与需求管理相关内容为主线,以识别产品交付价值、产品需求分析、需求规格化、需求评审与确认的时间顺序,讲解研发项目需求开发与需求管理的基本知识点和基本概念,讲述需求开发和需求分析的主流方法及其可应用性。特别的,本课程重点阐述一般在需求开发与需求管理中常见的错误和/或容易被忽略的问题,例如:业务需求、用户需求与产品需求之间的区别与联系、如何设置需求的优先级、非功能性需求如何分析与获取、需求变更中的“影响度分析“……等内容,课程重点包含——
o 分析业界公司在需求管理和需求开发过程中的误区,并分享成功经验,尤其是帮助学员建立“站在系统交付价值”的全局观和全新角度,了解和明确需求开发和需求分析的过程,明确需求开发和需求管理的全流程,以及与软件开发其他过程(重点是测试过程、设计过程和项目管理过程)之间的关联关系;
o 站在“项目交付价值”的全新角度了解需求开发和需求分析的过程,帮助学员理解和掌握捕捉和挖掘需求时的主要方法,包括:用户访谈、业务逻辑捕捉、联合需求工作会议;理解和掌握需求分析/需求建模时的主流方法,包括:User Story 用户故事、User Story Mapping用户故事地图、UseCase用户用例、最小原型法、数据流图、有限状态集图、实体/关系图、KANO模型……;
o 理解非功能性需求的分类、示例以及如何捕捉与获取的方法;
o 掌握规格化需求时的注意事项与模板示例,明晰规格化需求时的要求和书写规范,帮助学员理解和掌握两种需求规格化方法(一简一繁);
o 了解需求变更控制的流程、要素与注意事项。
本课程全程采用互动式工作坊方式,内容包括大量案例(而这些案例绝大部分又都是讲师在历年从事软件开发和咨询过程中亲历亲为的案例),通过对实际案例的研讨,加深学员对所学内容的理解和实际转化能力。同时,贯穿课程内容有8个精心设计的分组演练。这组演练将使用同样的场景、按照需求开发与需求管理各项活动的执行顺序依次展开,即:针对同一系统,从获取和捕捉系统各个干系人的期望值来预判系统的交付价值、从原始需求出发挖掘用户需求、进而分析并分解其用户需求、软件需求直至演练需求的规格化过程。以上安排,将极大地帮助学员加深对培训内容的理解和体会、提升实际操作能力。
课程大纲
第一天
Module 0概述:需求开发与需求管理管理的“Yes”与“No”
角色扮演游戏
过程:讲师扮演客户,学员(分组)扮演需求调研人员,模拟需求开发过程。
讲评:通过演练来认识“靠谱的需求从哪里来”的命题,认识需求开发与需求管理的常见误区——边界不清晰、缺少可视化监控手段以及无限制拔高用户对系统的期望值 ……
需求开发与需求管理过程中的常见问题
一个不是问题的问题——谁该来写需求,研发?业务?产品?
案例剖析:“IT引领业务”的A银行信息科技部 Vs.“IT支撑该业务”的B银行信息科技部
“做正确的事” Vs.“把事做正确”——需求开发与需求管理过程中需要完成的蜕变
做好需求分析的第一要务——我们交付的是价值,而非软件本身
需求分析的BBR模型,也是各个相关方干系人对于一个软件系统的最高要求——“帮忙不惹事”
案例剖析
“桌面以上的需求/明确表明的需求”Vs.“桌面以下的需求/隐含的需求”——重点关注哪些没有被讲出来的需求
案例剖析之一:化繁就简
案例剖析之二:去简就繁
需求开发与需求管理中的3个基本问题
Module 1打开需求的黑匣子
Attention! 我们说的可是“需求”—— “需求”基本概念、各类“需求”的定义(功能需求、非功能需求/质量属性、设计约束的定义)和各个层级的需求(用户需求/业务需求、产品需求与产品组件需求)
需求开发和需求管理在软件研发过程中的位置和地位、需求开发和需求管理与软件研发流程其他环节(例如:系统测试、架构设计……等)的关联关系
现实总不如看起来那么美好之1——需求开发和需求管理过程中的两大常态:1)“用户讲不清楚需求”和2)“需求总是处于变更当中”
现实总不如看起来那么美好之2——你从用户/市场/业务部门同事那里接收过来的“需求”(原始需求)通常存在哪些问题:
1) “业务流程”与“系统流程”的边界不清晰
2) “用户期望”与“系统功能”“的边界不清晰
3) 只有“系统能做什么”,没有“系统做的有多好”
4) 最容易被忽略的一类用户——Administrator
三种不同详细程度的“需求”:白云级需求、风筝级需求和场景级需求
你准备好了吗——作为需求分析人员,在一个项目的需求开发和需求管理过程中你将承担怎样的角色与职责?
你能讲的清楚吗,你自己项目的“独特性”特征是什么?
你能讲的清楚吗,你自己项目的“目标”是什么?或者仅仅只以一句“按时保质的完成任务”作为搪塞,并不清楚或者没有关注到自己的项目会给客户带来的价值?
Module 2 捕捉和挖掘需求
决定捕捉需求策略的三大要素——客户/用户参与程度、需求分析人员的熟练程度、技术性约束条件
我们交付的是“价值”而非“项目”本身——如何从孤立的用户需求中判断系统整体上的“交付价值”
诺兰模型永放光芒——如何有效的引导和限制用户的“期望值”
需求挖掘技术哪家强?实际案例展示——有效的需求捕捉与无效的需求捕捉正反案例介绍与剖析
分组演练1:各分组根据选定的项目场景,分析项目的相关方,并据此制定1份需求开发计划,明确:
1) 项目有哪些相关方,他们各自的诉求是什么;
2) 定义向每一个相关方考查的问题重点/维度,并确定考察方式;
3) 用一句话概括总结项目的“建设目标(暨交付价值)”
【特别企划】:演练中可以使用贵公司自己的实际项目作为演练场景。
捕捉需求的热身活动:需求调研计划与需求调研提纲(含案例分享)
需求开发的方法之1:访谈
需求开发的方法之2:业务逻辑捕捉
需求开发的方法之3:联合需求工作会议
分组演练2:使用演练1的成果,识别案例中需求不明确或者缺失的部分,并据此制定需求调研提纲与问题列表
第二天
Module 3 需求分析
需求分析的基本原则:问题的识别、评估、平衡和综合
分析功能性需求的三种工具之1
早期需求分析的神器——用户故事(User Story)与用户故事地图(User Story Mapping)
讲得清楚每条需求“以便于给用户带来怎样的价值”是用户故事方法最神奇的地方
使用用户故事地图来勾勒需求全貌
正反案例介绍与剖析:用户故事描述“风筝级”需求的实例
分组演练之3:使用“用户故事地图”方法划分系统的逻辑结构,然后使用“用户故事” 方法分析演练项目场景中由讲师指定的5项需求
分析功能性需求的三种工具之2
场景级需求的分析神器——用户用例(UseCase)
UseCase所带来的“如来神掌”效应:区分“系统”与“用户”的边界
正反案例介绍与剖析:用户用例描述“场景级”需求的实例
分组演练之4:使用“用户用例”方法分析演练中由讲师指定项目场景的3项需求
分析功能性需求的三种工具之3
当“谁也讲不清楚系统的需求”时使用的分析神器——原型法
原型法最关键的地方——你需要哪一部分的原型?
原型法的“需求评估”环节如何操作?
分析非功能性需求的“八元方法”——从8个维度分析非功能性需求
需求的平衡
使用Kano模型判断需求的优先级
使用“二叉树”方法设定需求的优先级
第三天
Module 4需求建模与需求规格化
需求建模——使用符号化语言动态的描述需求
需求建模的方法之一:数据流图
需求建模的方法之二:实体-关系图
需求建模的方法之三:状态迁移图
分组演练之5:使用“状态迁移图”完成演练项目场景的顶层建模(可选),使用数据流图分析讲师指定的需求。
需求规格化——使用自然语言动态的描述需求
两种模式的需求规格说明书文档的样例——IRF(界面原型-业务规则-业务流程)和UseCase(用户用例)
需求的命名规则
“好”的和“不好”的需求描述样例剖析
分组演练之6:使用IRF方法撰写需求规格(含非功能需求)
Module 5需求管理过程
他山之石——CMMI需求管理过程域的最佳实践
相关方关于需求的“一致的理解与共通的认识”
建立“需求与工作产品间双向的可回溯关系”
“建立和维护有关需求的度量”
需求的分解与跟踪
需求的分解——从用户需求/业务需求到产品需求,从“用户的视角”——>“产品的视角”
需求的纵向跟踪的解决方案——需求跟踪矩阵、需求履历
如何针对“增强开发模式”跟踪需求
需求的横向跟踪的解决方案——接口关系矩阵
需求重用,以及“模式重用”的案例介绍与剖析
分组演练之7:根据第6个演练的成果,进一步使用IPO方法撰写产品需求规格说明书文档
需求的评审与确认
需求评审的方法介绍:正规检视、同行专家评审与走查
更靠谱的需求评审方式——需求反讲
关于需求分析和需求管理的既往经验集成——需求评审检查单
分组演练之8:小组交换第7个演练的成果、使用“走查”方法评审对方的需求规格
管理需求变更
变更管理的流程
变更管理的度量
Module 6 本次培训总结及答疑
为何放弃治疗——为什么不愿意把需求写清楚?
让我们一起把把脉吧——在贵公司如何部署需求开发与需求管理活动