昨天说完了确定时间,场地和题目。今天来说说活动当天要做些什么。
准备
活动当天,提前半小时到达,准备如下东西:
- 门口指引
- WIFI
- 插线板
- 椅子
- 视觉引导(非必须)
破冰
到了活动开始时间,邀请大家一起玩破冰游戏,用语要温柔:
因为今天我们会一整天和很多人结对编程,我想邀请大家一起来玩一个游戏,帮助我们彼此熟悉。
而不是:
大家到这边来,我们玩一个游戏。
我最喜欢的游戏是记名字:
大家围成一圈,从我开始介绍,我是李小波,然后我左边的朋友就要说,我是李小波左边的 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 活动。
需要任何帮助,给我留言,我坚定地支持你!