Agile Practice 总结

Agile的培训已经结束了,经过自己的努力也拿到了公司颁发的Agile Coach Certificate。在这里我想简单的总结一下,一个新的团队如何可以简单快速的开始Agile实践。

Agile是一种团队合作开发的工作方式,可以先通过建立以下一些Agile的基本事件来开始Agile实践:

Agile 的一些基本事件

  • Sprint 会议
    也可以叫IPM(Iteration Planning Meeting) 我现在所在Team定的Sprint周期是一周,每周一早上,我们Team开完每天的Standup Meeting之后,会开始一个IPM会议,这个会议主要做三件事情:

    1. 回顾上周计划的完成情况

      如果上一个Sprint目标没有完成,需要统计一下,上周的任务还差多少,还需要多少Effort去做。并且计算一下上一个Sprint的团队速率是多少。

    2. 估算接下来需要做的Story的efforts

      我们按照Story的优先级排序,从优先级高的开始估算effort。我们采用“纸牌估算法”来对每个Story进行估算。这个我们是还没有做好的,由于我们没有纸牌(昨天晚上我DIY了一些纸牌,下一个IPM会议上可以用上),前几个IPM会议上,我们都是拿贴纸写的。
      这样有几个问题:第一,大家可能很容易看到其他同事写的,会对自己的估算产生影响;第二,大家忘了纸牌估算法有些数值是没有的(只有0.5、1、2、3、5、8、20、?等,我虽然跟大家解释过,但是真正估算的时候,我自己也忘记了)。
      纸牌估算法,每次我们介绍完某个story的大致情况后,大家把自己估算的纸牌反过来放在桌子上,等团队中所有开发人员估算完成后,翻开所有的纸牌,如果大家估算的数值不一样,需要大家解释自己的估算的原因,然后再重新估算,可能经过几次之后,大家达到一个相同的数值,就是这个story的effort了。

    3. 制定当前周的Sprint计划

      简单统计一下团队这周的resource,主要问一下这周有没有同事要休假。

      现在我们是这样做的,我们团队有七个人,这周我们加起来就是:7 * 5 = 35 Man/day。减去上周遗留的6 points:35 - 6 = 29 Man/day。上周的Defects预计需要4天处理:29 - 4 = 25 Man/day。上周我们的速率大概是50%,所以再打一个折扣:25 * 0.5 = 12.5 Man/day。

      最终,我们这个Sprint能做的Story加起来就是12.5 Points。我们根据优先级把前面加起来小于等于12.5的Story放在这周的Sprint 计划里面。

    这样算一下,你会感觉每周能完成的东西好少,在我看来,假如没有这样的Sprint计划,团队这周实际完成的东西会更少。主要就是团队缺乏目标和紧迫感。估算的不准没有关系,通过长期的这样做,团队成员会更准确的估算Story需要的Effort,并且团队成员会更愿意为自己做出的承诺付出更多的努力。

  • Code Review

    之前我们团队是每周安排一次一个小时的团队开发人员一起做code review。前几天我们也改成了daily code review。每天review前一天所有的新提交的代码,大家把发现的一些坏味道说出来,然后拍照,每个团队成员把自己需要改的照片放在自己的folder下面,改之前,有一点需要强调的,先要看看是否有较好覆盖的unit test。改好之后,修改照片的文字。下一次做code review的时候,会看是否真正重构好了,如果改好了,在照片名字那里标记一下。

    这几次的daily code review,我们都花了一个小时才review完前一天的所有提交的新代码,主要是因为我们提交的代码存在太多的坏味道了。虽然每天花了好多时间来做这个事情,但是这是非常必要的,因为假如我们不通过review去发现这些问题的话,我们后面继续提交的代码质量还是这样,随着代码量越来越大,系统会越来越难以维护。前期我们花多一点时间,但我相信,随着review的次数增加,review的时间会越来越短。最终,整个团队会形成比较统一的代码风格和较高的代码质量。

  • Retrospective

    我们是定了每2周的星期四一个小时。Retro帮助团队一起回顾和总结上两周团队的工作。需要帮助和引导团队制定出具体可行的Actions。

    Retro也会review上一次retro的Actions是否完成。

    几次的Retro后,我发现通常Owner是一个团队成员的Actions会更容易完成。所以Actions的owner最好具体到某一个成员。

    Retro也是团队中非常重要的一件事,可以让我们一起思考一起去直面团队中存在的一些问题,然后一起想办法解决,最终提升自己和团队。

  • Sprint 评审会议

    这个我们目前是还没有做的一件事,评审会议就是在每个Sprint快结束的时候,大家一起对完成的Story进行一个showcase。这样主要有两个好处:

    1. 给大家一个展示自己做的功能的机会;
    2. 团队中其他成员也可以了解其他的一些功能。
  • Daily Standup Meeting

    我们团队定在每天早上九点准时开始站会,固定的时候和地点很重要,这样,大家可以提前安排好自己的时间。

    每个成员站在团队的看板前面说一下昨天帮助团队做了什么,遇到什么困难,今天继续帮助团队完成Sprint目标做什么。更新看板上面卡片的情况,并且会在站会上找到今天结对编程的partner。

    还需要统计Story完成情况,更新燃尽图数据。

看板

看板上分为:Backlog、To DO、Dev(In Dev/Done)、QA(In QA / Done)、Deploy

有些栏目上我们设置了一个WIP(Work in Process):

To Do(WIP: 4)、Dev(WIP: 4)、In QA(4)

WIP就是指最大的卡片数量,每个栏目下面的卡片的数量不能超过设置的WIP。

我们团队的成员都拿了自己的一张一寸大小的头像照片,我们会把自己的照片贴在某一张卡片上面,确保每个人同一时刻只做一件事情,而且大家可以一目了然看到大家正在做的事情,或者有resource空闲出来了。

看板就放在团队工作的旁边,大家要有一致的目的,想办法快速的把看板上面的卡片移动到Done的为止。哪个环节block了,就需要快速响应去看能不能提供帮助。看板的及时更新信息,我们还需要更加及时一点。

Agile 的基本要求

  • Pair Programming

    这里不讨论结对编程的好和坏,要鼓励大家多结对编程,并且更多的Switch Pair Programming。

  • Unit Test

    没有单元测试的代码是不安全的。单元测试是一个基本的要求,必须要把所有的逻辑代码用单元测试覆盖到。其实好的单元测试会减少很多人工测试的时间。为代码重构提供保护。

    大家在实际开发工作中,还是不太习惯去加一些单元测试,会觉得很麻烦。但其实,没有单元测试,改代码和测试都会变得更加麻烦。自己也不会很有信心对自己完成的story。

    目前团队还是有一些没有单元测试覆盖,结对编程的时候,partner一定要互相提醒。

Agile 追求的目标

  • Code Quality

    通过结对编程,单元测试,重构提升代码质量,有了这些之后,bug和defects会更少。

  • Clean Code

    提升代码可读性,减少以后维护系统同事的痛苦(很可能是我们自己维护)。当然,也是作为一个有追求的程序员的自我要求。

团队还需要再做的,可以进一步提升的事件

以下这几个事件,个人认为,团队Agile转型的初期可以先不做,初期可以先把上面的一些基本的做好。当基本的大家已经很习惯之后,可以慢慢的加入下面的这些事件:

  • Code Dojo

    团队通过一起做一些练习,来提升团队中每个人的技能。可以通过Code Dojo那本书上的例子,也可以找一些团队中需要重构的代码或者需要做的story都可以。

  • Feedback

    这点我觉得是非常重要的,大家在工作中,对自己的认知可能都是自己感觉的,很少有人会告诉你哪里不足,哪里可以提升。其实,如果没有一个好的feedback文化的话,随便给其他同事提意见,其他同事也不一定高兴和接受的。所以,团队经过一段事件的合作后,需要建立一种feedback文化。

    什么是好的feedback?好的feedback需要恰当的提出其他同事的做得不够好的,并且帮忙给出好的具体可行的actions,以及一段时间后的review。

    怎么建立好的feedback文化呢?首先,团队中所有同事都必须知道feedback的重要性;大家知道他人给自己的feedback,是帮助自己提升之后,大家需要有一颗勇于接受其他同事给自己的feedback,如果有误解,或者其他同事不了解的,可以详细互相聊聊。

  • Learn & Sharing

    活到老,学到老。特别是在变化快速的软件行业里面,每个人都明白持续学习的重要性。在团队中,每个同事,最好能有一专多长。个人觉得,分享的前提还是需要大家先在某个领域有一定的高度,或者对自己分享的内容有较深的理解,这样其他团队中的其他同事才更愿意花时间去听。

    当有人愿意分享,有人愿意听,团队的分享就达到目的了。所以,个人认为,建立团队的分享之前,先建立团队的学习氛围。

总结

以上就是一个敏捷团队需要做的一些很基本的东西,但是真正做好每一个事件并不容易,而且假如把以上的每一点都做好了,对团队就会有很明显的帮助。希望刚开始Agile实践的团队,可以先坚持,然后再反思,再改进。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355

推荐阅读更多精彩内容

  • 站会(standup meeting) 站会中的内容是每天工作的开始,也是对昨天工作的回顾。一般会由团队的某位成员...
    lambeta阅读 3,379评论 1 7
  • 在CMM(能力成熟度模型Capability Maturity Model的缩写,是一种侧重于软件开发过程的管理及...
    一个人在路上走下去阅读 5,709评论 13 119
  • 简介 为什么提出了敏捷测试的思想 敏捷测试的理念是什么 如何通过流程改进实现敏捷思想 如何通过技术支持实现敏捷思想...
    上山走18398阅读 888评论 0 0
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,564评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,217评论 1 3