Global day of Coderetreat 2014 in Matsuyama
イベントレポート
2014/11/15 「Global day of Coderetreat in Matsuyama」が開催されました。
Coderetreatとは、1日をかけて”ソフトウェアの設計と開発の基礎を徹底的に練習する”ことを目標に、ペアプロをしながら実装を繰り返すイベントです。
この日のお題は「コンウェイのライフゲーム」を実装することでした。
1セッションは45分で、午前中3回、午後3回のセッションを行いました。
会場はサイボウズ株式会社様のご好意で松山オフィスのミーティングルームをお借りすることができ、綺麗なミーティングルームで開催しました。
中学生(←中学生です!)から社会人の総勢14人が参加しました。
イベントは、以下の流れで行いました。
- Coderetreatの趣旨説明
- 自己紹介
- セッションの進め方など説明(ペアプロ・TDDについて)
- コンウェイのライフゲームの説明
- ペアを決めて、セッションスタート!
- セッション×6回
- クロージング
###○自己紹介 自己紹介はアイスブレイクも兼ねて、「共通点探し」を行いました。 「共通点探し」とは、ペアを作って、お互い自己紹介したのちに、2人に共通することを見つける。 見つかったら、次の空いている人とペアになって、同じように共通点を探すアクティビティです。 このアクティビティを入れることによって、参加者同士で話しやすい空気になったと感じました。
###○セッション 45分、コンウェイのライフゲームをペアプログラミングで開発します。 次のセッションでは新しい人とペアになって、またコンウェイのライフゲームをペアプログラミングで開発します。このセッションを6回行いました。
面白いのは、「開発言語は自分が使いたい言語でOK」、「1回のセッションが終わったら、そのセッションで書いたコードは全て消す」、「ファシリテーターからチャレンジ課題が出る」ことです。 ペアを組んだ相手が全然知らない言語を使っていたり、セッションが変わったら全然別の設計で開発していたり、普段の開発ではやったこともないような”縛り”が出てきます。
このイベントでのチャレンジ課題は、以下でした。
- マウスを使わない
- 1つのメソッドの実装行数を4行以下にする
- すべてのプリミティブ型と文字列型をラップする
- Ping - Pong TDDの実施と、話すの禁止
1回目、2回目のセッションではコンウェイのライフゲームを理解することと、クラスの設計に時間がかかっている感じで、「…どうしよう」という空気も感じられたのですが、3回目以降ではかなりコードを書くペアも見受けられました。
お昼休みには同時刻に開催していたハノイの中継を見たり、TDDのデモを参加者の方にやっていただいたりして、まったり過ごしました。 あ、そうそう。スポンサーが昼食代その他、すべて費用を出してくれるため、参加者は無料で参加できるのもCoderetreatの特徴です。__「お得だ」__との声も聞こえました。
4回目以降は設計をちゃんと考えるために、セッション開始後に「作戦タイム」と称して、クラス設計を考える時間をあえて設けました。 これが良かったのか、かなり開発に弾みがついたようでした。
###○クロージング クロージングでは円になって「今日学んだこと、驚いたこと、休み明けの仕事で何かやり方を変えること」を発表しあいました。 「休み明けからTDDやってみたい」__という意見が多かったです。TDDにインパクトがあったのだなと感じました。また、「しんどいと思っていたけど、思っていたより全然楽しかったし、勉強になった」__との感想もいただいて、嬉しかったです。
最後になりましたが、スポンサーを引き受けていただいた、サイボウズ株式会社様、合同会社カルチャーワークス様、株式会社エイチビーソフトスタジオ様、合同会社ネクストコード様、イヨテツケーターサービス株式会社様(順不同)、ありがとうございました。
また発起人の@ramusaraさん始め、スタッフの皆さんのお力で無事開催でき、とても面白いイベントにできたと思います。本当にありがとうございました。
また来年、やりましょうっ!
※なお本ページ掲載以外の写真については、coderetreat本家にアップロードしています。