#infrapp2012 に行ってきた

2/10(金)〜2/11(土)に「インフラエンジニア&アプリエンジニア合同合宿」に行ってきました。

僕はスタッフとしての参加でしたけど、チームかにたまのメンバーとして一緒に作業したので、このエントリは参加者としてのイベント全体の振り返りになります。

スタッフとしてどうやってこのイベントを作ったか、みたいな話は気が向いたら書くかもしれません。

写真で振り返る合宿の流れ

まずは当日の写真とかで、楽しいイベントだったということを感じ取ってください。

  • 懇親会からスタートした合宿1日目。説明をする塚田さん。

20120213_01.jpg

  • 懇親会の料理はどれも美味しかったです。これは白子。でかい!

20120213_02.jpg

  • ばくだん。醤油をたらしてかき混ぜて、海苔で巻いて食べました。

20120213_03.jpg

  • お店は「ひさご亭」。とても美味しかったので、勝どきに行く用事があったら寄ってみると良いです。

20120213_04.jpg

  • ホテルの会議室に移動して、いよいよイベントの本番スタート。

20120213_05.jpg

  • 会議室内部はこんな感じ。

20120213_06.jpg

  • 僕の参加したチームは「かんばん」を使って作業しました。

20120213_07.jpg


  • 夜の飲み物、赤べこ。

20120213_08.jpg


  • 日付が変わって、土曜日には差し入れにお菓子や萌え酒なども頂戴しました。ありがとうございます。

20120213_09.jpg
20120213_10.jpg


  • 土曜日にはホテルのロビーにも「インフラ&アプリエンジニア合同合宿様」という掲示が出ていました。
  • どうせなら金曜日に出して欲しかったなぁ。。

20120213_11.jpg


  • 土曜日お昼のお弁当も豪華。

20120213_12.jpg


  • 締め切りに追われる作家先生みたいな風貌のスタッフ。

20120213_13.jpg


  • ドーピング

20120213_14.jpg


  • 土曜日の夕方頃のタスクかんばん。おびただしい数の作業が Done になっているのがわかると思います。

20120213_15.jpg


チームかにたまで作業した内容

ここから先は skype のログから拾った作業内容を箇条書きで書いておきます。同じテーブルでメンバー同士顔をあわせて作業しているので「これって今だれかやってる?」「じゃ、これ僕やります」みたいな感じで、割と自発的にプロジェクトを前に進められたのが印象的でした。こんな感じのスピード感で動いて行けるのはかなり楽しかったです。

  • 2/10 23:50分ごろ
    チームのコミュニケーション用にSkypeチャットが立ち上がる
    最初の発言は「まだけいおんの映画見てない。」
  • 2/11 00:06
    本番サーバーにユーザーアカウントが作られる
    各自 SSH の鍵を設定したり .ssh/config を書いたりする
  • 2/11 00:17
    github上にリポジトリが作成され、一番最初のコミットがpushされた
    稼働環境は Rails 3.2.1, unicorn + nginx + mysql と決まっていたので、分担して設定開始。
  • 2/11 00:30頃
    ローカルで開発を進められる環境がほぼ完成
  • 2/11 01:35
    Google DocsのスプレッドシートでDBのテーブル設計が始まる。
  • 2/11 02:00頃
    テーブルの内容が分かってきたら、順次 scaffold して文字通り「足がかり」を生成していく。
    この時間には既に capistrano で本番に deploy して動いている状態がなんとなく見えるように
  • 2/11 03:00頃
    「スプレッドシートじゃリレーションが分かりにくいよ!」 って言ったら Cacoo に ER図 ができた
    ここらで作業を切り上げて就寝(しないで飲んでたメンバーもいたようなw)
  • 2/11 09:30頃
    ダミーデータを使って、検索機能などを実装し始める。未明からの scaffold 作業も引き続き実施
  • 2/11 10:30頃
    モデル間のリレーションを付けて行き、画面に反映させる作業開始
  • 2/11 12:08
    Cacoo にWEB画面のワイヤーフレームを検討するページを作成。みんなで表示項目とか検索対象を考える
  • 2/11 13:00
    お昼ご飯を食べながら、途中経過のデモをする。見た目がしょぼいから bootstrap 使おうよ、とか、メモリ搭載量やマザボの型番も検索対象にした方がいいよね、とかの意見が出る
  • 2/11 14:45
    WEB-UIから不要な機能(バッチで取ってくる情報の更新削除系)を排除
  • 2/11 14:55
    WEB-UIからのレコード作成に validation が実装される
  • 2/11 15:17
    Rails 3.1.x からの Assets Pipeline を RAILS_ENV=production で実行した場合の落とし穴にハマってた -> このタイミングでほぼ完璧に解消
  • 2/11 15:30頃
  • よくよく考えたら host_id 列には unique constraint が必要、と判明して migration を作りまくる
    足りなかった検索用の index も追加していく
  • 2/11 16:00頃
  • この時間帯あたりまでに bootstrap を使ったバージョンが本番に deploy される
    見た目が格段によくなる
  • 2/11 17:25
    最後の成果発表でどういう話をするかを相談し始める
  • 2/11 18:00
    作業終了、成果発表


チームかにたまの成果物


今回の合宿のルールとして「成果物は(完成度は不問。中途半端だったとしても)公開する」ということになってますので、ソースコードや設計に使った資料にリンクしておきます。
本番に deploy したものも2/13時点ではまだ残っているのですが、借り物のサーバーですので今月末で消えてしまうのと、投入したデータが某社の環境から抜いてきたデータだったりするので(w)直接リンクは避けておきます。

参加した人のblog

仕事の早い方が多くてとてもありがたいですね。週末終わったらこんなにありました。togetterのまとめもありますので、そちらもリンクしておきます。



エンジニアtypeさんに記事として取り上げられました。
[レポ] インフラ×アプリエンジニア合同合宿『infrapp2012』で、DevOps的開発を体験する |エンジニアtype

最後に

取り組んだ作業は、丸一日で作る対象としてちょうどいいボリュームだったんじゃないかと思ってます。なので、これ以上のものを開発合宿のような場で作るとしたら、1日目の午前中から2日目の夕方まで作業時間を確保しないと厳しそうだなぁ、という感覚を持てました。

それか2泊3日にするとか。
とはいえ、そんなに集中力が持つかというとそれも微妙な気がします。

今回は集合から解散まで24時間と短時間でしたので、期間中はずっと楽しく過ごすことができました。あれだけ集中して作業に取り組めたのはみなさんのおかげだと思います。
参加していただいた方、一緒にイベントを作ったスタッフのみなさん、取材にきて頂いたお二方、懇親会会場のお店、会場のホテルのみなさま、どうもありがとうございました。