说实话,这章的内容我并没有读懂,读是读下来了,单独拿出来,都是中国话,也不能说不懂,但读完之后,总感觉里面有更深的东西,而这种感觉在前4章是没有的。总之,先把自己现有的感悟写出来吧,之后再补充。

第一、软件开发中实现目标,才是目的。

  很多人把问题的本质给忘掉了。从最开始,从我们编程开始,我们的目的就是实现一个东西。无论这个东西是小到一个称手的工具,还是一个大到千万的工程,我们的目标,都是要“实现”它。

工程只是一种实现的途径。最初做开发的前辈们,不用什么工程或者过程,也一样编出了程序,也一样解决了问题,也一样实现了目的。而现如今,我们讲工程了,讲过程了,讲方法了,却什么都再也做不出来了。 

  工程被当成了借口,掩盖了我们做事的真正目的:“实现”。因此,我们在一个项目中常常听到说“工程要这样 做”,或者“工程要那样做”,而绝少听到“项目要求这样 做”或者“客户的本意是那样的”。 这样的结果是:我们做完了工程(的每一个过程),却没有完成项目(的每一个“实现目标”)。 从某种意义上说,这个工程算是白做了。

第二、不要被模式、权威束缚

  试着跳出大师们的身影,再仔细地看一下那些所谓的 “经典”过程,不过是在瀑布模型上的一再变形。而变形就成了创新,所谓创新,不只是在新的领域另辟蹊径,在前人的肩膀上加以完善也算是创新的一种。而且你要知道,过程模型是在既有工程中总结出来的。也就是说,在某个模型有了名字之前就它已经存在了,就已经被一些团队或者公司创生并使用了。 那么,为什么我们不是创生那些新的工程方法和软件 过程理论的团队或者公司呢?

第三、“刻鹄类鹜”与“画虎类狗” 

  东汉时期,伏波将军马援在南征交趾期间写过一封著名的家书,是教导两个“喜讥议而通轻侠客”的侄儿的,希望他们学习敦厚谨慎的龙伯高,不要仿效豪侠仗义的杜季良。近代作家朱湘就引用了这个典故,写了 一篇《画虎》并收入《中书集》。《画虎》中说“一班胆小 如鼠的老前辈便是这样警劝后生:学老杜罢,千万不要学 李太白。因为老杜学不成,你至少还有个架子;学不成李 的时候,你简直一无所有。这学的风气一盛,李杜便从此 不再出现于中国诗坛之上了。所有的只是一些杜的架子,或一些李的架子。”  

  马援说刻成鸭子比画成狗好,其真实的意思是说学龙 伯高不成,可得“谨敕”;学杜季良不成,则会流于“轻 薄”。马援比较的是二者在骨子里所得所失的东西,而不 是架子上的象与不象。 同样,以得失而论,在瀑布模型与 RUP 模型之间, 学习前者而不成,可思过程的本质;学习后者而不成,可 得文字的架子。——用 RUP 用不好的人,总会说自己终 归还有一堆文档模板可以抄,便是这个缘故。 过程理论中,如果懂得了所谓的模型原本都演化自那 个简单的瀑布,那么文档是按 XP 写还是按 RUP 写,也 就可以应时、应需,因地置宜,择善而从了。——本质的 东西若能理解得透,架子还不是随手搬来就可以用的吗?