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