- 快速开发(纪念版)
- (美)史蒂夫·麦康奈尔
- 1120字
- 2025-04-12 22:16:59
2.1 快速开发的总体策略
案例2-1所描述的情景是很常见的,要想避免这种情况的发生,就要求每个人能够放弃他们已有的坏习惯。可以通过采取以下四种策略来实现快速开发。
(1) 避免典型错误。
(2) 打好开发基础。
(3) 管理风险,以避免灾难的发生。
(4) 采用图1-2中所示的三种面向进度的实践。
如图2-1所示,这四种策略为可能的最佳进度提供了有力的支撑。

图2-1 快速开发的4个支柱:可能的最佳进度取决于避免典型 错误、开发基础、风险管理和面向进度的实践
图中的柱子实际只是一种比喻,它们表示几个关键点。
对可能的最佳进度而言,最适宜的支撑是具有全部4根柱子,并使每根柱子尽可能强壮。没有前3根柱子支撑,完成可能的最佳进度就存在危险。你可以使用最强壮的面向进度的实践,但如果犯了前面项目中那种产品质量低下的典型错误,你将花大量的时间修改错误,而且费用也会增加,项目必然延期。如果你在编码之前跳过系统设计这样的基础工作,当开发中的产品概念改变时,你的程序将变得支离破碎,也必将导致项目延期。如果不进行风险管理,你会在临近项目发布时才发现有一个关键外包方的开发进度落后了3个月,你的项目还会延期。
快速产品开发不是快速整合出一个产品使其尽快推向市场(也许已经晚了),而是一种从基础开始建立的战略能力。
Preston G. Smith and Donald G. Reinertsen, Developing Products in Half the Time
图2-1中所示的前3根柱子为可能的最佳进度提供了最重要的支撑,虽然不是最理想的,但却是最需要的。也就是说,你即使不借助于面向进度的实践方法,也可能可以实现较优化的项目进度。

图2-2 仅仅依赖面向进度的实践的结果。即便是最完美的面向进度的实践也不足以支撑可能的最佳进度计划
仅仅专注于面向进度的实践是否可以实现这些可能的最佳进度呢?也许你能够实现,像从前那样赢得项目的成功,但如图2-2所示,那是很难平衡的。我可以用我的下巴平衡一把椅子,我的狗可以用它的鼻子平衡一块饼干,但运营一个软件项目绝非一场室内游戏,如果你仅依据面向进度的实践进行各项工作,就可能得不到你所需的各种支持。只要你尝试一次,就再也不会这样做了。
图2-1所示的前3根柱子对快速开发的成功至关重要,所以我想特别强调指出的是,这3根柱子分别代表避免典型错误、开发基础以及风险管理。第3章将介绍典型错误,在大多数情况下,稍加注意,这些典型错误是完全可以避免的,所以,那里我将列出常见的典型错误。第4章阐述开发基础,第5章阐述风险管理。
本书的其他章节主要讨论面向进度的实践,包括面向速度的实践、面向进度风险的实践和面向可视化的实践。本书第Ⅲ部分“最佳实践”汇总列出了面向速度的实践、面向进度风险的实践和面向可视化的实践的作用。在阅读建立快速开发基础所必须的3个步骤之前,如果你更想阅读快速开发本身,可以跳到第6章及其他章节。