购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

序言
硬件、软件和人件

单纯使用CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具、可视化程序设计方法、快速设计原型或对象技术,并不能开发出一个好的软件。一个好的软件应该出自于“人”,而有趣的是,一个糟糕的软件也同样出自于“人”。1992年,我开始定期为一个专栏写文章,专栏的主题不是关于硬件,也不是关于软件,而是关于人件。这是因为,当时我有一个简单的想法:既然软件是由人创造的,也是由人来使用的,那么只有更好地了解人是如何工作的、如何解决工作中的问题、如何协调工作中的关系,才有可能设计、开发出更好的软件。

今天,我们每天都会遇到大量新词汇,大多数是已有词汇的新解,而像“人件”这个词却是罕有的必须重新创造的词。Peter G.Newmann因为他的一份关于“人类的风险与真正的计算机和计算机程序危害”的报告而出名,他应该是第一个正式使用“人件”这个词的人。1976年,他写了一本不太为人所知的书《Peopleware in Systems》,在书中的一篇同名文章中,他首次用到了这个词。Meilir Page-Jones在1980年所写的《Practial Guide to Structured Systems Design》一书中,再次使用了“人件”一词(正是此书让一般程序设计人员能很好地理解我的作品中关于“结构设计”的内容)。但是直到1987年Tom DeMarco和Tim Lister合著的《人件》一书的出版,才使人件正式成为程序设计领域中的一个专业词汇。

人件是第三次计算机革命的真正起源地。第一次革命源自“硬件危机”。在一段时期内,人们一直认为自己遇到的计算机问题都源自硬件方面。当时,人们以为,只要有了运行更快、功能更强大的计算机,有更大的内存和更好的外部设备,就能建立更好的系统,也能解决所有的问题。渐渐地,人们有了更好的计算机。年复一年,计算机运行速度越来越快,内存越来越大,外部设备也越来越好用而且高效,可是计算机问题依然存在。我们仍然在使用运转不稳定的系统,而且无法及时地在预算范围内完成任务。于是,我们将遇到的问题归咎于软件方面,而第二次计算机革命也随之被称为“软件危机”。人们开始认为,只要有了优秀的编程工具、高级的编程语言、丰富的构件库和辅助程序建立系统,就能解决所有问题,并及时地在预算范围内交付良好的软件系统。现在第三代编程语言变得越来越精密,并出现了第四代编程语言;编译器变得越来越快、越来越聪明;可重用构件库得到扩展,编辑软件变得更加上下文敏感,计算机辅助软件工程工具随处可见。结构化革命让我们认识到结构设计和分析。面向对象技术也开始变得成熟和流行。但我们还是不得不经常改动我们的工作计划,追加预算,计算机问题依然无处不在。

最后,我们不得不重新认真考虑一下,问题到底出自什么地方?“我们的敌人其实就是我们自己!”是的,人件就是问题的症结所在。“人”是问题产生的原因,也是解决问题的工具!

人件包含的范围包罗万象。在软件和应用开发过程中,凡是与人有关的任何事物都可以归类为人件。我所写的书和专栏中都谈到人件中所涉及的各式各样的内容:质量和生产率、合作、团队动力、个性和程序设计、项目管理和组织问题、界面设计和人机交互、认知、心理学、思维过程等。

以上所有话题都是我感兴趣的,也能让我感到兴奋。我当初攻读管理学的部分原因就在于,这门课能让我将计算机、系统理论同心理学联系起来。我的毕业论文就是关于计算机程序设计心理学的。多年来,我已经将心理学家George Miller和他神奇的数字(当然是7±2了)介绍给了成千上万的学生和数十位同事。为了更好地进行软件、应用程序的开发,人们精心设计出结构图表以帮助开发人员形成可视化概念,并用于解决相关的问题。接合和连接描述的是人们所看到的计算机程序的效果,它们是结构设计核心中重要的度量尺度。程序设计人员在设计、维护、修改程序时,思维过程是复杂的还是简单的,直接决定了他们设计出的程序是复杂的还是简单的。

从某种程度上来说,我的工作既不能脱离人,也不能脱离计算机。1976年7月,当美国庆祝独立200周年时,我曾宣布自己告别计算机界,当时,我自以为可以就此脱身了。10年间,作为一名受过训练的家庭治疗学家,我的工作对象是夫妻、家庭及有问题的青少年,但是来自业界的压力又将我重新推回到技术前沿。

人件就是上述提到的技术前沿的十字路口,诸如管理、组织发展、个性、模型、工具、方法、过程、人机交互等方面的问题最终都会体现在人件上。在我写文章、工作或教学时,都会不时地提及所有这些方面。为专栏写文章,让我有机会在人件这个广阔的天地中畅游,还可以不时停下来思考一些有趣的想法,直面随时遇到的挑战,在软件和应用开发的大道或乡村小路上信步。

本书记录了我在人件世界中的旅程,从《计算机语言》杂志开始,到《软件开发》杂志结束。我做的专栏题目也叫做“人件”,本书中包含了“人件”专栏中的所有文章和发表在其他地方的一些内容相关的文章,所有这些短文和文章都已经过编辑处理,以确保其连续性;其中一些素材,当初为了适应杂志文章长度的要求做了相应删减,此次在本书出版过程中经过重新整理又加了上去。当然,这样或那样的改动,都是为了让书中的内容看上去更连贯、更流畅。但是,请记住,本书不是一部百科大全,也不是什么教科书,更谈不上是一份人件世界的路线图。人件世界的疆域实在是太广阔了,本书充其量只不过是一个旅行者的游记罢了。

我还将会继续在人件的世界中旅行。 L53d2LvoeA0LoG2M11XlKhwIc4TMQW4a0ZOmIy18X711/jDCQHrhXPj7XlD7MZlh

点击中间区域
呼出菜单
上一章
目录
下一章
×