spice life様と永和システムマネジメントの合同勉強会を2015年11月20日に開催しました。
もともと両社のプログラマー間で交流のある関係から「勉強会やろうぜ!」という流れで、ポーカーをテーマにした Extreme Fish Bowl というプログラミング形式での開催となりました。
本記事では当日の流れを写真中心でお送ります。
Extreme Fish Bowl の説明を含んだ当日の進行ルールはこちらの資料をご参照ください。
会場は渋谷の spice life 様
今回は、オリジナル T シャツを WEB でデザイン TMIXでも有名な、株式会社 spice life 様のオフィスが会場です。
spice life 様のメンバーから歓待を受けながら会場に集まります。
ビールサーバーから注いだビールで乾杯。
寿司、ピザを手に当日の流れを聞きます。
大きな流れとして、ドライバーとナビゲーターのトラディショナルなペアプログラミング形式。1ペア5分でドライバーが抜けて、ナビゲータがドライバーになり、抜けるドライバーから指名されたメンバーが新たなナビゲーターとして入ります。
10人のプログラマーが1台のマシンでプログラミング
最初のペアによって、ポーカーを実装するにあたる足場の整理がはじまります。予め用意されていた環境はざっくりと次のとおりです。
- プログラミング言語は、 Ruby 2.3 (preview1)
- エディタは、Atom, Emacs, Vim
- シェル環境は、Fish
まずは RSpec を使うため Gemfile を用意するところから、最初のペアプログラミングがはじまりました。
5分の中でRSpec を導入して Fake It でテストをパスさせるところまで進み、新しいペアに変わります。
十人十色のプログラミング
5分限定のペアによる考え方次第で、意図的に TDD の流れを壊したり、技術的負債を遺したり、それらを元あった流れに戻すことに時間を使ったりと、ドラマティックな展開の中でだんだんとトランプっぽくなっていきました。
5分切れ交代のため、テストが赤い状態でも容赦なくコミットをすることになります。
YakuwakaruMan というクラスが現れたときは、会場からも賛否両論が出ましたが「福利厚生 (としてのコード) ならあり」との声で、その後も git revert あるいは git reset されることなく採用され続け、結果的にトランプからポーカーというゲームに発展したプログラミングを楽しめたと思います。
大団円
最終電車の刻限が近づく中で最後のペアが、「今日はここまでできれば Ship It としよう!」と決めたマイルストーンまでグリーンバーでパスしてフィニッシュ。
参加メンバー、諸手を挙げての大歓声のなか Extreme Fish Bowl は終幕しました。
今回専用の書き方とした、git のコミットメッセージの「#{ドライバー名} feat. #{ナビゲーター名}」に残されたメッセージには、ふだん一緒にペアプログラミングをすることのない相手との名前が残っており、思い出深い時間をリポジトリに残せたのではないでしょうか。
当日のソースコードはこちらです。
「友情」「努力」「勝利」のイベントとても楽しかったです。また第二弾の企画があがった際には是非よろしくお願いします。
株式会社 永和システムマネジメント アジャイル事業部では、一緒に Ruby をもちいたアジャイルソフトウェア開発をしていくメンバーを社員、パートナーともに募集しております。興味のある方は Wantedly までご連絡ください。