【转载】 o6z 在敏捷中国 的讨论

我还是再多说点,给大家稍微从昨天到今天的角度说一些我的看法。
在现在这个阶段,敏捷似乎是一个热潮到了最高点,是主流。而也正是这个时刻,敏捷的队伍显得十分壮大。但是很遗憾的告诉大家,其实这样的敏捷只是将死的敏捷在腐 化前最后的景象。
当然在敏捷真正死亡前,会有一小段的时间留给我们做些我们真正能感到有乐趣同时又有大收获的事情。也就是目前这段时间。随后也就会形成敏捷在大多数人眼里,跟c mm其实没什么区别,都是有些人用来骗吃骗喝的招牌(当然现在其实已经有很多人这么想了,只不过他们还没说出来,或者说出来的声音还太小)。所以请珍惜这宝贵的 时间。
cmm是如何臭的,这个问题我们大家一定要有认识。造成cmm在行业内被普遍厌恶的情况,一个很重要的原因是,搞cmm的那些人都是一些没什么阅历,也没有什么 能力的才毕业的硕士(这不是有所指,而是很普遍的情况)。这些人不喜欢写代码,也没能力写好代码,更加没兴趣在第一线。而且他们还非常想向上爬,觉得搞cmm是 个区分工人和干部的大好机会,他们也终于有这个机会可以做到高人一等了。而cmm前期,很多公司还是希望通过cmm来得到些实在的能力的。不过由于这些人的存在 ,而且他们还是主流的cmm操作者,因为他们的经验和喜好自然的形成了一种普遍的爱好所谓的正规开发方式。其表现在于,众多的评审,繁多的文档,组织规模变大, 多头管理,多头负责。很遗憾,在今天的敏捷传播过程中,到了这个阶段,这些人又出现在敏捷社区。
可以说cmm和敏捷其实都是好东西,都值得我们认真学习。cmm很好的发现了问题和提出了发现问题的方法,而且cmm还很好的构建了一个完整的系统用来解决问题 。但是cmm同时问题巨大。首先是cmm来自六十年代和七十年代IBM这样的实践,而我们知道其实在那个时候日本都比美国做的好(否则他们也不会提出什么软件工 厂这样可笑的概念)。文档驱动,官僚主义,不关注具体的个人在企业中的作用,造成了僵化和浮华的企业做派,很多时候不仅仅是没有提高企业的开发能力,反而是降低 了企业的能力。其实这也跟cmm追求的目标是企业的过程能力,而不是企业的开发能力,而进一步其关注的过程能力,又过分强调的是过程控制能力。其实大家可以这样 设想,一个注定会失败,并且会在一个阶段后明确失败的过程,那一定是最好控制的过程。而这样一个东西再加上企业里面很多不好的风气,再加上中国人的某些特有的品 质,造成了很严重的后果。但是我们必须要认识到,正是因为cmm热潮,才让软件工程被中国的企业重视,才让众多的开发者关注软件工程。虽然我认为,软件工程其实 没必要受到如此多的重视,更加没必要人人都去研究。这一切都是昨天的事实,今天的背景。
在新水的讨论中,曾经有一种观点是敏捷是geek癖好的,我说确实如此。为什么呢?实际上敏捷来自第一线,是最牛的一些程序员在开发过程中形成的一个实际操作集 合。无疑会带着他们强烈的个体色彩和偏好。于是强调进取,强调个人能力和团队(其实这里的团队跟日本那种和印度那种团队完全是两种不同的团队,是打破了隔断的团 队),强调快速反映,强调去行政化,强调快速反馈的。这是需要一些理想主义的,需要一些英雄主义的,需要一些奉献精神的,需要一些信仰的。
但是这些品质其实都是社会的稀缺资源,这样的人都不是主流。于是前期的实践在这些人的强势介入下,很快的发展起来。但是到了现在,众多的企业和组织都都在搞敏捷 ,这些人于是就不够用了。本身这样的人就不多,而即使有也未必会在早期就关注了敏捷,而且就是关注了敏捷,未必就是敏捷的支持者。而由于客观的需求存在,于是伪 敏捷者就出现了。这些人的典型就是这位大人。
这样的人首先是不在第一线,而又希望突出其战绩,最好是能够让人家把活干了,然后他去收获苹果。很遗憾,由于前期cmm的影响,造成很多人是这个调子。而敏捷现 在的早熟,或者说是scrum的热潮,恰恰就说明了这一点。同时由于敏捷的geek偏好,造成很多企业没有很好的条件实施敏捷。于是这两者的合力,会在让敏捷热 很快过去。我预计敏捷热潮,绝对不会比cmm热时间持续更长。
对于那些巨大而浮肿的软件开发组织现在这个阶段和下个阶段的方向。显然在整个组织内部,推广xp这样的方法在管理层和时间上都是有问题的。而由于这种组织内部, 精英和英雄都会受到组织的抑制,所以即便实施了敏捷效果也不会得到最大化。所以这样的组织需要的是实施一个Lean,并且是彻底的实施。首先从理论和管理上说, Lean比其他方法都更加有优势。同时Lean又可以很客观和很细致的梳理企业现有的流程。并且由于前期的cmm造成的大量腐化的流程存在,Lean可以在早期 就判别出应该做优化和简化的场所。另外一点虽然很遗憾,但是我还是要说。在经济危机到了今天这个时候,软件企业裁员将是不久之后就会频繁出现。而企业裁员,并不 意味着企业就会收缩战线,而更多的意味着战术调整和内部流程优化。这种时候Lean的作用就更大。但是很遗憾,Lean的实施是以管理层为导向的,是偏重管理优 化的,普通程序员参与的程度要小。
客观的说,Lean会在Agile腐化之后,在短期内延续敏捷的香火。也就是说我们这些人会在短期内打Lean的旗帜。但是长期看,人本主义和英雄主义才是我们 的主流。我们这些人一定会在下一个阶段最早,也是最好的找到新的一些有趣而有力的开发方式。于是这就形成一个螺旋的前进图景。而这其实也是一个辨别是不是真正敏 捷的方法,也就是是不是最早的介入敏捷的推广,是不是最早的跟敏捷告别。但是敏捷也好,其他什么方法也好,如果不围绕第一线,不围绕源代码,不围绕具体而鲜活的 个人,就都不是我们应该追求的。
而在我看来,*提高自己的编程能力,是一切方法的基础*。


http://groups.google.com/group/agilechina/browse_thread/thread/d094f71a70da36d3?hl=zh-CN_US

posted @ 2012-05-04 13:16  luoz^  阅读(217)  评论(0)    收藏  举报