開発合宿を実施しました

みなさんこんにちは、@niisan-tokyoです。

先日開発合宿なるものを企画して、実施してきましたので、その結果報告をしようかと思います。

合宿経緯

zatsuと合宿

先日のエントリーで、zatsuについての活動について触れましたが、zatsuにはエンジニアブログ以外にもいくつもの提案が来ていて、その中のいくつかは是非ともやりたいと思えるものでした。
そこで、せっかくならテーマごとにメンバーを募って、開発合宿にしちゃおうと思いまして、起案したところ、通すことができましたので、先日4/26 に実施することができたという次第です。

合宿の目的

単純にzatsuに上がった話題を実現するだけだったら、合宿しなくても、それこそちょいちょい時間をもらって実装なり設計なるすることはできます。
しかし、合宿をするにあたっては次の効果を期待することができるため、思い切って合宿をすることにしました。

  • 隔離された環境 ( 少なくとも容易には通常業務に戻れない状況 ) に身を置くことで、自分のやることに対して集中することができる。
  • 複数のテーマについて各々チームを組み、一堂に会した状況で実装をすることで、他のチームの状況に刺激を受けることができる。
  • 普段別々の仕事をしている人と同じチームで作業することで、即席でのチームワークを試すことができる。

もちろん、合宿中は通常業務はほぼできないし、宿泊費も出してもらっているので、その成果物はなるべくなら会社に還元すると良いと考えています。

合宿の様子

と、前置きはこの辺にしておいて、合宿の様子を見ていきましょう。

合宿する場所

我々がよく利用するホテルがある場所です。
駅の様子を見ただけで、わかる人はいるかもしれません。

駅周辺

作業風景はこんな感じです。

作業風景

3つのテーマに分かれて作業するようになっています。
ちなみに、全く意図したわけではないのですが、写真の真ん中にいるのが我らが開発室の室長、@OSA です。

ホワイトボードをのぞいて見る

今回はチームでの開発ですので、ホワイトボードを各チーム利用していました。
我々のチームはこんな感じです。

我々のホワイトボード

まあ、書き込んでいるのが私なので、ごっちゃごちゃしていますよね。。。
一方で、別のチームの人はというと…

うけたんチームのボード

すっごいわかりやすいですね!
全部そのまま見せられないのがアレですが、ボードから躍動感が伝わってくるようです。
この図は、弊社の新人エンジニア・@tsutou の力作でございます。
いいなぁ〜、わいも綺麗に描きたいなぁ〜。

各テーマの概要

一応、各チームが担当した内容について、軽く触れてみようと思います。

労働時間モニタリング

我々のチームが担当したテーマです。

弊社、というよりはリクルートグループ全体ですが、労働時間の適正申告についての様々な取り組みがなされています。
その取り組みの一環として、PCの起動時間と実際の勤怠申請に乖離が生じていた場合、その時間が勤務時間だったかどうかを確認するという作業が発生しているのですが、これが全部手作業で、かなり煩わしいのです。
で、ワークフローを定義して、webで全部実施できるようにすれば、楽になるんじゃないかということで、テーマの一つにしています。

このテーマでは、現在の作業内容をweb化するにあたって、複数のステークホルダーと相談して要件を固め、また、ワークフローの提案なども行なっていて、顧客との要件詰めをする練習になったのではないかと思います。

受付対応の改善

弊社の入り口の受付は現在電話のみとなっているのですが、ミーティングや面接に来られる方などは、事前に訪問することがわかっているので、もう少しスマートに対応できないかということで、提案されたものです。
内容としてはタブレットを入り口に用意しておき、あらかじめ伝えられていた情報を入力すると、担当者に通知が行く、というシステムです。
これの肝は、ユーザーが何をすれば良いかが、ITリテラシーが低くても、ある程度は分からなければならないということです。
よってこのチームは、@OSA をはじめとした強力な布陣を用意し、いかにユーザーフレンドリーなシステムにできるかを熱心に議論していた印象です。

このテーマでは、多くのユーザーがストレスなく目的を達成するためのUXをデザインする能力が培われたのではないかと思います。

相互評価システム

誰かがすごい成果を出した場合、それを賞賛してあげたいという欲求は誰にでも少なからずあるのではないでしょうか。
本テーマでは、そのような欲求に応え、気軽に社員同士で賞賛し合うシステムを作ってみようというものです。
本テーマの提案者であり、リーダーである@sashiyama により、もととなるシステムがすでにOSSにて公開中です。

https://github.com/sashiyama/thx

このテーマでは、このシステムがどのような意味を持つのかを一から考える必要があるため、サービスのアドバンテージを的確に表現する能力が鍛えられるのではないかと思います。

その他

事務処理

合宿においては、宿泊先にて会議室を確保したり、ホワイトボードなどの備品を準備する必要があるわけですが、今回はなんと、弊社経営企画室室長が参加してくれたため、 宿泊先との交渉、備品の手配などの事務局的役割をすべてお願いしちゃいました。

いやぁ、実に助かりました。
以前に弁護士ドットコムさんと合同勉強会した時も感じたのですが、会場や食事など、メインではないがとても重要な要素のケアをサポートしてもらえると、イベントの進行がとてもスムーズにいきます。
やはり、関心の分離って大事ですね。

成果の発表

合宿やってはい終わり、では寂しいので、社内で発表会もする予定です。
できるなら、それも記事にしたいところですね。

感想

さて、ここらで今回の感想をば。
まず、我々のチームは普段は一緒に仕事をしていないので、この日、そのテーマのために即席で組まれたチームです。
一応、事前実装はある程度していたのですが、顔を突き合わせて、進捗を見つつ実装を進めて行くことになり、かなり慌しい状況になりました。
私はインフラの調整などを担当していたのですが、なんどもトラブルにぶつかり、一方で時間はどんどん進んで行くので、正直なところ、すごく焦りました。
とはいえ、「こういう実装にしたらどうだろう」みたいなことをペアプロを使って共有したりして、それなりにいろんなことを試せたのではないかと思います。
基本的に私はエンジニアとしては一人で作業することが多かったので、こういう経験は新鮮でしたね。

まとめ

ということで、開発合宿に行って来たので、それについての簡単な報告をさせていただきました。
「合宿をする」ということ自体、今回の目的ではありましたが、その成果物を育て上げることも、これまた大事な要素でございます。
今回はこんなところです。