美文网首页培养者日记TDD(测试驱动开发)程序员
如何组织程序员集体学习活动 Code Retreat(二)

如何组织程序员集体学习活动 Code Retreat(二)

作者: 李浪溪_WaterLee | 来源:发表于2017-02-24 08:06 被阅读305次

本系列一共两篇:

昨天说完了确定时间,场地和题目。今天来说说活动当天要做些什么。

准备

活动当天,提前半小时到达,准备如下东西:

  • 门口指引
  • WIFI
  • 插线板
  • 椅子
  • 视觉引导(非必须)
Code Retreat

破冰

到了活动开始时间,邀请大家一起玩破冰游戏,用语要温柔:

因为今天我们会一整天和很多人结对编程,我想邀请大家一起来玩一个游戏,帮助我们彼此熟悉。

而不是:

大家到这边来,我们玩一个游戏。

我最喜欢的游戏是记名字:

大家围成一圈,从我开始介绍,我是李小波,然后我左边的朋友就要说,我是李小波左边的 AAA,他左边的朋友就要说,我是李小波左边的 AAA 左边的 BBB。一直到最后,由我结束。

这个游戏看起来很挑战记忆力,但实际上并不是很难,只要用心,基本都能记住。过程中抓住机会即兴幽默,让大家笑出来,只要笑出来了,大家就能放下防备,后面一整天的活动都会轻松很多。
过程中会陆续有迟到的人加入进来,邀请他站到你的右边,也就是最后一个位置。
如果第一轮下来,你觉得大家还不够放得开,或者人还没到齐,那就再来一轮,加一个挑战。比如,我是有双胞胎儿子的李小波,或者我是坚持每天写一篇文章的李小波,请大家继续,模仿着来。
两轮下来,大家也熟悉了,人也差不多到齐了。

开场

开场需要做:

  • 自我介绍
  • 主办方介绍
  • 活动背景介绍
  • 感谢场地赞助商
  • 友情提示(信息安全规定,洗手间,喝水等)

介绍活动形式:

  • 全天 5 - 7 个 Session
  • 每个 Session 45 分钟
  • 每个 Session 删除代码,换人结对
  • 每个 Session 有一个目标(约束)
  • 保持开放心态

告诉大家,我们一整天都会玩同一个题目。
目标不是把代码写出来,应该关注在每个 Session 的练习目标上。
介绍题目规则,不用说的很清楚,可以让大家自己去网上找。
有一个视频建议放一下:Epic Conway's Game of Life
问一下大家是否熟悉结对编程,如果不熟悉,可以介绍一下。
推荐放一个视频:告诉你什么叫结对编程! Atlassian愚人节视频

Session 设置

我通常第一轮不加约束,可以用自己平时的方式去做。
第二轮开始要求 TDD,之后就随机选取一个约束:

  • 快捷键
  • 函数式编程
  • 每个方法不超过 5 行
  • 使用纯文本编辑器
  • TDD as if you meant it
  • 静默结对
  • ...

分组

第一轮,大家会倾向于找熟人结对,可以适当提示,和不熟悉的人结对会有更多惊喜。
如果对方坚持,就由他们去吧。
在 TDD 环节,调查一下大家对 TDD 的熟悉程度,可以说:

从 1 分到 10 分,认为自己 TDD 掌握程度在 5 分以上的举手。

如果差不多一半,就可以让熟悉的和不熟悉的结对了。
如果 5分以下的特别多,可以引导 5 分以上的同学,来简单分享一下 TDD 怎么做。

其它时间,就随意地结对,不断提示大家:

背景越不一样,结对的收获越大,不要重复结对。

巡场

大家开始编码后,开始计时。
我以前试过,如果现场有一个人落单,我就去和他结对,现在我不会这么做了。
巡场是很有必要的,去提醒大家当前 Session 的关注点,不要沉迷于实现需求。

  • 如果两个人结对编程做的顺畅,比如用两台电脑,提示他们只用一台。
  • 如果一个人没有参与感,提醒他们切换角色。
  • 如果他们都不熟悉快捷键,给一些提示。
    反正,引导者的目标是保证活动顺利进行,每个人都有最大的收获,除了写代码,可做的事情有很多。

回顾

每个 Session 介绍后,邀请大家回到白板前,分享自己的代码。
这个时候是共同学习,有经验的人也可以学到很多东西。同时,作为分享者,也会很有成就感。
每次回顾结束后,休息 5 分钟,让大家可以喝水,上洗手间,检查手机。

午饭

感谢饿了么,让订餐这么方便,现场拉个群,帮大家订外卖,大家还可以自己选,反正自己掏钱。
如果有公司赞助午餐,那就统一订就行了。

整体回顾

最后,邀请大家做一个整体回顾。用便利贴写,每张写一条,从三方面写:

  • 学到了什么
  • 什么让你震惊
  • 回去下一步准备做什么
回顾

最后拍照留念,感谢大家抽出时间参与活动。再次感谢场地赞助商~

活动后
在微信群里继续探讨,把拍的照片发给大家,尤其是有人分享的照片。鼓励大家写活动心得,回顾。
一方面回顾是个好习惯,另一方面可以作为宣传的素材,扩大活动影响力。

常见问题

时间到了,大家根本停不下来
这时要用一些引导的技巧,基本上是借用群体压力。
比如,时间到后,我开始拍手,请听到声音的同学也跟着拍手,直到所有人都开始拍手。

没有人愿意主动分享。
在巡场的时候,观察哪些组做的比较好,提前鼓励他们分享。
在回顾时,每次分享完感谢分享者,带头鼓掌。
有些人想分享,但缺少主动的勇气,那你就可以点名请他分享。
尽量记住所有人的名字,多叫出他们的名字,会让人感到受尊重。
不要打击,评价分享者,给建议时要委婉,有建设性。

作为引导者,需要技术很牛吗?
不需要。是加分项,但不是必须的。同时反而要控制住自己的表现欲,为大家搭建一个分享知识的舞台。
你要做的是控制好时间,节奏,氛围。 程序员大多是内向的,多鼓励,营造安全的氛围。这里没有项目经理,没有老板,放心大胆地玩。
无论何时,照顾多数人的利益,这样每个人都愿意成为多数人。
我举个例子,有人迟到了,我们就让准时到的人一起等着,这就不对,这是在惩罚守规矩的人,那下次大家就都不守规矩了。


组织 Code Retreat 活动,对于引导者,不仅可以收获知识,影响力,还可以锻炼到控场,引导能力,讲话技巧。
希望大家都勇敢迈出第一步,去尝试在自己的公司内、在社区,组织 Code Retreat 活动。
需要任何帮助,给我留言,我坚定地支持你!

相关文章

  • 如何组织程序员集体学习活动 Code Retreat(二)

    本系列一共两篇:一,二 昨天说完了确定时间,场地和题目。今天来说说活动当天要做些什么。 准备 活动当天,提前半小时...

  • 如何组织程序员集体学习活动 Code Retreat(一)

    本系列一共两篇:一,二 Code Retreat 是什么 Code Retreat,又叫代码静修,代码精修。对想要...

  • 成都Code Retreat之旅 2017-02-18

    介绍 昨天第一次参加Code Retreat活动,本次活动是由ThoughtWorks咨询师李小波组织的,也是成都...

  • 组织集体活动

    近来几日, 在策划年末活动,两个店选择不同, 一个是要有意思,去长隆动物园; 一个是要享清闲,去从化泡温泉。 我个...

  • 代码道场活动小结

    这是一份迟到的小结,去年底组织完Global Code Retreat后,有些新的感受想要分享。结果一路拖延下来,...

  • Character Specifications for A W

    序言 两个月前,笔者有幸参加了一次Code Retreat活动,主要负责点评Golang小组的代码,整个过程很有收...

  • 代码静修日 Code Retreat 长沙 6月24日

    什么是Code Retreat? Code Rentreat ,又叫代码静修。让开发人员远离完成工作的压力,提供专...

  • 重新思考 Code Retreat

    我是 Seaborn Lee,这是我的第 19 篇原创文章,1400 字,阅读需要大约 5 分钟。 上周六,「北京...

  • 【日更10】劲松二幼学习感悟

    学习目的:主题活动如何有效开展,和区域活动如何有效结合;教室对课堂的掌控以及如何和孩子友好相处。 学习内容:集体教...

  • 集体备课

    如何开展集体备课 (一)确定集体备课的组织形式及参加人员 (二)集体备课的实施原则——四定、七备、六统一 1.“四...

网友评论

  • toolib:很有用,对我组织成都本地的活动很有帮助
    toolib:@SeabornLee 大佬要来肯定欢迎啊!我加你微信了
    李浪溪_WaterLee:@toolib 什么时候组织啊?我也去参加一下,我只参加过一次,其余都是组织者,好想再好好参加一次:smile:
  • MavisChow:虽然旁观过 Code Retreat ,但似乎根本不了解这个活动是如何进行的,但看过这文章之后,对 Code Retreat 有了全局的了解,并更深刻的知道了主持人并非只是当个人肉闹钟这么简单。Seaborn,加油↖(^ω^)↗,期待你的更多文章!
    李浪溪_WaterLee:亲爱的,谢谢支持~

本文标题:如何组织程序员集体学习活动 Code Retreat(二)

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