- 快速开发(纪念版)
- (美)史蒂夫·麦康奈尔
- 1303字
- 2025-04-12 22:16:59
1.2 实现快速开发
本书的目的是为你进行快速开发提供一条捷径,虽然切换到这条捷径似乎存在着风险,但采用目前的开发方法则会导致成本增加、项目计划时间拖延、质量低下、项目失败、大量反复,造成项目经理、开发人员和用户的冲突,并出现其他原本可以避免的问题。
如果是在采用常规开发模式的组织中工作,则采用本书中的实践做法,你能够将开发时间大大缩减,可能多达50%并能大大提高劳动生产率,而不会危及产品质量、性能、可维护性和项目投入。但这种改变不会因你采用了某种新的工具或方法而立刻实现,也不会因你采用某种套装软件而立刻见效,实现快速开发需要时间与努力。
我们都幻想能有一个简单的方案可以解决开发速度问题,但简单的方案只能解决简单的问题,软件开发并不是一个简单问题,快速开发更不是一个简单问题。
对于每个复杂的问题,都会有一个简短但不准确的答案。
门肯(H. L. Mencken)

图1-1 所有软件开发实践的集合,开发速度取决于所采用的开发实践,开发特定程序的速度在某种程度上取决于你所选择的有效实践以及具体的阶段推进过程
如图1-1所示,所有可能的软件实践集合是巨大的,在这样的集合中,有效实践这一子集中的实践数量也是相当大的,在某个特定项目中,你可能只用到这些实践中的一小部分。从总的执行层面看,快速开发的成功取决于以下两个要素。
· 选择有效的实践而不是无效实践。
· 选择有利于完成项目进度目标的实践。
你可能认为这是显而易见的,但就像第3章所解释的那样,各组织机构往往选择的是无效实践,他们选择的实践已经证明是失败的或者是失败多于成功。当他们需要确保项目进度时间时,他们选择的是那些其实降低了达成计划目标机会的高风险实践。当他们需要降低成本时,他们选择的是那些反而导致成本上升的基于速度的实践。这些组织改善开发速度的第一步是管理好他们选定的无效实践,然后开始选择有效的实践。
所有面向进度的有效实践均归入图1-1的一个大类中,但如图1-2所示的那样,基于进度的实践有三类,可以从中进行选择。
· 面向速度的实践 可以提高开发速度,帮助你更快交付软件。
· 面向进度风险的实践 可以降低计划风险,帮助你避免更大计划风险。
· 面向可视化的实践 可以提高进展可视化程度,帮助你驱散慢速开发的阴云。

图1-2 面向进度的实践
具体选择哪类面向进度的实践主要取决于你所关注的软件开发速度的具体侧面。如果真正关心的是开发速度,则应将重点放在面向速度的实践上;如果你认为开发速度已经基本满意,而客户对开发速度的理解存在问题,则应将重点放在过程的可视化方面。
当你将面向进度的有效实践用于具体项目时,会发现这些实践对开发速度的真正提高起到了神奇的作用,比使用Magic-Beans软件更为有效。当然,选择有效的实践避免无效的实践说来容易,做起来难,这正是本书后续章节所要讨论的主题。
译者评注
本书的开篇先给“快速开发”下了定义,正如作者所解释的,“快速开发”是个普通的术语,它意味着能够以比你目前更快的速度开发软件。字面上看,“快速开发”是提高速度,缩短周期,但实际上,这并不是简单的时间问题,是要通过应用详细规划、发挥人的积极性、有效提高质量、减少重复工作等实践来达到快速开发目的,因此,这里没有所谓的“高招”或“绝技”,要的是扎实的工作。