人月神话之第一章焦油坑

本文引用《拉布雷阿的焦油坑壁画》中的场景,将大型系统开发比喻为焦油坑,指出多数项目无法同时满足目标、进度和预算。作者区分了程序、编程产品和编程系统,强调不同层次间的成本和复杂性的增加。编程系统产品,作为最有价值但成本最高的产物,是系统开发的主要目标。面对技术的快速发展,开发者需要在有限资源和时间内找到实际解决方案。
摘要由CSDN通过智能技术生成

‘焦油坑’一词,来自《拉布雷阿的焦油坑壁画》,书中说这样写的“史前史中,没有别的场景比巨兽们在焦油坑里垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油坑里挣扎。它们挣扎得越猛烈,焦油纠缠得就越紧,没有哪种猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。”作者将过去几十年的大型系统开发比作焦油坑,很多大型和强壮的动物在其中剧烈挣扎,他们中大多数开发出了可运行的系统,但是不得不承认只有极少数的项目满足了目标、进度和预算的要求。因为在各种团队中,无论是大型的或小型的,庞杂的或精炼的,一个接一个地淹没在了焦油坑中。

报纸上经常会出现这样的新闻,讲述两个程序员如何在经过改造的简陋车库中,编程超过大型团队工作量的重要程序。接着每个编程的人员准备相信这样的神话,因为他们知道自己能以超过产业化团队的1000行代码行/年的生产效率来开发任何程序。其实在没有看这本书之前,我也是同样惊叹于在这种情形下所能生产的成果。但是我们往往忽略了或者压根就不知道:并不是所有的产业化队伍都会被这专注的二人组合所替代,我们需要看产出的是什么,程序、编程产品、编程系统、编程系统产品完全不是同一个概念和层级。
所谓的程序,它本身是完整的,可以由作者在所开发的系统平台上运行。它通常是车库里生产的产品,以及作为单个程序员生产效率的评估标准。有两种途径可以使程序转变成更有用但是成本更高的产物:编程产品和编程系统。

所谓的编程产品,它可以被任何人运行、测试、修复和扩展的程序。它可以在多种操作系统平台上运行,供多套数据使用。要成为通用的编程产品,程序员必须按照普遍认可的风格来编写,特别是输入的范围和形式必须广泛地适用于所有可以合理使用的基本算法。接着,对程序进行彻底的测试,确保它的稳定性和可靠性,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值