大道至简第五章阅读感想
第五章失败的过程也是过程
今天王建民老师依旧带领着我们阅读了大道至简第五章,第五章是失败的过程也是过程。通过前面的技术、团队和沟通,这章主要讲了关于做工程的问题。
文章开篇以一句《明皇实录》中的“虚有其表耳”来说明一个很重要的问题就是:不能只求外表,而是要透过表象,力求实质。
第五章的整体思想是让我们注重过程,因为有很多人从来不注重过程,只注重结果。然而过程对于一个编程人员也是非常重要,如果一个好的编程员从来不在乎程序的过程,只是关心最后程序是否能够实现,那么这个编程员一定不是一个好的编程员。过程是需要积累,有许多编程员急于求成,往往不把过程看的很重要,忽略了过程,尤其在编程过程中,一定要写代码的注释,这很重要,这是一个优秀的程序员一种良好的代码习惯。因此,在程序编写的过程中,失败的过程也是过程。第一节说的是过程不是工程,我们在做工程的时候,不能总是照着别人的思想及其步伐去做工程,做工程不能像是走过场,不能认为实现才是目的,只有实现了一个工程,才有基础去优化它,找一个更好的方法去代替他,最终达到目的。
工程只是一种实现的途径。最初做开发的前辈们,不用什么工程或者过程,也一样编出了程序,也一样解决了问题,也一样实现了目的。而现如今,我们讲工程了,讲过程了,讲方法了,却什么都再也做不出来了。因为工程被当成了借口,掩盖了我们做事的真正目的:“实现”。因此,我们在一个项目中常常听到说“工程要这样做”,或者“工程要那样做”,而绝少听到“项目要求这样做”或者“客户的本意是那样的”。这样的结果是:我们做完了工程(的每一个过程),却没有完成项目(的每一个“实现目标”)。为工程而工程的人,都迷失在项目中了。
过程是一段积累,不能老是记住一种方法,软件工程是实践中摸索出来的方法论,每个组织的大小,行业,具体情况都很不一样。模型就是样子,做完过程的每一个阶段,并不等于做过程,或者说,工程并不是这样就可以做成功的。为工程二工程的人,都迷失在一个技术的细节上一样。专注于细节的人,可以把每一个过程的流程图都画出来,却也被一个流程给捆绑的死死地,再也没有一丝喘气的机会。
过程不是死模型,试着跳出大师们的身影,再仔细的看一下那些所谓的经典过程,不过是在瀑布模型上的一点转变,瀑布模型描述了开发的主要环节,于是一群人把这些环节拧开扭曲或者反复的,过程理论中,如果懂得了所谓的模型原本都演化自那个简单的瀑布,那么文档也可以应时,因地制宜,越是简单的东西,往往越是接近本质。真正精髓的东西,是实实在在的东西。
工程不是做的,是组织的我们总是在说“做工程”,好象工程就是面包馒头一样,有个模子,拿来照着一堆面按上一按,放在笼屉上蒸上一蒸,就可以“做”出来了。经历过工程的人都知道,我们没有那个模子,而工程中的人员也不是那一堆面。所以我们当然不能“做”工程,而是要“组织”工程。项目经理的工作,就是要去组织这个工程中的各个角色,使得分工明确,步调一致,共同地完成这个项目。