浅谈需求驱动的项目管理
http://tech.ddvip.com 2008年01月22日 社区交流
内容摘要:软件项目为什么会失败?这里我们提出以需求为中心的软件项目管理。通过提高需求描述的质量、采用小版本发布策略、将用户需求作为小版本的目标来组织和计划项目开发、积极应对需求变更、提供以用户需求为中心的项目进展视图,从而和客户一起来保证项目的成功。
而RDPM中提供的是需求实现状态图,需求变化趋势,需求数量完成率,需求规模完成率,工时消耗率等指标。这些指标对于客户来说更有意义。
需求的变更
“需求变更”是业界公认的项目管理重大挑战,尤其是项目后期产生的需求变更,对项目的影响是非常大的。但是,需求开发不可能做到完美无瑕,而且随着客户对项目和系统的了解,很有可能提出新的需求或者对原有的需求作出修正。因此,需求的变化是不可避免的。
对于如何应对需求变更,主要的思路有两条:首先是从源头做起,提高需求质量,减少变更的可能性,这个在前文已经提过,不再赘述;另一个就是建立流程严格控制需求变更。
做任何变更之前,我们都要考虑后果(consequence)。由于需求在开发中所处的中心地位,一旦需求发生变化,影响面是很广的。我们通过建立需求追踪矩阵,来分析需求的冲击面,即一个需求如果变更,将导致哪些其他的需求,测试用例、设计、编码进行变更。这个客观的信息将为项目经理提供一个做出合理判断的有力依据。
有效管理需求变更有几个需要特别注意的环节:
1、建立正式的申请和处理流程
虽然众多项目管理人员对于变更可能带来的巨大影响有深刻的理解,但令人不解的是我们常常看到这些变更的提出、讨论和执行却常常停留在口头上。这样做有两个弊端:首先是时间一长,无论是当事人还是开发团队的其它成员都说不清楚变更是因何发生以及结果怎么样了。显然,这对于提高项目管理质量、改进开发过程是很不利的。其次是由于缺乏形式上的约束和对变更冲击的定量化分析,变更会被非常随意地提出、或被草率地执行,大大影响了项目的进展和开发质量。因此建立一个正式的变更处理流程并真正得以实施非常重要。
作者:刘开阳 责编:豆豆技术应用