技术开发 频道

以知识为核心的ALM之需求管理篇

【IT168 技术文章】

  需求管理是软件开发生命周期的初始阶段,它对最终提交的软件产品的质量起着至关重要的作用。一位咨询师朋友告诉我,在美国,超过60%的软件项目失败都是因为不科学的需求管理。另外,80%的项目延误也源于不断改变的需求。由此可见,需求管理是整个软件开发过程中至关重要的一部分;尤其是对于大型项目,科学的需求管理在降低风险上的作用更是无法估量。

  软件开发实践表明,让所有项目成员获得准确的需求,是进行需求管理的根本;在此基础上,还应保证所有的需求变更都是在可控制的情况下进行。除需求分析师外,所有其他相关人员,如项目经理、开发组长、QA经理等,如能参与到需求评审中,不仅有利于管理需求,还能进一步保证需求与业务实际更加匹配。对于需求变更,在执行之前分析其潜在影响,进行有针对性的人员和资源配置,都将提高需求变更的实现效率。

  需求管理工具现状

  对于市面上的需求管理工具,我主要有以下三方面的看法。首先,目前很多需求管理工具都与开发过程脱节。许多时候,开发工具与需求管理工具必须协同工作,然而,开发人员与需求分析师却不能进行有效的数据交流。另外,需求文档和知识库的分离,也不利于需求分析师了解各个需求的进展情况,而且限制了高层管理人员对跨部门工作的全局了解。

  另一方面,有越来越多的企业,受到诸如塞班斯法等新法规的影响,不得不开始大范围使用需求管理工具。这在某种程度上为市场造就了一批针对特定行业的需求管理软件。这些软件多数适用于对需求有严格控制的行业,如航空航天和军工行业等。然而,对于普通行业市场,企业更需要的是实用、集成的需求管理解决方案。Forrester最近的一份报告指出,大部分企业都缺乏成熟的需求收集机制和体系;在这种情况下,即便实施功能强大的工具,企业也没有能力来充分利用各种功能和设置,更不用说有效利用这些工具来管理需求了。

  另外,针对传统的瀑布式开发,所有的需求都在开发开始之前完成。然而,对于目前被广泛采用的增量或迭代开发模式,需求常常是由需求制造者和消费者不断交流所产生的,也是不断变化的。因此,有效的解决方案必须满足在类似增量或迭代开发模式下的需求管理。

        集成的、全局的需求管理方法

  基于对一些成功软件组织的经验分析,我们认为企业真正需要的是一款集成的需求管理解决方案,帮助企业进行可监控、可跟踪、可验证的需求管理。它需要提供一个框架以供创建新的需求、功能和规格,并与开发任务和测试任务相关联。需求分析团队和开发团队才能通过这个集成的解决方案协同工作。

  这种集成的方案不仅能提高需求管理工具的性价比,也有利于项目团队的内部交流。开发团队可以及时获得需求信息;需求分析师能通过查看需求的进展情况来确定可能会发生的需求变更;高层管理者也能够通过查询和图表等功能浏览开发项目的进展情况。一款能够实现以上目标的需求管理工具应该具备以下几点功能:

  ?集成的需求管理:创建、管理、讨论并关联项目需求和功能;

  ?变更控制:当特定的变更发生时自动进行需求版本管理,并通过工作流引擎来控制需求变更;

  ?数字资产管理:需求、功能以及其他重要的数字资产都需要存储在一个可靠、可扩展、安全的中央资料库中;

  ?集成事件跟踪和测试:需求管理与事件跟踪和测试管理工具集成,以便于项目经理查看与需求相关的开发和测试工作;

  ?Windows客户端和Web客户端:提供Windows客户端和Web客户端访问方式,保证在固定和移动办公的情况下都能登录到系统中;

  ?定制化的用户界面:提供定制选择,以便于系统管理员创建自定义的需求和功能界面,如字段标签、字段类型、下拉菜单选项和客户报告等;

  ?开放的工作流设置:通过定义工作流来创建和管理需求和功能;

  ?嵌入式报表和分析:直接产生需求功能数据报表,如变更控制、变更效应、实施和测试数据等;

  ?自动获取需求:在系统中,用户可以直接输入需求信息,或者通过文档形式获得需求并附加到系统中。

  在独立实现以上功能的基础上,需求管理工具还需与ALM中的开发过程进行无缝集成,其中包含事件跟踪、测试管理、以及中央知识库(如图1所示)。

        

0
相关文章