前言
Thinking in UML 系列文章是从2005年开始写的,至2008年终成《大象-Thinkin in UML》一书,江郎才尽矣,UML系列文章也该停下来了。一方面固然是因为《大象-Thinkin in UML》一书已经掏空了我关于UML和OO分析设计方面的积累,实在已经没有什么新鲜玩意儿值得一说了;另一方面,2005到2009已经发生了很多变化,我的关注点也有所转移,这次是敏捷。敏捷又一次让我开始思考起来,自以略有小成,似乎是时候说说我的想法了。
本系列文章是讲敏捷的,之所以继续套用"Thinking in XXX",主要是因为这一系列仍将延续由我之思考引起读者思考的风格。当然也有一点小小的私心,希望借助“Thinking in UML”的成功来吸引一下眼球。呵呵,毕竟花时间写了文章当然是希望越多人看到越好。
蜂巢的启示
在自然界中,大部分动物都是独居的,有一小部分维持着规模很小的群体社会,似乎跟人类社会相比简单得不值一提。然而,这里却有两个例外,一是蜂群,二是蚁群。从群体协作一致方面来看,人类社会是远远不及的,从来没有哪个人类社会可以象它们一样,庞大数量的个体可以进行着绝对一致的群体协作。实际上,蚂蚁本身也是从远古的蜂类进化而来的,一些蚂蚁至今还保留着一些蜂类的特点,比如到了交配季节一些蚂蚁会长出翅膀飞到空中。小时候我们叫它们飞蚂蚁,这时的它们跟黄蜂非常相似。所以,尽管有两个例外,我还是以蜂群作为引子来讲吧。
谈到敏捷,几个重要的特征就出现在我们面前:自我管理的团队,一致的价值观,自我驱动的个人,群体协作大于流程规范.....不论从哪个方面来看,蜂群都是最为优秀的敏捷团队!
一个蜂巢里,蜂王代表了唯一的价值观,然而它从不发号司令,试图指挥工蜂们;每一只工蜂都一丝不苟的遵循着这个价值观,忘我的鞠躬尽瘁的为同一个目标而工作,从来不需要命令也不需要任务分配;蜜蜂的社会结构和分工相当简单和扁平化,蜂王,雄蜂,工蜂,幼蜂,再无其它,然而这个社会却协调高效的创造出精美的蜂巢,从来没有哪只工蜂说OK,我是负责采蜜的,建蜂房is not my business;蜜蜂们自觉的在需要的时候转换它们的角色,侦察蜜源,采蜜,喂食幼蜂,建蜂房,保卫蜂巢...从来没有谁为它们规定角色和分工,蜜蜂们自我管理,每一类工作都有最适当的蜂力投入;蜜蜂们在需要的时候做需要做的事,从来不拘泥于条条框框,当蜂巢遇到威胁时,不论是在采蜜的蜂还是在建蜂房的蜂,都及时投入到保卫战斗中来,没有谁会要求走一个process!
够了,不需要再说了!相比于蜂群,我们的开发团队真的应该汗颜。你汗颜了么?我汗颜了。以前,为了让团队成员能够彼此合作,规定了无数的角色分工,制定了无数的规章制度;现在,我们又转向了敏捷方法。然而敏捷到底是什么?我们到底需要怎样的软件过程?从蜂巢中,我们不能得到一些启示么?
后一篇:
蜂巢 - Thinking in Agile - 我们需要怎样的软件过程(2)
转载请注明原始出处 http://blog.csdn.net/coffeewoo/ ,谢谢合作!