美文网首页系统架构
系统架构设计笔记(67)—— 软件需求管理

系统架构设计笔记(67)—— 软件需求管理

作者: deniro | 来源:发表于2020-08-23 09:43 被阅读0次

    在软件开发的整个过程中,随着客观条件的变化和客户对软件或业务理解的加深,会产生很多新的软件需求,项目经理需要经常面对需求变更。需求管理的目的就是控制和维持事先约定,保证项目开发过程的一致性,使用户能够得到他们最终想要得到的软件产品。下面的内容主要涉及需求管理的两个方面:需求变更 、 需求跟踪。

    1 需求变更

    需求变更是指在软件开发过程中,用户确定软件需求之后,由于各种客观和主观条件的变化,用户增加了新的需求或改变了原有需求。

    项目经理需要在整个项目生命周期中管理需求变更,将项目变更的影响降到最低。进行需求变更控制的主要依据是项目计划 、 变更请求和反映项目执行状况的绩效报告。为保证项目变更的规范性和项目的有效实施,通常软件开发机构会采取如下措施。

    (1)项目启动阶段的变更预防

    对于任何项目,变更都无可避免,也无从逃避,只能积极应对。这个应对应该是从项目启动的需求分析阶段就开始了。对一个需求分析做得很好的项目来说,基准文件定义的范围越详细 、 清晰,用户跟项目经理的分歧就越少。如果需求做得好,文档清晰且有客户签字,那么后期客户提出的变更超出了合同范围,就需要另外处理。

    (2)项目实施阶段的需求变更

    成功项目和失败项目的区别就在于项目的整个过程是否是可控的。项目经理应该树立一个理念 “ 需求变更是必然的 、 可控的 、 有益的 ”。 项目实施阶段的变更控制需要做的是分析变更请求,评估变更可能带来的风险和修改基准文件。

    控制需求变更需要注意以下几点:

    1. 需求一定要与投入有联系,如果需求变更的成本由开发方来承担,则项目需求的变更就成为必然了。所以,在项目的开始,无论是开发方还是出资方都要明确这一条:需求变,软件开发的投入也要变;
    2. 需求的变更要经过出资者的认可,使需求的变更有成本的概念。这样项目实施涉及各方就能够慎重地对待需求的变更;
    3. 小的需求变更也要经过正规的需求管理流程。在实践中,人们往往不愿意为小的需求变更去执行正规的需求管理过程,认为降低了开发效率,浪费了时间。但正是由于这种观念才使需求逐渐变为不可控,最终导致项目的失败;
    4. 还要注意沟通的技巧。实际情况是用户 、 开发者都认识到了上面的几点问题,但是由于需求的变更可能来自客户方,也可能来自开发方,因此,作为需求管理者,项目经理需要采用各种沟通技巧来使项目的各方受益。

    2 需求跟踪

    需求跟踪是指在软件需求管理的过程中定义需求变更流程,分析需求变更影响,控制变化的版本,维护需求变更记录,跟踪每项需求状态。

    (1)确定需求变更控制过程

    制定一个选择 、 分析和决策需求变更的标准过程,所有的需求变更都需遵循此过程。

    (2)进行需求变更影响分析

    评估每项需求变更,以确定它对项目计划安排和其他需求的影响,明确与变更相关的任务,并评估完成这些任务需要的工作量。通过这些分析将有助于需求变更控制部门做出更好的决策。

    (3)建立需求基准版本和需求控制版本文档

    确定需求基准,这是项目各方对需求达成一致认识时刻的一个快照,之后的需求变更遵循变更控制过程即可。每个版本的需求规格说明都必须是独立说明,以避免将底稿和基准或新旧版本相混淆。

    (4)维护需求变更的历史记录

    将需求变更情况写成文档,记录变更日期 、 原因 、 负责人 、 版本号等内容,及时通知到项目开发所涉及的人员。为了尽量减少困惑 、 冲突 、 误传,应指定专人来负责更新需求。

    (5)跟踪每项需求的状态

    可以把每一项需求的状态属性(如已推荐的,已通过的,已实施的,或已验证的)保存在数据库中,这样可以在任何时候得到每个状态类的需求数量。


    相关文章

      网友评论

        本文标题:系统架构设计笔记(67)—— 软件需求管理

        本文链接:https://www.haomeiwen.com/subject/inrqjktx.html