有效软件需求分析训练营课程
课程天数:2天
课程介绍
本课程将以WorkShop工作坊的形式,以软件项目的生命周期为主线,以识别项目交付价值、需求分析、需求规格化、需求评审与确认的时间顺序,讲解软件项目需求开发与需求管理的基本知识点和基本概念,讲述需求开发和需求分析的主流方法及其可应用性。特别的,本课程重点阐述一般在需求开发与需求管理中常见的错误和/或容易被忽略的问题,例如:业务需求、用户需求与软件需求之间的区别与练习,关于非功能性需求的分析与获取,需求变更中的“影响度分析“……等内容。
本课程学员将被分为若干小组,每个小组使用一个项目场景完成5个实战演练,内容涵盖需求开发与需求管理的全生命周期,包括:需求的调研与捕捉、需求分析、需求规格化、需求的评审……等内容。
课程收益
• 分析业界公司在需求管理和需求开发过程中的误区,并分享成功经验;
• 站在“项目交付价值”的全新角度了解在需求开发和需求分析的过程、以及在这个过程中各种技术和方法论的使用特点;
• 理解需求分析/需求建模的主流方法:User Story 用户故事、UseCase用户用例、Kono分析模型、数据流图、状态迁移图、实体/关系图;
• 理解非功能性的分类、示例以及如何获取的方法;
• 掌握规格化需求时的注意事项与模板示例;
• 了解需求评审时的3种常用的方法:正规检视、同行专家评审与走查;
• 了解需求变更控制的流程、要素与注意事项。
培训对象
项目经理及项目管理(PMO)人员、需求分析人员、高级开发与设计人员、高级测试工程师。
课程大纲
第一单元:需求开发与需求管理
• 过程:讲师扮演客户,学员(分组)扮演需求调研人员,模拟需求开发过程。
• 讲评:通过演练来认识“靠谱的需求从哪里来”的命题,认识需求开发与需求管理的常见误区——边界不清晰、缺少可视化监控手段以及无限制拔高用户对系统的期望值 ……
• 关于软件项目中已经被证明行之有效的、有关需求开发与需求管理的一些经验数据,例如:需求分析和需求开发活动在全项目生命周期的工作量占比至少应该达到多少?
• 做好需求分析的第一要务——我们交付的是价值,而非产品本身
第二单元:打开软件需求的黑匣子
• Attention! 我们说的可是“软件需求”—— “需求”基本概念、各类“需求”的定义(功能需求、非功能需求/质量属性、设计约束的定义)和各个层级的需求(用户需求/业务需求、产品需求与产品组件需求)
• 现实总不如看起来那么美好之1——软件需求开发和需求管理的两大常态:1)“用户讲不清楚需求”和2)“需求总是处于变更当中”
• 现实总不如看起来那么美好之2——你所接收从用户/市场人员/业务人员转发过来的需求通常存在哪些问题:
• 三种不同详细程度的“需求”:白云级需求、风筝级需求和场景级需求
• 有效软件需求分析的第一要务——明确:我们交付的不是项目本身,而是价值
• 你准备好了吗——作为需求分析人员,在软件需求开发和需求管理过程中你将承担怎样的角色与职责?
• 诺兰模型永放光芒——如何有效的引导和限制用户的“期望值”、如何快速而又准确的识别项目的交付价值?
• 演练1:研究给定的项目案例(可以直接采用贵公司实际项目作为课堂案例),判断相关方的期望值是什么?以及,用一句话总结项目的“交付价值”是什么。
• 演练2:继续使用第一个演练的场景,尝试使用“用户故事”方法分析本系统的5项“白云级”需求
• 演练3:继续使用第一个演练的场景,尝试使用“用户用例”的方法分析本系统的3项“风筝级”需求
第三单元:需求的分析
• 早期需求分析的神器——用户故事(User Story)
• 讲得清楚每条需求“以便于给用户带来怎样的价值”是用户故事方法最神奇的地方
• 正反案例介绍与剖析:用户故事描述“风筝级”需求的实例
• 场景级需求的分析神器——用户用例(UseCase)
• UseCase所带来的“划一刀”效应:区分“系统”与“用户”的边界
• 正反案例介绍与剖析:用户用例描述“场景级”需求的实例
• 当“谁也讲不清楚系统的需求”时使用的分析神器——原型法
• 原型法最关键的地方——你需要哪一部分的原型?
• 原型法的“需求评估”环节如何操作?
• 使用Kono模型判断需求的优先级
• 使用“二叉树”方法设定需求的优先级
• 演练1:继续使用第一个演练的场景,尝试使用“用户故事”方法分析本系统的5项“白云级”需求
• 演练2:继续使用第一个演练的场景,尝试使用“用户用例”的方法分析本系统的3项“风筝级”需求
第四单元:需求的建模与需求的规格化
• 需求建模的方法之一:数据流图
• 需求建模的方法之二:实体-关系图
• 需求建模的方法之三:状态迁移图
• 两种模式的需求规格说明书文档的样例——IRF(界面原型-业务规则-业务流程)和UseCase(用户用例)
• 需求的命名规则
• “好”的和“不好”的需求描述样例剖析
• 演练3:根据第二和第三个演练的成果,使用状态迁移图的方法建立本系统的顶层模型,然后分别使用数据流图和IRF方式完成指定需求的规格化工作
第五单元:需求的分解与跟踪
• 需求的分解——从用户需求/业务需求到软件需求,从“用户的视角”——>“软件的视角”
• 需求的跟踪的方法——需求跟踪矩阵
• 需求的横向跟踪的解决方案
• 需求重用,以及“模式重用”的案例介绍与剖析
第六单元:需求的评审与确认
• 软件需求的团队协作模型
• 需求评审的方法介绍:
• 关于需求分析和需求管理的既往经验集成——需求评审检查单
• 演练4:小组交换第4个演练的成果、使用“走查”方法评审对方的需求规格
第七单元:管理需求变更
• 变更管理的流程
• 变更管理的度量