新产品开发项目中的需求问题.doc
新产品开发项目中的需求问题 软件需求在软件项目中扮演着及其重要的角色。不管哪种类型的项目,无论是新产品开发,还是外包项目,开发队伍都面临着普遍存在的需求问题,比如如何获取有效的需求、如何处理需求的变更等等。这些问题有其共性的一面,也有和项目类型相关的一面。本文着重讨论了在新产品开发项目中的一些需求问题,以及避免和解决这些问题的建议。 一 . 概述 在开始进一步讨论之前,我们先明确几个概念。 首先,本文是从开发团队,或者说项目组的角度来看需求问题。所谓开发团队,通常包括了程序员、测试员和其他一些项目成员,如配置管理员和软件架构师,以及基层的管理人员,比如项目经理。类比于传统企业,开发团队相当于企业的生产车间。但是,在大多数的软件组织中,开发团队除了担当“生产”任务以外,往往也是需求获取的主体;在某些较为正规的组织中,也许会有市场部门给出一些需求,但这些市场数据和有限的调研结果通常是远远不够形成需求规格书的。 其次,何谓“新产品开发项目”。简单而言,在本文中,新产品开发指开发团队需要从无到 有将一个想法( idea)转化为产品( product)。新产品开发不同于产品升级,开发团队没有一个已存在的基础;新产品开发不同于开发一个实验型的作品或者演示、原型之类的东西,开发团队最终的产出必须是产品,在功能、性能、可用性等方面都有比较高的要求和期望;新产品开发不同于承接一个软件开发项目,也不同于为明确指定的用户或者客户定制产品,开发团队最终面对的是广泛的市场,是一个由众多独立的最终用户(同时也是客户)组成的群体。新产品开发项目更加不同于维护型的,或者其他类型的项目。 第三,本文所讨论的需求基于需求的传 统定义,即软件需求指用户对软件产品明确的和期望的要求。这些要求直接影响了用户对此产品的满意程度,或者更直接的说,影响了用户的购买决定以及对产品和开发商喜好的判断。对于开发团队而言,在实际工作中,需求问题往往和设计问题,特别是高层( High level)的设计纠缠在一起,很难有明确的界限划分。但在本文中,需求问题不涉及与具体实现相关的问题,比如技术选型,人机界面。 概括而言,在一个新产品开发项目中,开发团队面临的需求问题涉及到需求的获取、分析和管理。本文的余下部分将重点讨论新产品开发项目中典型的四大问题, 分别是:有限的需求来源、模糊的需求界定、 CPD 陷阱和 NV 陷阱。 二