需求管理方法论课件.ppt
《需求管理方法论课件.ppt》由会员分享,可在线阅读,更多相关《需求管理方法论课件.ppt(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 2 目的n更深刻的理解需求以及它的价值n更深入的理解需求的层次和类型n为良好的需求管理建立坚实的方法论基础n为更有效的管理需求给出实践和建议3 大纲n需求管理介绍n需求管理的重要概念n需求跟踪n深入管理需求n编写好的需求n需求变更管理4 需求管理介绍n什么是需求?什么是需求管理?n常见问题n需求管理的重要性和益处5 项目成功因素源于: “Chaos Chronicles, III, 2003”. 清晰的商业目标清晰的商业目标17% 用户积极用户积极参与程度参与程度7%最小化范围最小化范围12%敏捷的需求过程敏捷的需求过程管理层的管理层的 支持支持14%15%14%6%5%5%5%有经验的有
2、经验的 项目经理项目经理标准的标准的 组织结构组织结构可靠的可靠的 估算估算规范的规范的 方法方法熟练的员工熟练的员工n 28%的项目按时并在预算内完成n 49%的项目超出原先估算n 时间平均延迟了63%n 成本超出了45%n 23%的项目在完成之前被取消6 项目规模是关键成功率(%)Standish Group, 99 ()项目规模($)7 什么是“需求”?n 任何影响产品或系统设计制造方式的信息n 功能n 性能n 安全性n 可用性n n 复杂的产品/项目有数以千计的需求n 飞机、汽车、火车、手机n 同义词n 目标,规则,规约,约束,要求,特性,标准8 需求无处不在需求需求目的目标目标法规条
3、件条件需求特性特性功能功能规则风险风险9 什么是“需求管理”?进行需求管理的目的是在客户和 .项目 .之间建立统一的认识。 这种与客户一致的认识是规划和管理 项目的基础。”卡内基梅隆大学软件工程学院软件能力成熟度模型(CMM)。 www.sei.cmu.edu/cmm突然,国王和护城河承包商发生了激烈争执,然后,需求管理诞生了。10 为什么要进行需求管理?n “分析报告指出多达71的项目失败是因为差劲的需求管理,这个是项目失败的最主要的原因,比落后的技术,进度失控或者混乱的变更管理还要关键” CIO Magazine, 2005/1111 n 错误的需求会对项目的整个生命周期造成多米诺骨牌效应
4、n 遗漏用户需求将导致遗漏系统功能点,又将导致遗漏设计模块,最终导致功能失效UserSystemFailureDesign多米诺骨牌效应12 常见问题1. 需求只存在组织中那些“专家”的脑子里,没有被记录下来2. 有时客户的需求会被忽略3. 而有时候开发的功能却不被客户使用4. 客户签字确认了需求却一直提出修改要求5. 需求变更对项目影响很大,难以确定变更的影响范围和成本6. 市场部门、开发部门、测试部门跨部门的沟通存在问题,例如需求变化时不能迅速通知到测试部门去调整测试计划和案例。7. 需求规格说明书的要求都实现了,客户却不满意8. 需求的研发状态,需求变更的状态难以掌握如果您的项目中有3项
5、类似的问题,那就说明参加这门培训是值得的13 电信业和银行业15个项目统计n Hofmann and Lehner 2001n 最成功的项目在需求工程上投入了28%的资源:需求获取,需求建模,需求确认和验证等n 平均每个项目在需求活动上投入了15.7%的工作量和占了 38.6%的时间14 需求管理的作用 I 提高质量n 关于质量,Crosby的定义很简单与需求一致。n 正确的需求:正确的功能的前提n 一致性n 与需求保持一致并不仅仅在项目的后期用测试来验证,更强调的是在项目的每一个阶段都紧紧围绕需求这个主线来开展工作。n 需求跟踪正是保证需求演化的整个过程都是与需求保持一致,以此保证项目和产品
6、的最终质量 Phil Crosby15 需求管理的作用 II 成本控制n 目标正确是第一位的需求的正确捕获和表达n在项目后期才发现需求的缺陷,修复需要非常高的成本n 需求分析n分析得出带来最大价值的需求n同时得出所需的成本n我们的目标:n合理成本下的效益最佳n 需求变化时如何控制成本n洞察变更影响n影响分析:迅速定位需要进行修改的模块16 工作量时间典型较好整体成本低整体成本低缩短了缩短了开发时间开发时间第一时间采取措施能降低成本和缩短时间第一时间采取措施能降低成本和缩短时间17 需求管理的作用 III 支持项目进度的管理n 真实项目进度的反映n 例如,多少需求已经被实现,它们的状态如何?n
7、又如哪些需求已经有对应的测试案例,哪些需求已经测试通过?n 需求驱动开发n 需求活动在项目正式立项之前就展开n 需求分解后的功能点/模块成为项目管理中的需要实现的任务18 课程大纲n 需求管理介绍n 需求管理的重要概念n 需求的“沙漏”我们工作的全景视图n 涉众的概念n 需求的层次n 需求捕获n 需求跟踪n 深入管理需求n 编写好的需求n 需求变更管理19 需求的 “沙漏”20 需求的 “沙漏”系统边界的确定需求的筛选需求开发标识涉众收集需求需求管理需求的演化问题陈述高度分散、凌乱的非结构的信息正式的结构化的需求解决方案设计21 一些的需求专家人许多相关人员.工 程工程问题陈述定义问题.定义解
8、决方案需求的 “沙漏”22 需求的 “沙漏”系统边界的确定需求的筛选标识涉众收集需求.需求的演化问题陈述高度分散、凌乱的非结构的信息访谈,调查问卷观测用户现有系统改进建议,问题报告,创新研究正式的需求陈述:单独的, 唯一的,清晰的, 准确的,抽象的,良好的, 可测试的可追踪的正式的结构化的需求解决方案设计23 孙子兵法24 选择做正确的事情“追求胜利”“作战”将事情做对需求的 “沙漏”25 需求管理的困难n 需求:n 不明确n 众多来源n 难以用文字表达n 关联内容太多n 变更n 数量巨大26 需求文档的文档反映需求的演变层次n 某个银行研发中心的需求演进的层次n 业务规格说明书 软件规格说明
9、书 概要设计详细设计n 某个电信制造厂商的需求演进的层次n 市场需求 产品包需求 设计需求n 某个芯片提供商的需求演进的层次n 市场需求产品需求 系统功能n 不同的产品/系统,不同的公司,对自己的需求体系有自己的定义27 典型的需求层次n 业务需求 n 定义一个机构达到的目标和目的。n 用户需求(涉众需求) n 说明用户需要系统提供什么能力帮助其完成任务。n 系统需求 n 说明系统必需完成什么功能才能提供用户所需的。28 业务需求n 我们为什么要进行这个项目?n 组织的业务目标n 提高公司的运营效率内部信息管理信息系统n 提高产品的市场竞争力对商业软件n 通常来自n 投资方n 管理层n 市场部
10、n 产品部n 常见文档记录方式n 工作说明书n 前景和范围文档n 市场需求文档n 项目计划书(可行性报告)29 业务需求n 若对项目预期的范围和目标有不同的理解,就无法对下列获得一致意见n 对哪些用户应该被访谈获取需求n 哪些功能应该被纳入n 现象n 某些特性先被添加,又被删除,又被加入n 分布式开发团队尤为重要n 决策基础n 目标版本n 应用的广度和深度n 需求变更30 用户需求(涉众需求)n 用户的目标,用户希望完成的任务n 影响系统的需求信息类型:n 业务目标n 使用场景n 外部约束n用户界面需求n接口需求n环境的约束n 业务规则n 数据定义n 用户需求 - 涉众需求的通俗解释31 系统
11、需求n 产品中实现的功能性需求n 用户以此完成工作n 进而满足业务需求n 描述包含多组件的系统的顶级需求32 如果世界就这么简单业务需求业务需求用户需求用户需求系统需求系统需求33 设计测试质量/ 标准法律/规章维护 市场培训支持 实现部署业务系统需求客户用户项目中各种信息交织在一起34 课程大纲n 需求管理介绍n 需求管理的重要概念n 需求的“沙漏”我们工作的全景视图n 涉众的概念n 需求的层次n 需求捕获n 需求跟踪n 深入管理需求n 编写好的需求n 需求变更管理35 捕获需求n 我们必须知道哪些信息是从来的需求的来源n 我们必须知道哪些信息是我们需要的需求的分类n 我们必须善于发现需求捕
12、获需求的技巧36 捕获需求活动:n 标识涉众n 与涉众交流n 收集需求n 给需求的重要程度排序n 选择需求n 记录需求37 r572最终用户最终用户培训和支持培训和支持业务业务客户客户考虑所有可能的用户考虑所有可能的用户. 遗漏了他们的任何需求都会导致系统问题的出现遗漏了他们的任何需求都会导致系统问题的出现或系统失败或系统失败技术支持技术支持安装和维护安装和维护销售员销售员管理者,经理管理者,经理运输和装卸运输和装卸每个涉众都有各自的需求集38 标识涉众n Stakeholder: 涉众n 涉众是对于系统有利益关系或关注的个人,团队或组织。IEEE 1471有哪些涉众角色?n 投资方(系统的投
13、资方)n 主管方(批准/管理系统的)n 最终用户(用户/系统受益方)n 操作方(操作/维护系统的)n 监管方(认证系统的)n 测试方(负责系统验收)n 其它(受系统影响的)39 涉众角色举例XXX 系统:系统:投资方投资方计划部计划部主管方主管方信息化部信息化部用户代表用户代表市场部市场部最终用户最终用户营业员营业员监管方监管方审计部审计部测试方测试方信息化部信息化部操作方操作方信息化部信息化部概念:涉众角色40 捕获需求n 我们必须知道哪些信息是从来的需求的来源n 我们必须知道哪些信息是我们需要的需求的分类n 引出系统功能的需求信息n 非功能性需求的信息类型n 我们必须善于发现需求捕获需求的
14、技巧41 用户提供给我们的足够的信息吗?n 没有?不知道?n 我们知道要收集哪些信息吗?42 客户不会给你一个清晰全面的需求列表n 业务目标n 使用场景n 业务规则n 功能性需求n 质量属性n 接口需求n 约束n 数据的要求n 等等43 需求分类n 功能需求n 系统必须实现的能力. n 某些系统必须完成的工作. n “系统能够为运输和装卸工作人员提供打印运输标记功能.” n 能够作为一个逻辑时序组织和实现的功能是功能需求.n 非功能需求n 必须被系统满足的潜在的条件. n “约束补充了系统的质量但不会作为一个功能存在.” 对于系统而言,约束不增加任何特殊的工作, 但它起到保证系统满足所需的功能
15、,保证系统更可靠,更易使用. n “音乐点歌系统能够储存15,000,000个在线账号.”n 非功能需求能够作为一个重要规则或条件组织和实现.44 影响系统功能的需求信息类型n 业务目标n 使用场景n 外部约束n用户界面需求n接口需求n环境的约束n 业务规则n 数据定义45 非功能性需求的信息类型n “真实的现实系统中,在决定系统的成功或者失败的因素中,满足非功能性需求往往比满足功能性需求更为重要。”n 性能n 软件质量属性n 对产品的功能作出了补充,从不同方面描述了产品的特性n 如可用性,可移植性,健壮性等等。46 影响系统功能的需求信息类型n 业务目标 业务需求n 使用场景 用例n 外部约
16、束n 用户界面需求n 接口需求n 环境的约束n 业务规则n 数据定义47 场景和用例用于以下目的的技术:用于以下目的的技术:n 详细描述涉众需求n 研究揭示涉众需求的情形n 按照每个目标或状态生成需求n 改善与涉众的沟通n 用涉众语言表达应用情况n 确保需求的完整性n 覆盖全部情况的多种应用n 结构化编写需求文档n 用主场景作为标题结构n 导出验收测试n 设计覆盖所有应用情况的测试48 最终目标最终目标水平水平 1水平水平 2 操操 作作 顺顺 序序实现最终目标实现最终目标的步骤的步骤子目标子目标子目标子目标子目标子目标子目标子目标 子目标子目标子目标子目标子目标子目标用户场景作为不同层次的目
17、标子目标子目标子目标子目标子目标子目标49 应用情况举例(一件行李)应用情况举例(一件行李)行李拥有人在目的地提行李卸机装机就绪装机飞行登机由飞机卸货装机飞行再次装机装入集装箱运至登机口安全检查贴标签登记受控由集装箱卸货交行李卸机装机乘客入座测量称重50 多个场景图n 一个场景图也许不够n 把类似的情况组成一组场景n 场景将包含共同的元素n 指出共同的子场景n 首先设计整个结构n 然后加入特例Sd jer isadDfj fdidfUahfi dfDf dfuy fdasdfF sad fddkgfhuvjdSada fAsdf Klrt fdsFdd ffdSdf dfufAsdfjj oi
18、jfJha dfOiasdf fuDffd dfOrj dsId asd dsDfids adfPrtid yffd场景场景 A场景场景 B共同的子场景共同的子场景51 场景和用例n 使用场景(Usage Scenario)n 多年来需求分析人员一直使用n 用例(Use Case) 以场景为中心的方法n Ivar Jacobson及其同事 (1992)n Larry Constatnine和Lucy Lockwood(1999)n Alistair Cockburn (2001)n 用例不适合n 批处理,主要用于计算的系统,数据仓库n 应用的复杂在于执行的运算或者生成的报表n 关于Use Ca
19、se,请参加UML的资料52 用例n 在讨论用例时会引出包含其他需求信息n 优先级n 使用频率n 业务规则n 所操作的数据n 接口信息53 用例和功能性需求n 开发人员实现的不是业务需求或者用例n 而是功能需求n 用例从actor的角度来表述系统行为,省略了很多细节n 系统外部可见的行为n ATM机和银行的计算机如何通讯n 对于实现用例时需要的详细的功能性需求,需求分析人员应给出明确的描述(Arlow 1998)n 有些功能需求比较容易从用例中理解和导出n 另一些则没有在用例描述中出现n 需求分析员应该对用例和系统的操作环境的理解导出该类功能性的需求54 场景举例(一件行李)行李拥有人在目的地
20、提行李卸机装机就绪装机飞行登机由飞机卸货装机飞行再次装机装箱运至登机口安全检查贴标签登记受控由箱子卸货交行李卸机装机值机人员应该能够记录托运行李物品的旅客信息行李处理机器应该能够把行李放到规定尺寸的箱子中55 记录与用例相关的功能性需求n 用例文档?n 软件需求规格说明书?n 第一种只使用用例文档n 把功能性需求包含在每个用例描述n 还需要单独记录非功能性需求,以及不与特定用例相关的需求n 第二种用例与软件需求规格说明n 相当简单的用例描述n 用例中推导出的功能性需求记录在SRS中n 可追踪关系n 第三种只使用软件需求规格说明书n 利用用例或者特性来组织n 把用例和功能性需求都记录在SRS中5
21、6 用例使用时的问题n 用例过多n 用例过于复杂n 用例中包含用户界面设计n 用例中包含数据定义n 用户无法理解57 影响系统功能的需求信息类型n 业务目标 业务需求n 使用场景 用例n 外部约束n 用户界面需求n 接口需求n 环境的约束n 业务规则n 数据定义58 外部系统的约束外部系统n 存在或预定义的未来系统n 竞争或合作的系统n 被替换的系统n 相关的系统,例如,在其它终端的行李系统外部约束n 接口 (通常是标准的)59 操作环境操作环境我们的系统我们的系统竞争系统竞争系统 F竞争系统竞争系统 E合作系统合作系统 D合作系统合作系统 C竞争系统竞争系统 B合作系统合作系统 A环境的约束
22、n环境的作用:n 环境对系统的作用是什么n引入的环境:n 系统对环境的作用是什么 对其自身的作用 (例如,振动)60 环境约束的例子环境的作用:n 必须能够在水下发送信息n 必须能够在失重的条件下做记录n 必须能够在有暴风雨的条件下发现来进攻的导弹引入的环境:n 不允许制造太大的噪音或振动n 不能干扰邻近的电子设备61 影响系统功能的需求信息类型n 业务目标 业务需求n 使用场景 用例n 外部约束n 用户界面需求n 接口需求n 环境的约束n 业务规则n 数据定义62 业务规则n 软件功能性需求的一个主要来源n 指定了系统为符合这种规则必须具备的功能n 业务规则是公司的重要资产n 你明白了,他明
23、白了吗?n 构建规则集能够帮助需求分析人员,帮助开发者理解需求63 业务规则的种类n 事实n 关于数据实体及其属性的陈述n 例,每个订单都包含运费n 例,如果购买的是不可退的票,如改变行程,就要另外付费n 约束n 限制了系统或用户可以执行哪些操作n 词汇,必须,不可以,可以不或者只有n 例,图书馆的借阅者最多可以同时借阅10本书例例: ATM跨行取款要收费跨行取款要收费1RMB我们会要求这个吗我们会要求这个吗?64 业务规则的种类(续)n 动作/状态触发规则n 特定条件下触发某个动作n 如,机票到了失效日期的前一个礼拜,则应通知客户n 计算n 定义了算法n 如,机场建设费65 业务规则和需求n
24、 业务规则会影响到多个应用n 企业级的资源进行管理n Ask Whyn 客户会告诉你需求相关的业务规则n 记录需求和规则之间的关系n 利用属性n 利用追踪关系66 练习和讨论n 针对每种业务规则,给出您的项目中的例子n 找出需求背后的来源,从而发现业务规则67 数据定义n 独立的数据定义n 方便信息的查询n 避免冗余和不一致性n 数据字典n 定义应用中使用的数据元素或属性的含义、数据类型、长度、格式需要的精度以及允许的取值n 作为项目术语表的补充n 可作为SRS的附录,或者单独的文档n 如何定义n 符号标识法n 利用CASE工具68 符号表示法n 被定义的数据项在等号的左边,其定义在等号的右边
25、n 基本数据元素n 确定其数据类型,大小,允许的取值范围和其他属性n 订单标识号=*系统生成的6位顺序整数,以1开头,并能唯一标识每个订单*n 组合结构n 一个数据结构包含多个数据项 ():表示可选n 订单中的产品 = 产品编号名称数据数量单位(供应商名称)n 重复项n 用大括号表示可出现一个数据结构中的一个数据项的多个实例n 订单订单标识号订单日期帐户号1:10订单中的产品n 可选项n 数量单位=“克”|“千克”|“个”|“打”|69 非功能性需求的信息类型n “真实的现实系统中,在决定系统的成功或者失败的因素中,满足非功能性需求往往比满足功能性需求更为重要。”n 性能n 软件质量属性n 对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 管理 方法论 课件
限制150内