《大道至简》第五章的开篇就告诉我们“做过程不是做工程”。没错,我们都是工程师,或者说未来是工程师。但其实做工程最重要的是过程,这个过程包括:需求、分析、设计、开发和测试等5个主要阶段。一项工程如果不重视过程,只能被称作“做过场”。“过场”本是舞台术语,意思是从舞台的一端出场,再走到舞台的另一端进场的一个过程。过场角色一般没有唱腔或道白,即便是有,也是没什么实质内容的。这样的表演,最终的结果是观众受不了,演员受不了,就该散场了。而戏目和项目的结局,竟如此的相似。项目若也只做过场,那做出来的东西也是没思想的。

      一项工程,要想办法实现它才是目的,这是我们编程的本质。老师在课堂上也告诉过我们,任何一个程序,要先实现再优化,如果连实现都做不到,那么优化又谈何而来?凭空想象吗?这就像是小学生写一篇作文,先要将想表达的最基本的东西写下来,再一点一点加工润色,改个排比,比喻,拟人等。

      有一个很奇怪的现象,最初做开发的先辈们,不用什么工程或者过程,也一样编出了程序,也一样解决了问题,也一样实现了目的。可现如今呢,老师教给我们方法,给我们讲例子,在课堂上看似都懂了,但当老师放手让我们自己去写一个程序时,大家只会依照老师给的例子,简单的修改一下。如果变动有些大,就会觉得老师没讲过,自己什么都不会。这是为什么呢?因为我们的思想已经被禁锢了,我们潜意识里认为,只有老师讲过的那一种方法才是正确的,不需要创新,也不会创新。这是很可怕的事。我们在一个项目中经常听到说“工程要这样做”或者“工程要那样做”,而很少听到有人说“项目要求这样做”或者“客户的本意是那样的”。因为我们的思想已经被禁锢了,只懂得为做工程而做工程,却不能满足客户的要求。这样的结果就是:我们做完了工程,却没有完成项目,没有实现目标。

      过程不是死模型,我们应该试着跳出大师们的身影,应该仔细的看一看那些所谓的“经典”,不过是在瀑布模型上的一再变形。近代作家朱湘写了一篇《画虎》,他在《画虎》中说:“一班胆小如鼠的老前辈便是这样警劝后生:学老杜罢,千万不要学李太白。因为老杜学不成,你至少还有个架子;学不成李的时候,你简直一无所有。这学的风气一盛,李杜便从此不再出现于中国诗坛之上了。所有的只是一些杜的架子,或一些李的架子。”看,原来从那么久以前人们就喜欢模仿伟人,或是模仿伟人留下来的东西。大家肯定都也听过这样一句话“天下文章一大抄,看你会抄不会抄”。这还是模仿。但我认为,这种模仿不是完全照着别人的去做,而是取其精华,最终形成一套自己的东西。

      工程不是做的,而是组织的。一项工程一般是由多个人共同合作完成的,这就需要有一个项目经理去协调大家,步调一致,共同完成这个项目。