从原始时代到现代,人类的生活和发展都发生了巨大的变化。这期间我们有成功也有失败,但失败是成功之母,没有失败我们就无法积累大量的经验,没有失败就没有成功,所以失败的过程也是过程。
做过程不是做工程。在软件工程发展的过程中,成熟的标志就是模型的提出。而模型就是“样子”,就是我们做工程的标竿,所有工程都要长得和它相似。就像做蛋糕时的模子,用模子刻出来的蛋糕都长得一样。然而做工程不是做蛋糕,按照模子做完过程的每一个阶段,并不等于做完了工程。工程它需要往里添加新的东西,就像做出不同口味的蛋糕。
做过场。过场没有实质性的东西,而一直走过场,也不注意实质内容,则一个项目做出来也不能用,他只是一个呆板的模型,一直重复这个模型所有的人都会受不了,最终这个项目也只能失败。
实现,才是目的。工程是一种实现的途径,很多人为了模型,只注重是否按照模型来发展,工程被当作了借口,结果忽略了工程的目的——实现。这样的结果是:我们做完了工程的每一个过程,却没有完成项目的每一个“实现目标”。最初我们的前辈们在编写代码的时候还没有什么工程模板,他们只是单纯的以目的为目标,也一样编出了程序,也一样解决了问题,也一样实行了目的。现如今,我们讲工程了,有模板了,反而什么也做不成了。这就是忽略了“实现”的后果。
过程不是死模型。我们不能“买椟还珠”,只看到了事物的表面,而忽略了实质的东西。我们要学会透过模型看到创建这些模型的目的。试着跳出“大师”的阴影,仔细地看一下那些所谓的“经典”过程。这些过程都有相似之处,而我们要知道,所谓的过程模型是在既有的过程中总结出来的,也就是说,这些模板在有名字之前便已经被某些公司熟练应用了。所谓的“瀑布模型”,“V模型”都是为了工程的实现而创建的,“V模型”看起来像“瀑布模型”折起来,但是他每一步都有实现,检验的环结,实际应用也要更好一些。所以过程不是一成不变的,它是要随时间的变化而发展的。
画骨还是画架。在“刻鹄类鹜”与“画虎类犬”之间比较的是二者在骨子里所得失的东西,而不是架子上的像与不像。同样,以得失而论,在瀑布模型与RUP模型之间,学习前者而不成,可思过程的本质;学习后者而不成,可得文字的架子。越简单的东西,往往越接近事物的本质。本质的东西若能理解得透,架子还不是随手而来就可以用的吗?
工程不是做的,是组织的。项目经理的工作,就是要去组织这个工程的各个角色,使得分工明确,步调一致,共同完成这个项目。
失败的过程也是过程。