技术开发 频道

结构化产品开发 开发不是"救火队"

【IT168 技术文章】

 


    产品开发是复杂的。因为产品开发人员必须完成成千上万项工作,而这些工作大部分是与他人工作紧密相关的,协调便成为极其复杂的工作。为了能管理好这些庞大而复杂的工作,产品开发过程必须成为结构合理、定义清楚的过程。

    所谓结构化,是指相互关联的工作要有一个框架结构,并要有一定的组织原则来支持它,比如,在一个自上而下的层次构架中,上层结构简单一些,越到下层越繁杂越具体。所谓定义,是指每项工作都应清楚楚地明确规定出来。所有与产品开发有关的人应该清楚他们所参与的是什么工作,用什么方法去完成。

    尽管看起来简单,但令人惊讶的是许多公司并不能真正做到以上这些。在某些公司中,这种产品开发过程仍然是无结构的,大部分工作也未清楚地定义出来。在术语上没有一致性,即每个项目小组单独地确定自己的工作定义,尽管他们的许多定义与其它项目小组相类似。结果,各小组的项目进度表不能互相比较,因为有的小组定义了20项任务,有的小组却定义了1000项任务。这样就无法一致地衡量其进度,也不能用标准的周期时间估算方法来制定进度表。这对那些支持多个项目的人来说就更困难。没有一个共用的构架,产品开发过程便很难得到改进。

    有些公司的作法完全相反,它们详细地定义了产品开发过程,定义得过于详细了。为了控制每一细节,他们把每项工作应如何完成以及工作完成后应该是什么样子都一一设定好。这种方法最典型的特点是以文档资料为基础,对每项任务部需要准备一套详细编制的文档资料,并申请批准。每项任务的完成情况都受该文档的准备情况和批准情况的控制。这种官僚的管理方法经常是发布厚厚一本的规章制度,并带有详细检验标准,规定这些项目应如何完成。幸运的是,多数情况下,人们并没有真的这么做。按照他们这种做法,开发一个产品就要多花一倍的时间。

    许多公司由于匆匆定义产品开发过程而忽略了对结构的需要。对有些公司来讲,构架本身并不合适。不是层次定得不对,就是任务放错了位置;通常体现为在太短的时间内需要太多的信息。

    在PACE中,结构化产品开发在原则和创造力之间达成一种平衡。一个深思熟虑的过程并不会阻碍创造力,它允许开发小组把精力集中到开发产品这个实际问题上,并不需要每次重新建立开发过程。

    在 PACE中,开发活动是以一个层次结构来构架的:从阶段(从最高和最广的一级)到步骤,到任务,最后再到各项活动(最具体的一级)。阶段对所有的项目来说都是一样的。正如第三章中所述,这是第一个决策层次。步骤对所有的项目也是一样的(虽然某些项目可能省略一些步骤),这是第一个制定计划和进度表的层次。任务就某个步骤如何完成提供指南。如果核心小组觉得这些指南合适的话,便可以照此执行。各项活动则完全由核心小组确定。这几点综合起来形成了一个决策、项目进度制定、资源规划、过程衡量以及持续改进的基础。

0
相关文章