大道至简的第五章叙述的是失败的过程也是过程。
做过程并不是做工程。我们可以把一个工程分成好几个部分,或者说把其中的每一个环节都当做一个模型拿出来,但是做工程却并不是单单把这些过程做好然后整合在一起就能算作是一个完整的工程的。如果工程可以这样亦步亦趋地做成的话,那一切都变得简单了。因此,做过程并不是做工程的精义,也不是目的。当然做工程也不是单单是走过场这么简单,并不是说有了过程就行了的,对于一个项目来说,最重要的是它的结果。因为客户让我们知道他们的需求,然后我们最终是去实现客户的需求,所以在客户的眼中只有结果而没有过程。所以,实现才是一个软件工程最终的目的。为工程而工程的人,都迷失在项目中了。就像开发人员迷失在一个技术的细节上一样。我们的侧重点应该是工程的结果,过程在客户的眼中并没有什么地位。所以,我们在生活中听惯了的,结果不重要,重在过程这种话在我们软件工程人员身上并不适用。我们就应该朝着最终的目标去努力。对于一个工程来说,我们需要过程,但是我们不能被过程给绑死了,而不去注重结果,而应该知道,这个过程只是为了让我们能够更好地去实现罢了。
过程并不是死模型。我们可以把一个工程中的过程拆分出来,然后再建立模型,之后呢想方设法地去解决这一系列的问题。但是,对于一个工程来说,它的过程并不是唯一的,更不是谁规定死的。我们应该对过程中的具体的细节有自己的了解,之后便能给出适合我们去完成的更好地方案。并不是说一个瀑布模型,那我们就应该按照这种模型去解决一个工程,我们可以将其中的细节再具体地细分出来,从而构成我们所适合的V或W模型,从而更好地去完成一项工程。所以在建立一项工程的时候,我们的创新精神也就显得格外得重要。当然,学习一个过程模型时我们也应该择善而从。或许我们不能在这个模型上有所成或者说有所创新,但是我们可以学到一些在这个模型上的一些经验和道理,从而在我们找到合适自己的模型的时候可以更好地去创新。
工程并不是做出来的,而是靠组织的。我们不能做工程,而是要组织工程。项目经理的工作,就是要去组织这个工程中的各个角色,使得分工明确,步调一致,共同地完成这个项目。
作为一名软件工程专业的学生,我们要深刻地体会到过程在一个工程中的重要性。一个工程需要过程,但是更注重结果。而想要得到好的结果,就应该需要完美的过程。