学习advanced software engineering已经很长时间了,但是系统地读相关project control和management的书还没有仔细地看过,借这一次读书心得的机会比较静下心来读了一些快速软件开发的书籍。
总体说来这是一体比较系统地介绍如何控制项目进程的一本书籍,其中我主要仔细地阅读了第11章到第13章。因为其中很多的内容都和在ASE课堂上的内容十分地相似,所以只阅读了那些我认为比较有用的一些章节。
书本的一些概况和书上的一些比较概念就不介绍了。说一下自己读第11到第13章的一些感受和一些启发,希望对大家有用。
11章是讲的激励机制,书中对不同的人员有不同的动机作了一些比较详细的分析。比如:开发人员有比如成就感(当然我觉得任何参与到这个其中的人都有成就感的)、开发机遇、工作乐趣等。又如对管理人员,其动力主要是:责任感、成就感、还有受认可程度等。因为自己在一开始对这些东西并不是非常地清楚,所以有些工作开展起来并不是非常顺利。现在了解了一些这个东西之后,对激发人员动力是非常有用的。同时这一章举了一些激励失败的例子如过分夸张的表扬等,这些tips对于PM是非常有用的。所以推荐PM去阅读一下这一章。
团队合作是在12章中有比较好的介绍,其中讲了一些为什么团队失败的例子。比如,缺乏共同的愿望,缺乏认同感,沟通效率低。我是比较愿意读这一章的,其中失败的案例也为我们敲响了警钟。比如之前alpha版本的时候大家沟通不是很有效率,而且大家有些地方的motivation并不相同。有的同学想做A feature, 有的同学想做B feature. 这就是一个典型的缺乏认同感的一个例子。所以这些tips也好,教训也罢对一个团队的同学都是非常地重要的。PM的话,最好阅读这一些如何激发共同的motivation的例子,这样对于一个team都是非常有利的。
13章讲了一些团队的构成,比如角色分配。Our Team one的角色分配不是很清楚,有空的同学都在写code, 所以这是一个不好的方面,同时也是无奈之举。特别是这一章提到如何有效地监控个人表现,这是一个很实际也很重要的例子。
总体说来,主要是阅读了team work有关的三章,对于团队合作,以及如何控制进程方面是很值得所有同学去阅读的。因为所有的工作都是会以一个team的entity去做的。
我觉得读书并不在于你自己读了多少,或是内容是多少,读书是有目的地去寻找自己所需要的内容,因为时间确实是很重要的,要把有限的时间投入到那些重要而紧急的事情上,而不是distribute equally。所以我没有选择那种以Story形式(传记形式)的一些书籍来读。
在此推荐所有的程序员去阅读11章到13章,而非仅限于PM。Or more aggressively, 这三章应该是所有人的必读之章。这些章节没有很多的interesting的story, 但是确实是很有用的一些经验。
最后说一下本书的题目:《快速软件开发》,我不认为本书对于rapid development的定义或阐述有任何的意义,因为一是从汉语来说,其意思非常容易理解,二是此书介绍了很多的经验和很多的进行科学管理和科学合作方面的一些方法,以达到快速软件开发的目的,所以我觉得不应该过多地纠缠在快速软件开发的定义或意义上。That is nonsense.
By MicroTeam Song