未读完整本书,到最后还是坚持不下去了,因为收获太小了。
基本上这本书已经的核心就是评估敏捷方法和传统软件工程方法的优劣,并找出彼此的相同和不同,然后相互取长补短,形成最有效的方法和过程。不过我还是无法找到想要的答案,或者是很明确的方法。其实大家早知道一定要找到适合自己的方法,不能空谈什么XP,RUP,CMM或CMMI之类。但讲到实践的层面,还是XP更实际一些,更贴近我们的工作内容。
最近工作上也常遇到类似的问题,PM或再高层的经理总是说大家要提高开发速度,大家要提高修BUG的速度,等等。听得人犯困,完全是念经,更像喊口号。提高工作效率不是光喊喊就能做的,要花很多时间和精力作为前提。光是发个邮件,会议上提一下就能达到这个目的,简直就是痴人说梦。不过多数的管理层不相信,或是不愿意相信这一点,而是指望下次真的会提高开发速度。然后再这么循环下去。其实道理很明白,但真要提高开发效率,首先要找到问题所在,到底是什么使效率如此之低,各个方面的原因都找出来,包括人、过程、产品、时间。
然后一个一个想办法解决,逐渐提高个体的效率和质量,整个团队的效率也就出来了,然后再专门对团队进行分析,找出需要提高的地方以改进。这是只一条路,能不能达到终点还要依赖于其它因素,但始终是在朝正确的方向走着。这个很重要。
在这里作者提供了两种方式,使用计划扩展XP的应用规模和在传统方法中使用XP实践。此外还提到了采用敏捷方法的缺陷,虽然我不认为那是真的。总之,如果采用XP,你会获取更多的好处,尽管它的难度更大。首先要选择能胜任的人,实践XP,这中间对人的要求很高。反而是传统的方法或CMM对人的要求没那么高,更注重的是过程本身。
不过,这本书也体现了它的价值,当你需要从敏捷方法和传统方法中找到一个折衷点,它会给你提供基本的原则和方法,以及一些有趣的实践。当然,前提是你的头脑要保持清醒,知道自己需要什么。