这本书比前两本都要长,但却是有一个主线“剧情”的。就是chandler团队的开发历程。书中的旁引例子也挺多,最大的例子还是这个“剧情”。OSAF团队在一开始被寄予厚望,但最后还是免不了遭受失败的命运。作者使用自己的经历现身说法,书中很多的道理我都曾在王老师的课上听过,很多经历也在我唯一的项目开发经历中遇到过,也算感同身受。王老师曾讲过,一个团队的第一个项目总是免不了失败的命运,我常常思考是为什么,读完这本书我突然醒悟,软件工程并不只是软件的工程,人类文明在软件文明之上,人类制作软件使用软件,软件当然不可能只是单单的代码组成,它其中更有诸多人的因素。
作为一个程序员,不是只会写代码就可以了。软件工程是个服务业,我们服务于客户,根据客户的需求,得到需求后一步步分析一步步计划,最后得到客户需要的软件,这其中的过程,不是大家闷头敲代码就可以做成的。 项目经理是团队中很重要的角色,是“酱油”打的最好的角色。这一点我感同身受。班里在开发项目时,有一组同学只有一个人干活,在发布第一版时这个同学的团队就已经形同虚设了。这样的团队有什么意义?项目是一个团队做的不是一个人做的。所以我认为,一个团队如果失败,必定不会单单只有一个人有错,也不会是只有一个人没有错。这个团队里的人都有责任且责任的大小程度一定相差无几。
我曾以为程序员们的世界就是终日与代码为伍,闷头敲代码就是生活的一切。可一个项目的完成需要人与人的沟通,而这沟通就需要研究了。软件工程最重要的其实不是代码的完成(当然这是最终目的),但其实最最重要的是人与人之间的交流,软件工程其实是人和人的艺术。这几本书让我了解和明白,软件不是简简单单的软件,代码也从来不是简简单单的代码,有代码的地方,就有江湖。