技术开发 频道

用CMMI指导需求管理

【IT168 技术文章】

    能力成熟度模型集成(CMMI,Capability Maturity Model Integration)已逐步成为IT业的标准。CMMI定义了5个组织成熟度级别,包含25个过程域(PA,Process Area),这些过程域全面涵盖了软件生命周期的各个领域。特别是在业界普遍感到难以控制的需求方面,它定义了两个过程域:需求管理和需求开发。

    需求管理(REQM,Requirements Management)属于成熟度2级(受管理级)的过程域,是其他许多过程域实施的前提。对于暂未实施CMMI的企业,同样也可以借鉴CMMI的原则,实施和优化需求管理。本文从实际工作的角度,阐述如何用CMMI指导需求管理工作。

    一、需求管理概述

    许多IT企业都有过需求失控的痛苦经历,我们不难体会,没有好的需求管理会给我们带来什么:

    需求以失控的状态进入软件过程,从源头上失去了项目的质量保证;

    需求范围界定不清,使项目缺乏计划性,导致成本、研制周期失控;

    需求变更失控,使组织处于被动反应式的环境中,项目组成为救火队;

    需求管理不当,导致项目延期、士气低落,增加了项目的失败风险;

    ……

    为了避免上述情况的出现,CMMI对需求管理提出了明确的目的:一是管理项目的产品和产品构件的需求;二是标识哪些需求与项目计划及工作产品之间不一致。通过适当的步骤,确保需求在项目的各个层面上动态地保持一致,一旦出现不一致,则启动相关的处理过程域,使其调整到一致。

    需求管理包含5个特定实践(SP,Specific Practice)。

    1.获得对需求的理解。需求接收者与需求提供者就需求达成共识。
    2.获取项目参与者对需求的承诺。通过书面承诺,建立各方、各项工作的基准。
    3.管理需求变更。维护变更历史,为调整与控制提供数据。
    4.维护对需求的双向可追溯性。这是从软件的可维护性角度提出的管理要求。
    5.标识项目计划和工作产品与需求的不一致性。旨在发现不一致性,并且启动纠正措施。

    二、需求管理计划

    在组织级建立需求管理计划模板,具体项目则是在此模板的基础上结合项目的特点和具体情况,制定项目的需求管理计划。

    需求管理计划(模板)应包括如下内容:

    1.需求管理的方针与政策;
    2.需求管理需使用的资源(管理人员、计算机资源、使用工具等);
    3.角色与责任;
    4.培训计划;
    5.需求管理的干系人及介入事件的关联矩阵;
    6.配合项目节奏或里程碑的事项(如:在哪些阶段点应做“识别项目工作与需求之间的不一致的工作”);
    7.判断项目工作与需求不一致的准则和纠正流程;
    8.需求溯源性矩阵模板(最好使用工具);
    9.需求变更流程;
    10.需求管理计划的审批与变更流程;
    11.其他流程。

    具体项目的需求管理计划一般应在如下几个方面加以具体化:①项目的需求管理角色应分派到具体的人;②可根据项目需求管理人员的实际情况,安排有针对性的培训内容,如应用领域的业务培训、需求管理工具的培训等;③需求管理的干系人及介入事件更加明确。如与需求管理相关的人员(干系人)主要有业务代表(代表业务需求提出部门)、设计人员、开发人员、测试人员等,当需求具有跨系统或接口性质时,相关受影响的部门应列入干系人清单中。介入的事件是评估需求变更的影响、通报双向溯源性情况、识别项目工作与需求之间的不一致。

0
相关文章