需求过程的改进

上传人:san****019 文档编号:70846477 上传时间:2019-01-18 格式:PPT 页数:19 大小:514.01KB
返回 下载 相关 举报
需求过程的改进_第1页
第1页 / 共19页
需求过程的改进_第2页
第2页 / 共19页
需求过程的改进_第3页
第3页 / 共19页
需求过程的改进_第4页
第4页 / 共19页
需求过程的改进_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《需求过程的改进》由会员分享,可在线阅读,更多相关《需求过程的改进(19页珍藏版)》请在金锄头文库上搜索。

1、1,软件或系统项目涉众(stake holder,产品或项目相关人员)的利益之间的相互作用在需求过程中表现得最为强烈。项目涉众包括: 客户: 为达到其公司的业务目标而投资项目或购买产品。 用户:直接或间接与产品打交道,是客户的一部分。 需求分析员:负责编写需求并传达给开发团队。 开发人员:设计、实现和维护产品。 测试人员:确定产品的行为是否与预计的相一致。 文档编制人员:负责编写用户手册、培训资料和系统帮助。 项目经理:制定项目计划并带领开发人员获得成功。 法律人员:确保产品符合所有相关法规。 生产人员:制造包含该软件的产品。 市场营销: 技术支持及其他与产品和客户打交道的人员。,2,改进需求

2、过程,软件过程改进的最终目标是降低软件的创建和维护费用,下面几种方法可以达此目标: 纠正在以前项目或当前项目中遇到的由于软件过程的缺陷而产生的问题。 预见并避免未来的项目中可能会遇到的问题。 采用比当前的方法效率更高的方法。 将介绍需求与各种重要的项目过程和涉众之间的联系、有关软件开发过程改进的一些基本概念,并推荐一种用于改进过程的循环法,同时将列出企业组织应该具有的若干有用的需求“过程资产(process assets)”。 最后描述了过程改进路线图,可用于实现改进的需求工程方法。,3,1 需求与其他项目过程的联系,需求是每个软件项目成功的核心所在,它支持其他技术活动和管理活动。 对需求开发

3、方法和需求管理方法的变更会对项目的其他过程产生影响,反之亦然。 图1演示了需求和其他过程之间的某些连接,下面简要介绍一下这些过程之间的接口。 项目规划 需求是项目规划过程的基 础。,4,需求与其他项目过程的联系,项目跟踪和控制 项目跟踪包括监视每一个需求的状态。 变更控制 将一组需求集确定为基线之后,以后的所有变更都应该通过一个预先定义好的变更控制过程来完成,这一过程有助于确保: 理解所提议的变更产生的影响。 由合适的人选作出接受变更的正式决定。 所有受变更影响的人得到关于发生变更的通知。 根据需要对项目资源和所做出的承诺进行调整。 保持需求文档是最新版本,并且是准确的。 系统测试 用户需求和

4、功能性需求是系统测试必不可少的参考依据。 构造 通过跟踪需求,可以对从每条需求中衍生出来的特定的软件设计和编码元素编写文档。 编写用户文档 产品需求是用户文档编写过程的依据。,5,2 需求和各涉众组,图2展示了与软件开发组有联系的某些项目涉众,也展示了他们对项目需求工程活动产生的某些影响。,6,2 需求和各涉众组,当软件开发团队变更其需求过程时,与其他项目涉众进行沟通的接口也会发生变化。 下面列出了可能会遇到的一些抵制情况: 变更控制过程可能会被看作是开发工作的障碍而被丢弃,因此变更工作很难实施。 有些开发人员认为编写和评审需求文档纯粹是浪费时间的官僚做法,妨碍他们的“真正”工作,即编写代码。

5、 如果用于客户支持的费用与开发过程没有联系,那么开发团队可能会缺少变更需求的动力 。 如果改进需求过程的目标之一是通过创建高质量的产品来减少技术支持费用,那么技术支持经理可能会感到很不安 。 忙碌的客户有时会声称,他们没有时间去从事需求工作 。,7,3 软件过程改进的基本原则,应该牢记下面4条软件过程改进的原则(Wiegers 1996a): 1.过程改进应该是不断演化的、连续的、周期性的 不要期望一次就能改进全部过程,要知道在第1次尝试变更时,可能无法解决所有问题。 2.只有人们和组织具有变更的动机时才可能实施变更 下面列出了一些典型的问题,也许能为需求过程的变更提供驱动力: 项目超出了最后

6、期限,原因是需求比预期的扩展了很多,也复杂了很多。 开发人员频繁加班,原因是直到开发后期才发现了引起误解的需求和表达不明确的需求。 系统测试工作前功尽弃,原因是测试人员并没有弄清楚产品应该做什么。 虽然正确的功能都实现了,但是用户不满意,这是由于性能不好、易使用性差或存在其他质量缺陷。 维护费用很高,因为客户的对产品的许多增强要求没有在需求获取阶段确定下来。 开发组织名誉受损,因为客户不接受交付的软件。,8,3.过程变更要有的放矢 在开始运用更好的过程之前,一定要明确变更的目标是什么(Potter and Sakry 2002)。 4.将改进活动视作小型项目 项目的总体计划应该包括过程改进的资

7、源和任务。与所有项目一样,改进项目也要执行计划、跟踪、测量和报告,只是规模相应地缩小了。,9,4 过程改进周期,图3是一个有效的过程改进周期。 这一方法反映了您在执行下一个任务之前先清楚自己所处位置的重要性;反映了绘制过程路线图的必要性,以及以往的经验在持续的过程改进中的重要性。,10,4.1评估当前采用的方法,所有改进活动的第1步都是评估组织当前所使用的方法,找出这些方法的优点和缺陷。 评估当前过程的方法有多种。如果我们已经试过前几章末尾的“下一步”,实际上已经开始对需求方法及其结果进行了非正式评估了。 设计结构化问卷表是一种更系统的方法,它能够以较低的费用对当前过程进行评估。与团队成员进行

8、面谈和讨论,可以更准确更全面地了解当前的过程。 我们可以采用问卷表来审查组织当前采用的需求工程方法。这种自我评估法有助于我们确定哪些需求过程最需要改进。,11,4.2 规划改进活动,战略性计划描述了组织的总体软件过程改进,战术性的活动计划则描述需要改进的专门领域。 需求管理改进计划,它包括下面这些活动条目: 1.起草一个需求变更控制过程草案。 2.评审并修订变更控制过程。 3.在项目A中试验变更控制过程。 4.根据试验的反馈信息,修订变更控制过程。 5.评估问题跟踪工具,并从中选择一种工具来支持变更控制过程。 6.购买并定制问题跟踪工具以支持变更控制过程。 7.在组织中使用新的变更控制过程和工

9、具。,12,4.3 建立、实验并实现新过程,实现活动计划意味着开发一些过程,并相信这些过程比当前的工作方式会带来更好的结果,但不要期望新的过程第1次试用就很完美。 请牢记下面这些关于指导过程实验的建议: 选择实验参与者,他们将尝试新方法并提供有用的反馈信息。 使改进过程的结果容易解释。 确定需要了解实验情况和实验原因的有关涉众。 考虑在不同的项目中实验新过程的不同部分,这样可以使更多的人尝试新方法,因此提高了了解程度,增加了反馈信息,更易于大家接受。 询问实验参与者。,13,4.4 评估结果,过程改进周期的最后一步是评估完成的活动和取得的成果,这种评估有助于团队在未来的改进活动中做得更好。 评

10、估内容包括判断实验进行得是否顺利,在解决新过程的不确定性方面是否有效,下一次指导过程实验时是否需要做些变更。 同时还要考虑新过程的总体执行情况是否顺利,包括新过程或模板的可用性是否有效地传达给了每一个人,参与者是否理解并成功地应用了新过程,下次工作中是否需要有所变更等。 其中关键的一步是,评估新实现的过程是否带来了期望的结果。,14,5 需求工程过程资产,高性能项目在需求工程的各个阶段(需求获取、需求分析、编写需求规格说明、需求确认和需求管理)都有有效的过程。 为了更方便地执行这些过程,每个组织都必须有一个过程资产(process assets)集合(Wiegers 1998c)。 过程资产包

11、括表1中所描述的文档类型。,15,5.1 需求开发过程资产,需求开发过程 这一过程描述了如何确定涉众、用户类和用户代言人,还描述了如何规划需求获取活动,包括选择合适的需求获取技术、确定参与者和估算需求获取需要的工作量和工作日。 需求分配步骤 在分配需求之前,要先完成系统级需求的说明,并完成系统体系结构的定义。这一步骤描述了如何执行这些分配,以确保将功能分配给合适的组件来实现。 需求优先级设定步骤 为了在固定不变的进度安排下,合理地缩小需求范围或者适应需求的增加,了解计划实现的哪些系统功能具有最低的优先级。,16,5.1 需求开发过程资产,前景和范围模板 前景和范围文档简明扼要地对新产品的业务需

12、求进行了总体描述,并为设定需求优先级和需求变更提供决策参考。 用例模板 用例模板提供了一个标准形式,描述了用户期望软件系统必须执行的任务。 软件需求规格说明模板 软件需求规格说明模板提供了一种结构化的一致的方法,将产品的功能性需求和非功能性需求组织起来。 软件需求规格说明和用例缺陷检查清单 需求文档的正式审查是确保软件质量的一种强有力的技术。,17,5.2 需求管理过程资产,需求管理过程 这一过程描述了项目团队采取哪些行动来处理变更、区分需求文档的不同版本、跟踪并报告需求状态、以及收集跟踪信息。 变更控制过程 实用的变更控制过程可以减少因没完没了的、难以控制的需求变更而引起的混乱。 需求状态跟

13、踪步骤 需求管理包括监视和报告每一个功能性需求的状态。,18,5.2 需求管理过程资产,变更控制委员会规章 变更控制委员会(change control board,CCB)是由项目涉众组成的一个团体,它负责决定批准或否决哪些提议的需求变更,以及每个批准的变更在哪个产品版本中实现。 需求变更影响分析检查清单和模板 在决定是否批准提议的需求变更时,估计变更所需的费用和造成的其他影响是至关重要的一步。 需求跟踪步骤 需求跟踪矩阵列出了所有功能性需求、针对每一个需求的设计组件和代码模块、以及验证其正确实现的测试用例。,19,6 需求过程改进路线图,开发一个路线图,用于在组织内实现改进的需求方法。这一路线图是过程改进战略计划的一部分。 因为具体情况各不相同,所以无法提供一种放之四海而皆适用的路线图。过程改进的公式化方法并不能取代仔细思考和一般常识。图7演示了一个组织用于改进需求过程的路线图。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号