需求管理及工程管理
一、需求管理及工程管理的重要性及概述
(一)在需求开发活动之后,需求基线应该成为后续软件系统开发的工作基础和粘合剂:
(1)项目管理者根据需求安排、监控和管理项目计划
(2)开发者依据需求开发相应的产品功能和特性
(3)测试人员按照需求执行系统测试和验收测试
(4)客户和顾客依照需求验收最终产品
(5)维护人员参与需求执行产品的演化
因此,需求的影响力将贯穿于后续的整个产品生命周期,应做好项目的需求管理及工程管理。
(二)好的需求管理的作用:
(1)增强涉众群体对复杂项目的细节理解。
(2)增强项目之间的交流
(3)减少项目间各项活动开展的时间浪费
(4)改变项目文化,使需求的作用得到重视和有效发展
二、需求管理及工程管理包含要点
(一)维护需求基线
作为需求开发的结果,最终的需求应该被明确和固定,再将其传递给其他人员。因此,需求基线就是被明确下来的需求集合,是项目团队对需要在某一特定产品版本的中实现的特征和需求集合。其内容包含以下:
(1)标志符(ID):为后续的项目工作提供一个共同的交流结果
(2)当前版本号:保证项目工作都建立在最新的一致需求基础上
(3)源头:在需要 进一步理解或改变需求,应追溯到需求源头。
(4)理由:提供需求产生的 背景相关内容
(5)优先级:后续的项目工作可以参照优先级进行安排和调度
(6)状态:交流和具体需求相关的项目工作状态
(7)项目成本 、工作量、风险、可变性等其他因素
其维护主要从两方面进行:
(1)配置管理
需求基线的内容是项目的共享资料和工作基础,应该被统一管理。随着需求的增加、修改等操作,将会有许多需求面临变更,因此既要保证在在最新的需求版本下 工作,又要在正确的基础上工作。应对标志配置项、版本控制、变更控制、访问审计、状态报告等进行统一的配置管理。
(2)状态维护
需求基线能够反映整个项目的实际进展情况,这就是通过状态维护实现的。其状态主要包含:已提议、已批准、已实现、已验证、已删除、已否决。
(二)实现需求跟踪
在实际的项目中,业务和技术都将面临着不断变更的情况,软件系统在开发过程中发生于需求基线不一致和偏离的风险越来越大 。为避免这种现象,控制软件开发的质量、时间和成本,将是实现需求可追踪的重要控制手段。追踪方法主要分为以下两种:
(1)前向追踪
这两点主要又包含向前追踪到需求、从需求向后回溯。其中,向前追踪到需求主要说明射中的需要和目标产生了哪些软件需求。从需求向后回溯主要说明了软件需求来源于那些涉众的需要和目标。
(2)后向追踪
后向追踪是指被定义到软件需求规格说明文档之后的需求演化过程。它也包括两方面:从需求向前追踪、回溯到需求的追踪,其中,向前追踪是说明软件需求是如何支持和实现的,回溯是说明各系统开发的物件是因为什么原因而被开发的 。
(三)控制变更
需求的变更较为常见,但我们应避免不必要的变更,以减少对项目团队带来的人力、物力耗费。其中不可避免的情况有以下几种:
(1)问题发生了改变,随着时间变化,初始开发软件的用户原因发生了变化。
(2)环境改变,软件的环境发生变化,即使用户的需求一样,但仍旧不能很好地解决用户痛点。
(3)需求基线有缺陷,因为项目的复杂性,需求基线难免会存在一些缺陷。
控制变更的过程:
提请者提出需求变更—》接收者接收变更请求-》评估者 变更评估,生成需求变更表单-》变更控制委员会,变更决策,裁定是否变更-》修改者在收到委员会变更的决定后,执行变更-》验证者验证变更
三、结语
综上所述,做好需求管理需要注意维护需求基线、实现变更追溯、控制变更至少三方面的内容。另一方面,利用好的需求管理工具,如文本处理器 、电子表格甚至商业的需求管理工具对其进行辅助,在实际的需求管理工作中也能够产生较好的促进作用。