技术开发 频道

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

    开发过程结构的要素

    革新与创造是无法精确地计划和控制的,但是,把日常工作安排得井井有条可使注意力集中到更有创造性的产品开发方面。通常,在纯技术机构中,人们还很关心开发过程的构架。许多人把产品开发看作成一个创造性的过程。不错,产品开发的部分工作需要有所创新。重要的是,一旦搞开发创造的人理解了开发过程结构实际上是把他们从繁杂、单调的任务中解放了出来,使他们能将更多的时间花在创造性的增值工作上。例如,如果不让工程师们把时间花在确定某项功能规范的纲要及格式上,他们就会很有效地把时间用在运用标准格式和定义产品上。

    许多人觉得结构把人限制住了,抱怨说它太死板,缺乏灵活性。对此我们表示同意。错误的结构层次会造成大量的书面工作和官僚主义。重要的是,应该针对某种特定产品找到合适它的结构层次。

    在与客户的初期交往中,常常听到这样的说法,“结构化开发过程在我们这儿不会有用的,因为我们从来不重复同样的项目。”这话绝对站不住脚,因为即使完全不同的产品也一定有许多共同之处。

    而且,如果每次产品开发采用的方式都不同,则会出现两种情况。第一,没有积累的经验可参考,没有应学习的榜样,所以当项目做得越来越大时,开发周期时间也变得越来越长。第二,当某个人拿出改进方法或窍门时,没有把它标准化并运用于其它项目中。如果每次开发过程的步骤不是以同样方式进行,便很难衡量它的过程并加以改进。

    许多技术人员对结构感到很不舒服,担心受到约束后,会失去灵活性和创造性。然而,如果真正理解了产品开发工作,就很容易明白其中大部分工作并不是新的。正如前面调查中所述的,大部分产品开发任务并不真正是新的。如果将重复性的任务进行结构化,技术专家就能把更多的精力集中在真正新的,以前没有做过的工作上。

    例如,一家做先进系统的公司,有一个高级技术员不相信产品开发能够结构化,当问及她正在进行的新设计时,她最初的回答是,“这都是全新的”。进一步调查之后,我们发现,从硬件意义上讲,在五十六个电路板中,只有两个是新的。然后,在对这两块电路板逐个进行仔细观察后,她确认只有四个ASIC集成电路和一些支持逻辑是新的。

    还有另一家公司,是专为大的防御设施承包商设计预警系统的,错误地把产品种类多和小批量生产作为成本超支与赶不上进度的借口。这家公司认为,每个项目是不同的,这种循环不可能调整过来。一旦该公司明白,虽然项目可能是不同的,但也有共同的过程因素,那么,它就能够将过程结构化,提高竞争力。需要进一步结构化的征兆

    公司需要进一步结构化的迹象有很多。

    术语和定义不一致

    每个公司都有它自己的产品开发语言。不幸的是,这种语言太类似于巴贝尔塔的情形,即各人有各人的讲法,但都以为别人和他的理解是一样的。工作的背景和范围由于一个项目间的术语不一致,人们就不能了解工作的背景和范围,在一家公司里,同一个市场评估文件有十个不同的名称。每个版本都稍有不同,但是时间一长这些差异就变得比较模糊不清了。最后,没有人能确切地知道这个文件该有些什么内容。这种混乱导致了大量没有附加价值的活动,因为这些活动是用来理解当人们使用一个术语或说要完成一项任务时它们真正指的是什么。

    进度表不准确

    产品开发进度表应该和构成它的步骤一样准确,如果对步骤的理解不清楚,那么就很难估计它们要用多长时间。如果它的定义不一致,那么,就不可能用过去的经验作为参考。没有结构化的过程常常导致进度不准确,因为人们制定进度表时依据的假设并不为该机构中的其他人所分享或了解。没有进度表是进度表不准确的极端现象。

    无法估计出资源需求

    对资源需求的估计必须和对完成每个步骤所需时间的估计一样准确。对每个步骤没有一个好的统一定义,就不可能作出合理的估计。如果估计不准确,公司产品的开发就会连续不断地误期,其项目资源不是不够就是过量。结构化有助于首先确定必须做什么和花多长时间,一旦理解了这一点,就会大大提高对资源需求的准确估计能力。

0
相关文章