在一个项目的实现中,“过程”与“工程”是同一个概念吗?答案自然是否定的。“过程”是一个确定的模板,而“工程”是有一个目的的实现在里面。
在软件工程中提出了瀑布模型,其将开发的过程分成需求、分析、设计、开发和测试五个主要阶段。在这之后人们开始研究过程模型的设计与建立,例如RAD模型、螺旋模型以及PUP模型,接着就是按照这些模型去做项目,亦步亦趋去完成。然而,这样是做不好所谓的“工程”的,做过程并不是做工程的精义。
“走过场”原本是舞台术语,这就相当于前面所说的做过程,从舞台一端入场,再走到另一端进场,并没有什么实际内容,像这样,每一遍都只是“过场”的话,项目将是一场无休止的演出而已,只能以失败告终,或者是做的勉强,但也算不上成功。
那么,到底什么才是工程,工程又要如何去做。首先不能忘记问题的本质,就是实现一个目的。同样的,无论是一个小小的程序或者一个庞大的项目,它都是要实现一个目的,而工程就是实现的途径。常常,我们只考虑工程中的每一个过程,既定了它的做法和规律,完成的甚至堪称完美,只是有一点,我们并没有完成项目,也就是说,没有实现目标。
我们做的是实现而非过程,为了工程而工程的人只会迷失在项目中,所以切记不要忘记问题的本质。
我们应当思考,V模型相比于瀑布模型做出转变的真实意图是什么,而不是只是把V模型当成是又一个经典的“模板”。日本劳动力短缺导致的劳工输入和项目外包,直接影响了其组织管理模式,也因此V模型比其他模型更加实用。由此,我们所要了解的不是这个工程的外表和既定的形式,而是它的内容,因为,每一个项目都有最适合自己的工程,我们所要做的,是为了实现项目而及时建立和更改过程,并不是拿一个“经典”的模型套进去。
刻鹄强于画虎,比较的是二者在骨子里所得和所失的东西,就像瀑布模型和RUP模型,学习前者不成可思过程本质,学习后者不成可得文字的架子。然而,若能理解的透,架子还困难吗?越是简单的东西,往往越接近于本质。
工程不是做的,是组织的。真正做工程的人知道,在任何一个项目面前,都没有所谓的“模板”,一个项目经理所要做的,就是去组织工程中的每一个角色,分工明确步调一致,去完成这个项目所要实现的每一个目标,真正做到最适合的工程。
总之,面对一个问题,我们所要做的是找到其骨子里的本质,也就是每一步所要实现的是什么,接着在这一步里应该怎么做,而不是拿到一个项目,就去找之前的某一个模板去套用,过程并不是工程的精义。