浅谈需求驱动的项目管理

豆豆网   技术应用频道   2008年01月22日  【字号: 收藏本文

内容摘要:软件项目为什么会失败?这里我们提出以需求为中心的软件项目管理。通过提高需求描述的质量、采用小版本发布策略、将用户需求作为小版本的目标来组织和计划项目开发、积极应对需求变更、提供以用户需求为中心的项目进展视图,从而和客户一起来保证项目的成功。

  IT行业自20世纪70年代蓬勃发展,直到现在,如何管理好软件项目还一直是大家讨论的话题。这是因为软件项目失败的太多,比如项目彻底被取消、项目的工期拖延等等。

  就中国目前很多软件开发团队的实际情况来看,从某种程度上来说,错误的使用和依赖两个软件来管理项目是项目失败的一个重要理由。这两个软件就是Microsoft Project和Microsoft Word。就像钉钉子,总是用一把斧子。

  工程项目 vs. 软件项目

  Microsoft Project本身是一个不错的项目管理工具,能够做任务分配,Petri-NET,Gannt图,资源使用分析等等。但是,Project是用来管理工程项目的,如造房子,修大桥等等。这些工程类的项目一般使用以任务驱动的管理方法。而软件项目和传统的工程项目有本质的差别,那就是任务的不确定性。举个例子,目前房地产很火,造什么样的房子,只要资金到位,都能保质保量的造好。造10层楼,1层用多少人天,每天做什么,很容易计划,分配任务,人力资源。而且需求是不会变的。没见过造房子,盖了3层之后改主意了,拆了重新盖。

  而软件就大大不同了,需求的变化是不可避免的,而且凡是做过项目的人都知道,需求的变化实际上还挺频繁。这样一来,很容易造成计划赶不上变化,用Project定义任务,计划工期通常要耗费项目经理大量的时间,而且没有意义。

  有人问,为什么需求不能固定下来呢?定下来就不许变。通常工程师会问这样的问题。如果他变成了客户,他可能就不会问这个问题了。需求总是会变的。第一、出钱的总是有更多的话语权(当然改需求是应该付费的);第二、市场的情况在变,比如竞争对手突然发布了一个新的产品功能,那我们也必须做出应对,这就要变更需求;第三、写需求的不是神仙,人都会犯错误的,犯错误允许改正(但犯错误要有惩罚,就是需求变更是要付费的)。 因此传统的纯瀑布式的开发方式已经成为历史了,愈来愈多的开发团队采用极限编程,迭代的开发来应付需求的变更。

作者:刘开阳    责编:豆豆技术应用

正在加载评论...