社内ハッカソンの進め方と効果
私たちソニックガーデンでは、「ハッカソン」という社内イベントを定期的に行なっている。
ハッカソンとは、ハックとマラソンを掛け合わした言葉で、集中的にずっとプログラミングするイベントのことだ。
私たちのハッカソンでは、普段の業務でのプログラミングから離れて、好きな技術や挑戦したいことに取り組んだりしている。
ハッカソンをしようとなれば、社内でイベントが立てられる。その際にテーマが決められる。秋なら「運動不足を解消するアプリ」だったり、技術的な「NoUI」といったテーマのときもある。
それが興味のあるテーマだったら、プログラマ達が応募してくる。そして、応募してきたプログラマ同士で、2〜3人のチームを組む。自主的に組むので、組まずに一人で参戦するプログラマもいる。
多くの場合は、そのハッカソンのテーマに沿ったアイデアを出すプログラマがいて、それに賛同したプログラマがチームを組むことになる。
チームによっては、事前に設計や技術調査を済ませておくところもあれば、その日まで準備しないで臨むチームもある。そこも自由だ。
そしてハッカソン当日を迎える。当日は、とりたててスタートの合図などもなく、それぞれのチームで開発を始める。
そのハッカソンの一日は、なるべく普段の業務に戻らなくても良いように仕事を済ませておくし、割り込みもないようにする。
チームごとの進め方も自由だ。ペアプログラミングのようにするチームもあれば、完全に役割分担をしてアプリとサーバと分かれて開発するチームもある。
夕方17時ごろがタイムリミットだ。そこから成果発表と審査会が始まる。
成果発表は、チームごとにハッカソンで作ったプログラムのお披露目だ。ここでのプレゼン資料もハッカソンの時間内に作らなければいけない。
各チームの発表を見ながら、参加者たちは審査員もすることになっている。互いに審査し合うという訳だ。このタイミングで、ハッカソンには参加してなかったメンバーも審査員として参加することもある。
審査は、5項目ほどの評点に分かれている。びっくり、アイデア、新技術、使いやすさ、完成度などの評点だ。
審査する人間には、7点の持ち点が与えられる。全チーム分で7点だ。その持ち点をどう分配するか、審査員に任されている。
審査が終わると、ランキングが発表される。総合トップ、評点ごとのトップが表彰される。それぞれには、会社から心ばかりの賞品が提供される。
ハッカソンで重要なことは、その日に仕上げることだ。作り上げることに価値がある。この日ばかりは、品質には目を瞑る。いくらしっかりと作っても、完成しなければ価値はない。
だから発表のタイミングで動くものがないなんてのは言語道断、採点の対象にもならない。そうならない為に、少しずつ、必要最小限から作って、必ず動く状態をキープしながら作っていくのだ。
ハッカソンは、何か作り上げてこそのハッカソンなのだ。
ハッカソンをすることで、普段の業務では絡むことのない人たち同士が一緒に一日を過ごすことで新しい関係性や連帯感が生まれる。これは会社にとってプラスだ。
ただ1日ずっと話をするよりも、一緒に開発をすることで、頼りになるってことも伝わるし、なにか共通の目的があって共同作業をした方が、仲良くなれるはず。
プログラマにとっては、新しい技術に挑戦するタイミングになるし、作品を作るとなると、本気で新しい技術に取り組まないと出来ないが、それくらいが習得するにはちょうどいい。
このハッカソンから新しいプロダクトが誕生することもある。経営的な観点で言えば、イノベーション創出の機会作りだとも言える。
ソニックガーデンでは、この一連の社内ハッカソンの流れ、これを全てリモートチームで行なっている。全員がオンラインで実現している。
また、このハッカソンの派生形式で、リアルに集まって合宿形式でハッカソンをするようなイベントもやっている。
理屈はともかく、ハッカソンはとても楽しいものです。オススメ。