《自适应软件开发》这本书,刚读时,觉得是有点理想化,但是我对把生态系统的概念引入到软件开发管理非常欣赏。书还未读完,从晚上发现别人写的书评,有点极端,但也不无道理。故先转载,作为自己读书笔记的第一步。
文章如下:
听人谈了一些对于这本书的看法,感觉不是很同意他所欣赏并转述的书的内容。所以昨天去书店站着看了大半本,觉得他的转述和对书的理解都没错,也就是说我的确不是很同意书中的观点。
书读着令人激动,但是感觉作者过于理想化了开发的情况。
项目开发的著作,我以为分两类。一类是着重考察项目过程本身,一类是主要考察项目的参与者。前者我以为如《人月》,后者如《最后期限》(我想《人件》应该也是的)。一本好的作品应该是承认实际环境中的种种局限,并在实际局限的基础上考虑合适的策略。但是《自适应》似乎更加象一本市面上很多的励志读物,拿来鼓励一下自己可以,不能全当得真。特别是在你开发的是一个大型应用而不是产品的时候。
系统指出我的看法有些难。摘录一些观点供大家参考。
一是强调小组成员要保持高度积极的开放心态去适应变化。我觉得大前提没有错。但是长时间的激烈变化的确是耗散小组成员斗志的最佳方式。《期限》中说:压力之下人无法很好思考。激烈的变化的确是产生压力的好途径。我不能期望我的小组成员人人在6个月以上的开发过程中一直保持这种心态,我自己首先做不到。这是大多数项目组的现实。
二是觉得客户的需求最终会是收敛的,因此总有苦尽甘来的日子。我也以为不妥。我相信很多人经历过客户需求的变化,很多不是很有理性的,甚至有很多是颠来倒去的。有很多修改在程序员看来(包括事后证明)是没有意义的,但是在客户业务人员当时看来是很重要的,小组只能屈从。这也是小组士气的杀手。
三是关于企业转型,作者以为很简单,老总用纸笔一画就万事ok。我正惊异于如何做到,作者举了ms的例子。这就没话说了,ms有几个人是能够学的?sun,hp,dell等都学不来呢。作者接着提到了微软能这样做的理由,比如成熟的价值观和卓越的领导人。可见这和所谓的自适应方法关系不大。业界有句名言:问500磅重的猩猩在哪里睡觉?答案是:想在哪里就在哪里。行业领跑者想怎么干都是可以的。至于说到学习成功者是我们成功的捷径,这个题目就更大了,有兴趣的人另外讨论。
四是强调用这种方法开发出的小规模产品能先投入使用,产生效益。这种方法有一定可行性,我做的数据分析项目也是类似做法。但是总体而言我基本不同意,特别是从我做过的大型业务系统而言,决不可行。问题不是开发组能不能做到,而是对于这样的用户,召集一次业务人员进行培训和推广都是很耗费人力物力的。新软件的推广毕竟不是买个台灯来用。业务软件的推广往往意味着业务的重新整合,风险非常大(连《期限》的作者也只敢举产品的例子),这个是不能很多次折腾的。
五是有点忽略政治的作用。这个问题比较大,但是我觉得大项目的开发肯定是要考虑的。上面的第三和第四点也都和政治有一定的关系。《期限》中的贝洛克部长就是政治影响开发的代表,现实中这样的压力会来自自己的领导和客户的领导。小说中该人物被解决了,但是实际项目中就说不清了。《期限》的作者也说了:奇迹会出现的,但是不要抱太大希望(大意如此)。
还有不少,先罗列这些吧。总的感觉是作者有点理想化,相比之下,《人月》《期限》的作者就现实得多。有兴趣的人可以对照着看这些作品。
我一直有这样的观点:不用面对最终用户的程序员是最幸福的,就象出国的人回来说:还是社会主义的祖国好啊。我的感觉么,作者似乎是一个没有面对过应用项目折磨的人。
有个疑惑:作者区分了螺旋式开发和所谓的自适应开发,我好像看不出有很大的区别。对此有人有深入的看法么?
顺便提一下:作者是个咨询顾问的经验胜过作为实际的项目管理者,而且成书于疯狂的1999年。当然这都不是判断书的内容如何的论据,只不过我在确定了自己的看法后的一点联想罢了。呵呵
个人一点浅见,方家见笑了。这书我不准备买,我等待《人件》。
今天又逛书店,看完了《自适应》的后半本。更加确定自己的想法:这本书是.com时代的遗物,价值实在不大。
书的标题中唯一比较明确的是第七章:为什么好的项目经理也会失败。内容呢,提出了一个作者认为是错误的观点,就是:把项目交给一个好的项目经理,成功的机会比较高。
觉得十分惊讶,于是比较仔细读了该章。觉得不能同意作者。
首先说点吹毛求疵的东西。关于标题,其实没什么意思,胜败兵家常事尔。再说那个观点,虽然我们在读完整个章节后都能知道他想说什么,但是还是太不严谨了(不知是作者还是译者的问题)。首先,什么叫好的项目经理?显然是做项目成功案例多的项目经理。于是论点变成了:做项目成功机会高的项目经理做项目成功机会不高,很好玩。其次,如果承认作者的观点,显然也就承认了:挑项目经理最好的方法,不是看他的成绩,因为这和掷色子没什么区别,也很好玩。作为一个“有价值”作品,这么来表达一个能单独作为一章的观点,也太马虎了。
其次,抛开这个不提,我们知道他其实要表达的是:项目经理过去的成绩如果很好,其以后的成绩很可能会和蹩脚的项目经理一样糟糕。我想,考察一个个体,什么结论都是有可能的。但是考察好的项目经理的整体和蹩脚项目经理的整体,这个结论显然无法令人接受。作者的论据是什么呢?阅读他文中所述的断裂性技术,我们能知道,作者是认为世界是急剧变化的(以后越来越厉害),以往的经验将不能适应目前和以后(99年)软件开发的变化了。必须进行作者提倡的自适应开发方式。
这个问题见仁见智,我不能同意作者的理由可以从几个方面来说。第一,看看这套丛书的前言。描述了印度大量的老资格程序员和项目经理的存在是人家比我们强的地方。那我不禁要问:照作者的观点,是不是这些人都没有价值了?因为世界已经剧烈变化了。如果是是,显然是荒谬的,而且丛书引入了一本观点与其出书目的截然相反的作品(这不是一般的观点不同,而是能完全否认出从书的价值)。如果是不,那么原因是什么?是不是这些印度人已经都掌握了自适应方式?这显然也是荒谬的。第二,个人以为这书和99年的.com热完全一致,强调速度、变化和抛弃,完全是那个时代的产物(书中有很多痕迹)。.com热已经过去了,能够继续生存的.com大多已经被为本书所嘲笑的传统经理人所控制,而且生存状态也就是一般般,其他绝大多数死亡了。谓予不信。举两个例子。一是后来看当时最聪明的人,都是攒了一个网站然后趁乱卖掉的人。买的人基本都在哭(如果还能活着),就算你买的是aol也一样。二是看错网络热潮的巴菲特,只为此道了一年歉,之后几年,可都是和过去一样笑的。
最后,我觉得项目管理和对人生的观点其实是殊途同归的。虽然到处有出色的员工,但是任何项目的出发点,都不能假设自己带了一帮高智商的共产主义者。在这个层次上,传统的经济人文观点,都蕴含了项目管理的经验。个人看过的书里面,觉得值得推荐的,2001年是浙江出的《大败局》,2002年是《定位》(《自适应》中对其中的观点也有引用)《人月》,今年有《最后期限》。
对于项目管理的论述,我还是坚持前文的看法:要么是论述如何控制过程(假设组员都是正常的普通的人),要么是论述如何将人力发挥到最大(并非是发挥到120%),不能混在一起:说自己发现了最好的过程控制方法,它的作用是能将人的作用发挥120%,但是前提是参与者必须120%地投入。这样是犯了没有不动点的分析错误。如果要我总结这本书的观点么,虽然有点偏颇,我还是想这么打比方,就比如有个人跑来和你说:“我发现了一种绝对出色的武器,给我最好的军队,我能打败所有的敌人!”你很为这个武器激动,经过仔细考虑,觉得好武器当然要好军队来用,你决定答应他,于是问:“你觉得什么队伍是最好的,从而能用你的武器?”他答道:“能打败所有人军队!”
怎么读着象钉子汤的故事。
有点原则上的不同,表述得不是很清楚。阅者原谅了。总之,我觉得引入这本书是失败的。无论如何,历经时间考验的《人月》《人件》这样的神品,出版社不应将其和后面的作品并列为丛书!特别是:它居然比《人月》还贵十块!