大道至简第5 章 失败的过程也是过程读后感
本章分为六部分分别是:1. 做过程不是做工程2. 做过场3. 实现,才是目的4. 过程不是死模型5. “刻鹄类鹜”与“画虎类狗6. 工程不是做的,是组织的。系统论述了工程的概念。
第一节做过程不是做工程。软件工程作为成熟的概念的标志是软件工程的瀑布模型的提出。瀑布模型将软件开发的过程分成需求、分析、设计、开发和测试等5 个主要阶段。而后有提出了许多新的模型。模型就是“样子”。人家拿出一个东西来说:这是模型。其言下之意就是要你按照这个样子来做。按照模型的这个“样子”,做完过程的每一个阶段,并不等于做工程。或者说,工程并不是这样就可以做成功的。
第二节做过场。“过场”是舞台术语,意思是角色从舞台一端出场,再走到另一端进场的一个过程。过场角色一般没有唱腔或道白,即便是有,也是没有什么实质内容的。每一个角色都把自己的环节当成一个“过场”。如同演戏一样,从A 做到Z ,就一切都完成了。项目将是一场无休止的演出而已。
第三节实现,才是目的。从最开始,从我们编程开始,我们的目的就是实现一个东西。工程只是一种实现的途径。工程被当成了借口,掩盖了我们做事的真正目的:“实现”。 这样的结果是:我们做完了工程( 的每一个过程) ,却没有完成项目( 的每一个“实现目标”) 。为工程而工程的人,都迷失在项目中了。就象开发人员迷失在一个技术的细节上一样。
第四节过程不是死模型。那些所谓的“经典”过程,不过是在瀑布模型上的一再变形。2002 年在CSDN 论坛中贴出了一个足以令人震聋发馈的“V 字模型”。 你把 V 模型拉直了,还不就是瀑布模型吗?V 模型在每一个环节中都强调了测试( 并提供了测试的依据) ,同时又在每一个环节都对实现者和测试者的分离。由于测试者相对于实现者是一种监督、考察和评审的关系,因此它相当于在不断地做回顾和确认。V 模型变得比其它模型更为实用。
第五节“刻鹄类鹜”与“画虎类狗” 这意思便是说,雕刻天鹅不成,总还可以像只鸭子( 鹜) ;若画虎不成反而像条狗,那就事与愿违,贻人笑柄了。以得失而论,在瀑布模型与RUP模型之间,学习前者而不成,可思过程的本质;学习后者而不成,可得文字的架子。——用 RUP用不好的人,总会说自己终归还有一堆文档模板可以抄,便是这个缘故。过程理论中,如果懂得了所谓的模型原本都演化自那个简单的瀑布,那么文档是按XP 写还是按RUP写,也就可以应时、应需,因地置宜,择善而从了。越是简单的东西,往往越是接近于本质。
第六节工程不是做的,是组织的。“做工程”,好象工程就是面包馒头一样,有个模子,拿来照着一堆面按上一按,放在笼屉上蒸上一蒸,就可以“做”出来了。经历过工程的人都知道,我们没有那个模子,而工程中的人员也不是那一堆面。 所以我们当然不能“做”工程,而是要“组织”工程。项目经理的工作,就是要去组织这个工程中的各个角色,使得分工明确,步调一致,共同地完成这个项目。
第五章将工程的各种问题一一指出,为我们以后做工程指明了道路和方向。