敏捷(Agile)是什么?

作者: 李斌CamusLi | 来源:发表于2018-06-06 19:47 被阅读139次

    6/2~3日,非常荣幸地参加了优普丰敏捷学院为期两天的CSM(Certified Scrum Master)认证培训课程,感谢@Bill 李国彪和@Martin 杨明两位老师,传授给我们很多敏捷的思维,同时也印证了很多自己的想法。

    那么现在回顾一下,什么是敏捷呢?

    儿子默默这两天在学“滚铁环”,同时也坚持着立定跳远的长期训练。(他说要参加学校明年的运动会,今年可惜与学校运动会立定跳远的比赛失之交臂。)也不知什么原因,默默的平衡掌控能力还是稍微差一些,导致“滚铁环”虽然学了不短的时间,但是效果依然不佳。

    于是,在和默默几乎每天晚上散步讲故事的时间里,我和默默开始了以下的对话。

    “爸爸,你还是给我讲故事吧?”,“(尴尬,这两天只顾着培训了,还没有准备好今天的故事……)我给你讲讲我这两天培训的内容吧?”,“好。”

    “你看,我向前走路,走一步、走一步、再走一步…,动作是不是一样的?”,“嗯。”,“每一步的动作一样,而且每步的距离也没有变,但也走了一段距离了,对吗?”,“是的。”,“这种一步一步重复做的动作、而且没有变化、每步的大小都差不多,如果把每一步看成在画个圈,走一步就相当于画一圈,再走一步就再画一圈,那么每个圈就叫一个迭代。”,“……”

    “接着再想想楼梯,它是一台一台向上的或向下的,每一台都比前一个台阶高或着低,‘增加’了或‘降低’了一个台阶的高度。我们把这种效果叫做增量,

    “如果,把前面说的‘迭代’和‘增量’加在一起,就是走一步一个楼梯、走一步一个楼梯,想象一下就是,走一步画了一个圆,下一步又画了一个圈,下一个圆要比上一个圆稍高一点点或着低一点点,再下一个圆高一点或低一点,这种样子在我工作的环境中就叫‘敏捷’。”

    “动作‘敏捷’?”,“对,就是这个两个字,英文是a-g-i-l-e,agile,敏捷。那你能说一下,敏捷是什么吗?”,“敏捷就是迭代和增量。”,“对,这两天我培训的就是这个。迭代的每个圆的高度变化不大,很小,因为没有多少增量,但敏捷的每个圆的高度差异就很明显。我们再举个例子吧?”,“好。”

    “比如你练习立定跳远。最开始,你第一次能跳到70(厘米),你第二次还能跳到72,然后,73、72、71、69、68……,为什么越跳越近了呢?”,“因为没有增量?”,“哈哈哈,不是。”,“我知道了,因为我累了!”,“对!为什么会累呢?”,“因为......没有休息!”,“是的,你需要在每次跳完之后休息一下,恢复一下体力。”,嗯,就是,不然我就累死了,最后还跳不远!”,“你现在可以想象得出,你的每一次跳就好像是一次‘迭代’吗?”,“嗯…...,是的!”,那…...是敏捷吗?”,“嗯……不是。”,“增量可以是向上也可以是向下,比如说成是正增量或负增量。”,“嗯,是敏捷,增量是负的。”,“没错,是敏捷。可是,你练习的目的是什么?”,“是为了跳得更远!”,“那可以说就是要跳出正增量喽?”,“嗯。”

    “那我们继续,如果你第一次跳了70,停下来,什么也不做,但休息好了,你下一次还会跳70还是69?”,“70!”,“会不会是71,假如你跳的动作不变的话?”,“不会。”,“那如果继续这样下去,你一直是70,是敏捷吗?”,“不是,没有增量。”,“哈哈,对了。如果你在跳第二次时把胳膊甩一下,跳到了71。是不是有增量了?”,“是!”,“那你想跳到72,你会怎么做?”,“嗯…...先休息一下,然后蹲下来,对,说不定我第一次没有蹲下来。”,“那你还甩胳膊吗?”,“甩啊。”,“为什么?”,“因为甩胳膊就能跳得远啊……”,“对,甩胳膊会带来正增量。如果你发现蹲下来跳到了73,你下次还会甩胳膊和蹲下来跳吗?”,“会啊,不然就又跳不远了。但是为什么不是72?”,“因为你蹲下来跳的效果好很多,所以增量不一定非得是加一加一加一的,可以是70、71、73、75……这样子。”,“噢~”,“那如果你接着把脚并起来跳,上一次是73,这次跳了72,你觉得是敏捷吗?”,“不是。”,“不对,刚才不是说了嘛,跳近了,增量是负的,也是敏捷,说明你改变的动作起了负作用,当然,我们尽量别负增量。

    “来,我们继续,然后呢?你使劲跳,又从72变成了80,然后你停下来,会怎么样?”,“我要想怎么做会跳得更远一点,比如85。”,“那如果你又改变了,跳到了79,然后你停下来,会怎么样?”,“我要反思一下……”,“等一下,你说你要反思?我们换一个词,叫回顾,回头看一下的意思,其实和你说的反思一样,好吗?”,“好。”,“那回顾什么?”,“回顾我哪里没做好。”,“除了没做好的还有别的吗?”,“……”,“你还会坚持甩胳膊使劲跳吗?”,“会啊……”,“对了,回顾呢还要回顾做的好的,继续坚持下去。”,“对对对!”,“下来你尝试了一个新方法,跳到了85……”,“哇……我都跳到85了,比最开始远了15啦?!”,“(这小子想啥呢?)……好了。我们看啊,你跳一下,迭代一下,然后呢?”,“回顾一下,再迭代,再回顾……诶,我学‘滚铁环’好像就是这样:如果上次(钩子钩得)高了,下次就低一点……还有围棋,你下一步坏棋,对方下一步好棋,你就得考虑接着怎么下一步好棋…...”,“(你还发散的不行)对,你要去改变,......(带来增量——还没说出口)”,“嗯,我要不断尝试,要坚持下去……”,“(哈哈哈,还尝试,还坚持,对了,抓住机会!)对了,我们这叫持续改进,就是不断得有增量。

    “我们继续哈,你有没有发现,如果你不改变,你的增量是几?”,“是0。”,“你之前每次改变的都是几项?是不是只有一个?”,“嗯。”,“那你改变一个会带来什么后果?”,“增量!”,“能不能具体点?”,“改变一个会带来增量的后果!”,“(什么啊,这哪是具体啊……)重新说!”,“…...能带来正的增量。”,“还有?”,“负的。”,“嗯,如果发生一个改变,一般情况下不会是0增量的,不是正就是负。那么,如果同时改变两个呢?会是什么后果?”,“搏二兔一兔不得!”,“我说后果!有几种?”,“正的,负的…...还有0”,“(惊!!!)为什么是0?”,“你不是说两个改变嘛,一个改变为正,一个改变为负,然后抵消了。”,“那这种是敏捷吗?”,“不是,因为没有增量。”,“不对,这也是敏捷,因为你有改变,只是改变没有效果。那你要想有效果,一次最好几个改变?”,“一个呀。”,“对。每次改变一个的效果会比较明显,(每次改变)多个就可能不知道哪个改变是好的,哪个是坏的。如果不改变呢?”,“增量就是0。”,“对,没有采取改变,这就成了迭代了,而不是敏捷了。

    “那我们总结一下,敏捷是什么?”,“敏捷是迭代和增量。”,“(咋就只记了这一句啊?)嗯?丢了啥了?”,“回顾。”,“那再说。”,“敏捷就是迭代、然后回顾,和增量。”,“他们的顺序是什么?增量在什么时候有的?”,“……在迭代之后,回顾之前。”,“那能不能一边迭代一边回顾呢?”,“不行,搏二兔一兔不得!”,“对,那样一边跳着又一边想着怎么改变,很可能就跳也跳不远,改变也没效果。好了,这就是我培训两天的内容。

    “走,回家。”

    祝默默明年的学校运动会上取得好的成绩!加油!

    附录:

    @申导Jacky-CST & Agile Coach为上文做出以下指正:

    遵循敏捷(迭代式+增量式)宣言的基础上划分了很多流派,对于“迭代“有多(6、7)种形式,比如FDD是强调功能块的迭代,Scrum是更强调时间盒的迭代。再次感谢申导!

    相关文章

      网友评论

        本文标题:敏捷(Agile)是什么?

        本文链接:https://www.haomeiwen.com/subject/ifdisftx.html