再次怀着热情读了大道至简的第五章——失败的过程也是过程。作者首先告诉我们: 做过程不是做工程 。为什么这么说?作者讲到,按照模型,做完过程的每一个阶段, 并不等于做工程。或者说,工程并不是这样就可以做成功的。如果工程可以做成的话,只需要有模型就足够了。因此做过程并不是做工程的精义, 也不是目的。也就是 “过程”是一个确定的模板,而“工程”是有一个目的的实现在里面。
"做过程不是做工程"讲述了软件工程自提出以来的一些进步(软件工程的瀑布模型,瀑布模型将软件开发的过程分成需求、分析、 设计、开发和测试等 5 个主要阶段)以及这些进步带来的”模式化“的弊端 (用 RAD 模型 RUP 模型来做工 程,即使是亦步亦趋,也做不好工程。 )所以作者抛出这样一句话”做过程并不是做工程的精义。
作为程序员,我们不能去“走过场”。“走过场”原本是舞台术语,这就相当于前面所说的做过程,从舞台一端入场,再走到另一端进场,并没有什么实际内容,像这样,每一遍都只是“过场”的话,项目将是一场无休止的演出而已,只能以失败告终,或者是做的勉强,但也算不上成功。我们程序员就不能这样,我们应该要把一个程序完完全全的弄明白,读懂并且消化它。
接下来作者就讲述了如是问题“ 实现,才是目的 ”这告诫了我们不应在做项目时“迷失”了自己。我们的目的是什么,我们就要做什么,而不是模板让我们这样做我们就这样做。实现,才是目的,很多时候我们都会把问题的本质、问题的基本点给忘掉了。从最开始,我们编写的第一个代码“hello +自己的姓名”,我们的目的就是实现一个东西。无论这个东西是小到几行代码的程序我们,还是大到千万的工程,我们的目标都是一样的,都是要“实现”它。我们只要做完了工程的每一个过程,就会完成项目的每一个“实现目标”。
工程不是做的,是组织的。真正做工程的人知道,在任何一个项目面前,都没有所谓的“模板”,一个项目经理所要做的,就是去组织工程中的每一个角色,分工明确步调一致,去完成这个项目所要实现的每一个目标,真正做到最适合的工程。
我们程序员想要的一个自己想要的项目,就必须要明确我们需要做什么,我们的最终目的是什么,应该做一些什么样的准备。如果我们仅仅是想到走过场或者是去套用别人的模板,那么你就永远不可能自己有出息,不会有更好的出路。