ShipIt（シップイット）のはじめかた

こんにちは、アトラシアンのサポートエンジニアの @mai_nakagawa です。この投稿は [Atlassian Advent Calendar 2015](http://qiita.com/advent-calendar/2015/atlassian) の5日目（12月5日）です。
今回はアトラシアンが四半期ごと（3ヶ月ごと）に開催している ShipIt（シップイット）という活動についてご紹介します。ShipIt とは誰でも参加できる社内コンテストで、チームを作ってお客様に提供したい機能を24時間で開発して社内で競い合います。アトラシアンではすでに32回も ShipIt が開催されていて、多くの社員が積極的に参加しています。そしてアトラシアン社外にも広めていきたいと思っています。
この記事では ShipIt のはじめかたをステップ・バイ・ステップで説明していきます。
# なぜ ShipIt を開催すべきか？どんな価値があるのか？
アトラシアン社内では ShipIt の価値はすでに説明するまでもなく認識されていて、実際にいくつもの機能が ShipIt から生まれています。例えば以下のようなものがあります。
- [JIRA Service Desk](https://ja.atlassian.com/software/jira/service-desk)
- [JIRA Capture](https://ja.atlassian.com/software/jira/capture)
- [DJ Kanban](https://marketplace.atlassian.com/plugins/dj-kanban/cloud/overview)（Atlassian Advent Calendar 2015 の [12月4日分](http://qiita.com/ninuyama/items/f210dca243a3c71ecd50) で @ninuyama さんが紹介していましたね）

ShipIt にあまり馴染みのない人にとっては、業務時間を ShipIt に費やす価値が見出だせない人もいると思います。まずは一度試してみるのが良いのですが、例えば、以下のようなことが言える思います。
- **時間があるときに対応したいと思っていた問題に対して取り組むことができます** - アトラシアンの ShipIt のいくつかのプロジェクトでは、普段は「今は時間がないからできない」といって放置されていた問題に対して取り組んできました。
- **ShipIt は全員参加型の研究開発です** - 研究開発部門の限られたメンバーにだけ長い時間を与えて何か素晴らしい研究成果を期待するのとは別に、社員全員にその機会を与えることで様々な立場の人が様々な視点から出てきた新しいアイデアが実装されます。
- **組織を越えた連携が活性化されます** - 組織が大きくなってくると、組織間の連携が少なくなってくることもあると思います。

# ShipIt 当日の流れ
ここまで読んで、ShipIt を開催することが決まっていれば何よりです。ここでは ShipIt 当日の流れがどのようなものか説明します。
アトラシアンではいつも ShipIt は金曜の夕方に終わるようにしています。これにより、参加者は ShipIt が終わったらまっすぐ帰宅して、週末にゆっくり休むことができます。
アトラシアンにおける ShipIt のタイムテーブルは以下のようになっています。
![Timetable.png](https://qiita-image-store.s3.amazonaws.com/0/103235/cd0001e8-a893-4e78-f370-fe8ab22db333.png)
- **木曜 9:00-11:00 - フライング組の開始！** - 人によっては11時から翌日の11時までの24時間が ShipIt の開発期間であり、このフライング枠を設けるのはズルいと言う人がいますが、アトラシアンとしては、そもそも ShipIt は競い合うというよりは製品／機能をリリースするための活動なので、フライング枠があっても構わないと思っています。
- **木曜 11:00 - ShipIt の正式な開始！** - アトラシアンではこのタイミングからTVスクリーンで２４時間のカウントダウンを開始します。
![shipit-countdown.png](https://qiita-image-store.s3.amazonaws.com/0/103235/a348e0fb-3c2e-8ff2-062a-113ec8a7c6af.png)
- **木曜 18:00 - 夕ごはん** - アトラシアンではたいてい大量のピザを注文します。もちろん参加者が何を食べても構いませんが、少なくても何か食べ物を用意しておくと良いでしょう。日本のソフトウェア企業だと寿司のほうが馴染むかも知れませんね！！
![shipit-pizza-dinner.png](https://qiita-image-store.s3.amazonaws.com/0/103235/782b130f-2952-a328-309d-e597977e7cbc.png)
- **金曜 9:00-10:00 - ロビーにコーヒーカートを用意** - アトラシアンではバリスタを雇って、この時間帯にコーヒーを振る舞います。一晩中起きていたチームにとってこれはとてもありがたいものです。
![shipit-morning-coffee.png](https://qiita-image-store.s3.amazonaws.com/0/103235/b40333e9-524e-3b12-b4b3-18e9e91b90d3.png)
- **金曜 11:00 - ShipIt 終了！プレゼンの準備開始** - プレゼンやデモの準備を始めます。これはとても重要です。よくギリギリまでコーディングを続ける人がいますが、それは賢くありません。終了間際に変更したコードのせいでデモが動かなくなることがよく起こります。それに実際に評価者に見てもらうのはコードではなくプレゼンとデモです。
- **金曜 14:00 - ShipIt 準決勝のプレゼン開始！** - 参加チームが多いときは複数の部屋で準決勝を行います。2分間隔で各チームが3分間のデモを行います。アトラシアンでは1部屋が10-15チームになるように複数の部屋を用意して、各部屋の上位2チームが決勝に進みます。
- **金曜 16:00 - 決勝のプレゼン開始！** - 1部屋に集まり、2分間隔で各チームは5分間のプレゼンを行います。そして全員が投票を行います。勝者が決まり、賞品が授与されます。
- **金曜 17:30-20:00 - クロージングのお祝い** - アトラシアンでは大量の飲み物とおつまみを用意して ShipIt の終了をお祝いします。社員が一堂に会して交流します。そして各自が自分の好きなときに帰宅します。

# ShipIt の準備
ここでは ShipIt を開催するためにどのような準備が必要か説明します。
## 2ヶ月前
### オーガナイザー（幹事）を決める
まず最初にオーガナイザーを決めます。規模が大きい場合は2,3人いると良いでしょう。
### ShipIt の参加受付の仕組みを用意する
以下のようなことができる参加受付の仕組みであれば何でも良いです。
- 誰が参加して、どのようなものを作るのか分かる
- あとでみんなが投票できるように、どのようなチームがあるのか分かる
- 準決勝・決勝のための部屋にチームをアサインする
なおアトラシアンでは [Atlassian ShipIt Voting Plugin](https://marketplace.atlassian.com/plugins/com.atlassian.shipit.shipit-vote/server/overview) という JIRA のアドオンを使っていますが、残念ながらこのアドオンは JIRA 6.1.x でしか動きません。
## ShipItの1ヶ月前
### ShipIt への参加登録の受け付けを開始する
2ヶ月前に準備して参加受付の仕組みを使った受付を開始します。
### ShipIt の事前ランチ会を開催する
カジュアルなランチ会を開催します。この会は、ShipIt で自分が取り組みたいアイデアを他の人がもっていないか探している人や、ShipIt のアイデアがあってメンバーを探している人のための会です。30-60分程度で良いかと思います。
オーガナイザーの一人が ShipIt の事前ランチ会を開催して、ShipIt についてみんなに知ってもらいます。5-10くらいの ShipIt のアイデアを紹介できるとさらに良いです。そのアイデアをそのまま使ってもらっても良いし、そのアイデアに誘発されて各自がもっとをアイデアを出してくれると思います。
アトラシアンではこの会で以下のようなことをしています。
- 簡単に参加者全員が自己紹介をします
- ShipIt のアイデアがないか聞きます。アイデアがある場合は、そのアイデアをホワイトボード／スクリーンに記載していきます。アイデアが何も出なかった場合は、オーガナイザーが用意していたアイデアをシェアします
- 出てきたアイデアの中で、各自がどのアイデアに取り組みたいか選んでもらいます
### ShipIt 中の食事や飲み物の手配をする
アトラシアンではたいてい食事にはピザを、飲み物には水、ソフトドリンク、ビールなどを用意しています。
### ShipItの賞品を用意する
アトラシアンではたいてい ShipIt 特製のTシャツを賞品としています。アトラシアンでは数多くのTシャツを用意していますが、その中でも ShipIt 特製のオリジナルTシャツはとても貴重で、そのTシャツを持っていることを誇りに思っている人も多いです。
![shipit-winners-prize.jpg](https://qiita-image-store.s3.amazonaws.com/0/103235/b574157d-d792-1048-cea3-d34626d7cf9f.jpeg)
### ShipIt終了時のお祝いの手配をする
会場、飲み物、おつまみなどを手配します。
## ShipItの1週間前
### プレゼンの部屋を準備する
準決勝・決勝で利用する部屋を準備したり、デモを見せるためのスクリーンやプロジェクターを手配します。
# ShipIt が終わったら
ShipIt が終わり、週末をゆっくり休んだら、次は成果物をどのようにリリースするのかを検討します。内容によっては、規模が大きすぎてリリースするには追加の作業が必要になるかも知れません。

以上です。ぜひ一度、皆さんも ShipIt を試してみてください！

さて次は @kunny53 さんが Atlassian の歩き方について紹介してくれます！