这是人月神话:软体专案管理之道(20周年纪念版)的第十八章:《人月神话》的主张:是真是假?(Propositions of the Mythical Man-Month: True or False?),这里的开场白是这样的‘别管别人懂不懂我们的意思,简单扼要都非常好’(For brevity is very good, where we are, or are not understood.),这一章是在跟1975的出版做比较,感觉有点在做总复习吧,如果之前ㄚ琪已经有提到了,我就不再赘述,如果有新鲜的点子,那我就再多说一点好了。
在The Introduction of The Tar Pit这一节里,ㄚ琪应该要多补充这个行业工作的苦难:
- 将做事态度调整到追求完美,是学习软体工程的最困难部分
- 由其他人来设定目标,并且必须依靠自己无法控制的事物(特别是程式);权威不等同于责任
- 实际情况看起来要比这更糟:真正的权力来自于每次工作的完成
- 任何创造性活动都伴随着枯燥耗时的辛勤工作,建构程式也不例外
- 人们通常期望专案在接近结束时,(bug、工作时间)能进展得快一些,然而软体专案的情况却是越接近完成,进展得越慢
- 产品在即将完成时总面临着陈旧过时的威胁
后面的描述ㄚ琪觉得,还可更加地延伸到我们人所学得软体技术,也会很快地过时,你若是要投入这一行,持续地追求新知有可能是必要的。
在 The Introduction of The Surgical Team这一节里,ㄚ琪注意到作者所说的上帝对婚姻的设计,看来两个人的团队是最好的组合,神的大智竟然可以应用在软体工程上,当你在学福音的时候你会注意到这点吗?
在The Introduction of Why Did the Tower of Babel Fail?这一节里,有关团队成员跟工作手册的关系,‘每一位团队成员都应该看到〔工作手册〕全步的文件内容’,现在作者改口为‘每一位团队成员都应该可以看到全部的文件内容,也就是说,全球广域网路(World-Wide Web)的网页应该可以满足需要’,那时网路似乎还满起飞,现在看起来让作者改口了,这个技术真是赞啊。
另外我忘记提到一个关键,持续更新内容,不管是在工作手册上,或是在网站或部落格上,持续更新是王道,再学习福音上,持守到底才是成功。
David Parnas的一个绝招,‘所有人都要看完所有东西的目标真是大错特错,有部份应该被封装(encapsulated)起来才对,不是属于你的东西,就不必也不被允许去看里头的细节,你只应该看到介面’,这一点是作者激推的。
在The Introduction of Ten Pounds in a Five-Pound Sack这里,ㄚ琪有提过硬体的便宜,作者已经改变暂存区域的使用原则了,看来见解相同。
另外作者提到一个落伍的观念‘程式库里的每一个组件都应该包含两套程式码,一套是执行速度最快的,一套是使用空间最少的。’之前看起来不觉有什么不对,但现在有点感觉了。
在The Introduction of The Documentary Hypothesis这节里,这点‘关键文件的相当于提供了一个监督和预警的机制。’这点ㄚ琪也漏掉了,补充之。
在The Introduction of The Whole and the Parts这节ㄚ琪漏掉了Vysotsky的话‘有太多太多的失败都源自于自始至终都搞不清楚要做的是什么东西。’
漏掉了这些将可补足ㄚ琪对这本书的研读与了解,这一本真是经典。