技术开发 频道

多管齐下解决需求采集难题

【IT168 专稿】

    需求采集对于当今的开发团队而言可以说是最重要的一个任务。根据SearchSoftwareQuality.com所做的2008年度敏捷趋势调查报告,多数企业在进行应用生命周期管理的时候都会因为无法确定用户的需求而遇到很多困难。用户需求采集一直是一项复杂的工作,并且即使随着敏捷过程的发展,这项工作也决不会变得简单。

    调查报告指出,有31%的调查对象认为需求采集工作是应用生命周期管理中最难控制的领域,这远远超过了选择过程改善的12%、软件测试的12%和应用程序性能管理的8%。

    一直以来,需求都是软件开发的拦路石,因此也随之产生了应运而生许多解决办法。敏捷开发的崛起给软件开发带来了一场革命,同时也从很大程度上改变了需求采集过程。敏捷开发使开发团队可以在开发过程中使用并随时修改详细而精炼的需求文档——这比传统的软件开发过程的需求采集精炼得多。

    需求采集技术趋势

    随着敏捷开发方法的发展,需求采集过程也越来越多地依赖于需求描述(user story),它通常被认为是一种较灵活的表达用户需求的方式。

    但是,在调查报告中虽然有高达26%的人认为需求描述确实是一种好用的需求采集技术,但它仍然只是诸多需求采集技术之一。敏捷趋势调查报告的调查对象们倾向于采用多种技术进行需求采集。其中用户需求模型(40%)、焦点群体(focus groups,41%)和普通的电子表格(35%)仍然是2008年度被广泛使用的需求采集工具。

    与统一建模语言(UML)和敏捷预处理过程(比如统一软件开发过程RUP)关系紧密的用例(use cases)也决不会被需求描述完全取代,它在调查对象中的使用率达到了50%。凌驾于所有其它技术之上的则是用户调查(user interview),占到67%的比率。

    有许多公司喜欢使用支持敏捷方式的需求采集工具。这些公司包括AxoSoft、Blueprint、IBM、iRise、MKS、NetObjectives、Rally Software、Ravenflow、Sparx Systems、Telelogic (最近被IBM兼并)、ThoughtWorks和VersionOne。

    微软的Excel也是一种不容忽视的、以电子公告板和需求卡片的形式被广泛使用的需求采集工具。即使是软件供应商也承认“软技术”是必不可少的:成功的关键在于如何使用需求工具,以及团队如何从企业中的人员身上汲取到准确的需求信息。不管你是否采用需求描述或用例,这条规则都是适用的。

    直面需求采集困难

    但是为什么需求采集这么困难呢?

    “因为这是一种科学的技术。”IBM Rational产品经理Daniel Moul如是说,“它要求在所有的需求定义周期中都要发挥软技能的作用,包括与他人协作、明白他人的观点等。它是从一些模糊的需求表达中提取出精准、可实现的描述。”

    Cutters敏捷产品与项目管理实践部门总管Jim Highsmith认为:“产品负责人应该积极地参与到需求定义工作中。”

0
相关文章