【@Vincent–大付】《人月神话》
关于《人月神话》这本书的影响力无需多言,书中的每一章基本都是就软件工程中的某个问题的一次思考,最重要的是几十年过去了,书中的很多观点在现在还是很有价值。在这里就不面面俱到,选其中三章内容进行简单的解读和谈谈自己的一些实践。
第一、没有银弹
这章的主要观点就是,不会有某种技术上的改进可能让软件开发的效率以指数级的提高。需然在硬件行业的摩尔定律一直在维持着,但是在软件行业很多方面的效率还没有指数级的提高。这些年来出现过不少新的语言,但是就解决某个类似的具体问题来说,还真的难有那种指数级的工具和技术。就象一些基本的WEB类的网站开发,出现过很多不同的MVC工具,不同语言有不同的实现,但是要真的开发一个系统下来,不管你选哪个技术,就整体工作量来说不会有很大的不同。
最近也接触过一些国内的软件公司,他们开发一种所谓的程序生成平台,根据业务需求,做一些简单的配置就能快速的生成软件,这种平台性的软件在实现一些简单的业务功能方面效率提高不少,但是针对一些复杂的的业务需求还是有一些很长的路要走。
第二、外科手术式的软件开发团队
这种小团队式开发方式在做一些攻坚任务中很有好处,但是在现实中会有很多麻烦,一些大公司吧,招的人平均水平差异不算太大,要真有个厉害的其它人反而不愿意跟着打下手。一些小公司要是真的好运找到一个这样的人,基本是做完一个项目就留不住人。这样使得在现实软件开发过程中,这种组织方式很难成为一个好的模式。
第三、人月神话
讲的是软件评估和开发过程控制的问题。不能简单的把软件开发分解成人月的基本单位,用增加人手来换取缩短时间方面的进度。针对一些大型的软件开发,正因为它的复杂性才使得它必须经过一定的客观规律来定义各个环节才能使得产品可能开发出来。但是近些年在软件过程开发管理方面也进行过很多创新,影响最大的敏捷开发已经在一定程度上破解了人月神话,它使得大家可以以一种快速的、可控制的迭代方法来开发。关于敏捷软件的细节见后面的系列文章。
《人月神话》,看书名还以为是奇情浪漫科幻历险小说。看到第三点才恍然大悟…
《人月神话》,看书名还以为是奇情浪漫科幻历险小说。看到第三点才恍然大悟…