1968年北约软件工程大会语录

经常的我们会忘记,如今我们在软件开发中遇到的问题,通常是别人在很多年前就已经遇到过的。下面这些语录来自1968年北约软件工程大会的会议记录。

关于软件项目管理:

软件开发管理将继续背负目前的在成本和计划有效性上的坏名声,直到有朝一日,人们对软件设计工程有了更全面的理解和认识。

我们开发软件系统就像莱特兄弟制造飞机——造好整个系统,把它推下悬崖,让它坠毁,然后重新开始。

管理工作方面,大型软件的开发是一个令人恐怖的事情。人们的认识中,这种工作通常会成为血本无归的泥潭,耗费财力,永无止境。人们的这种认识也许并不是偏见。

关于设计和最终产品的区别:

软件产品是我们对程序如何在计算机里执行进行设计的产物。设计和最终产品之间的区别本质上是一个理论与实际的问题,受各生产部门需求的影响。事实上,设计和最终产品间没有本质区别[…]

软件中大多数致命问题都起源于概念,几乎都统一的遵循这样的规律:你试图弄清楚你们打算要做什么,然后就这样做了。这就是我们大多数麻烦问题的来源。

关于处理用户需求:

用户感兴趣的是对系统提需求,而且按照需求购买系统。但这里的潜台词是用户能说出他们想要什么。而大部分的用户说不清楚。

我们应该在设计过程中尽早的获取用户反馈。

关于程序员的工作效率(跟Paul Graham的Great Hackers对比):

我对程序员在工作效率中表现出的巨大的差异有个疑问。你能在其它类似的技术领域找到相似的差异度吗?事实上,软件开发中的差异比任何其它行业都要大。

关于软件开发:

开发应该循序渐进开展,软件一步一步完成。我的座右铭是“解决小的,有用的,现在。”

大型系统必须慢慢完善,不可能在某个时间里全部完成。你必须让最初的小的核心系统真正无误的运行起来。

关于软件测试:

系统必须具有自动化测试能力。我们必须开发和维护一些可执行程序来检验系统中所有的其它部分。[…]作为测试程序运行输出的结果,每次测试都要列出测试检验的模块,同样,还要列出测试了哪些接口和数据表。对测试成功做记录很重要,跟记录失败一样。

[英文原文:Quotes from the Nato Software Engineering Conference in 1968 ]
分享这篇文章:

2 Responses to 1968年北约软件工程大会语录

  1. Timothy says:

    Nice,过了这么久,这些话居然描述的是当下

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据