最近の「ハッカソン」について


複数人の参加するゲームでは、しばしば、ガチ勢とエンジョイ勢の間に軋轢が発生する。
どちらもゲームを愛しているし、ゲームのルールに文句があるわけではない。意図的に互いを妨害しようとしているわけではないが、互いの行動パターンの不一致が軋轢を生んでしまう。

最近、ハッカソンという名前を冠したイベントにおいて、そういった取り組み方の違いが目立つようになってきているように見える。私も、あるときは参加者として、またあるときは企画者や「中の人」として、「ハッカソン」と呼ばれるイベントに参加している。近年は、様々な方向性の「ハッカソン」が開催されている。そこに多くの人が参加している中で、参加者同士、あるいは主催側と参加側の齟齬をどうにか無くせないか、あるいはすれ違いを前提としながら楽しむ方向はないかと考えている。

ハッカソンにおいては、もちろん参加者みんな何らかの意味でガチ勢なのだが、そこに2パターンのガチ勢が存在している。

  • ガチ勝利勢
  • ガチhack勢

の2種類だ。これは、温度差ではなくベクトルの違いである。
ガチ勝利勢は、とにかく勝ちに行く。
それに対し、ガチhack勢はその場でいかに密度の濃いhackをすることを目指す。

ガチ勝利勢とガチhack勢

ガチ勝利勢の参加目的は、ガチで賞を取りに行くことである。このタイプの参加者は、最後のプレゼンタイムから逆算して全てを進める。技術的にどれだけこだわっても、動かして見せられる物が完成できないかもしれない。そんな賭けをするくらいなら、モックレベルの物を作ろうという戦略を採る。
プレゼンテーションに「技術的にはこういう問題解決をしてます」という話は盛り込む。実際hackも行われるが、hack自体の面白さは二の次である。
最近では、面白いテーマのハッカソンに積極的に参加する「ハッカソン参加が趣味の人」や、あちこちで入賞しているバウンティハンターのような人もいる。こういうメンバーが中心となるイベントでは、出来上がってくる成果物も華やかで、訴求力の高いものとなりやすい。「こういうハッカソンをやってこういう作品が入賞しました」という事後レポートを見るだけで楽しめる。

ガチhack勢は、主に言語系のハッカソンや、特定の技術や製品を楽しむことが目的のイベントに集まる。元々「ハッカソン」と呼ばれるイベントに参加するのはそういう人ばかりだった。
朝から夜まで、さらに翌日翌々日まで、同じ興味を持った仲間たちと、テーマとなった技術の限界に挑戦し、あるいは自分の限界に挑戦する。十時間から数十時間の熱病を共有する。
勉強していると思っているし、実際勉強になる。企業が新製品や新技術を提供する場合は、「我々ファン一同、全力でそれの魅力を引き出すし、デバッグだって手伝うよ」という意気込みを持って参加する。
こういうイベントは、参加することに意義がある。良い意味で。いいかげんな心がまえで参加するのではなく、参加している時間に得たものが必ず参加者の血肉となるという意味で。相互に投票して入賞したらそれは名誉なことだし、Tシャツがもらえたりするとちょっと嬉しいけれど、そんなのはオマケだ。勉強によって得た知見、新しいものに触れた興奮、参加者同士の濃厚なコミュニケーションこそが戦果だ。

# ちなみにこの層からはしばしば「ハッカソンっていう言葉の意味も変わったよねえ」みたいな苦言が出る。

暗黙の棲み分けと、棲み分けの失敗

たいてい、この二者はうまく住み分けられている。

たとえば、豪華賞品が用意されていたり、ビジネスプランコンテストっぽい面のあるイベントだったりすると「ガチ勝利勢」が増える。企業が「うちのビジネスを盛り上げるようなものを作ってください」「この業界の問題を解決するhackをしてください」と人を集める場合は、そういうノリになる。
ハッカソンブームなどと言われるようになってからは、企業が「動くデモを作る時間を含んだアイディアコンテスト」に近いハッカソンを主催するケースが増えてきたため、ハッカソンとはそういうものだと割りきって参加している人も見かける。ガチ勝利勢は、近年のアイディアコンテスト的なハッカソンに最適化したスタイルなのかもしれない。

一方、テーマがマニアックすぎて、技術が軸となっていることが明らかであるイベントや、スポンサーへの依存度が小さいイベントでは、ガチhack勢が集まる。

ガチhack勢向けのイベントなのか、ガチ勝利勢向けのイベントなのかは、だいたいわかると思う。技術を軸にすればガチhack勢が集まるし、必ずしも特定の技術によらない「問題の解決」が軸になっていればガチ勝利勢が集まる。

このあたりの空気感は、事前に予測しやすい。ただし、その中間の微妙なケースが時々発生する。
「技術」と「解決すべき問題」がイコールの場合だ。テーマとなるプロダクトが提供されて、「これで何か面白いhackをしてね」というケース。APIやSDKが提供されたり、開発キットが提供されたりする。

その場合、

  • そのプロダクトの最高の用途を考えてプレゼンしたい (ガチ勝利)
  • そのプロダクトを体験し、魅力を知るために全力でハックしたい。積極的に技術的フィードバックもする (ガチhack)

のどちらも正解となる。ガチ勝利勢とガチhack勢、どちらの参加姿勢もあり得る。開催側の姿勢も、

  • このプロダクトにどんな使い道があるのか、未来を見せてほしい (ガチ勝利勢向け)
  • このプロダクトを開発者たちに体験してもらいたいし、その体験を通じて技術的な視点からのフィードバックも欲しい (ガチhack勢向け)

の両方があり得る。両方を目的としている場合もある。

こうしたイベントでは、ガチ勝利勢とガチhack勢が交わってしまう。「ガチhack勢ばかりのチームがガチでhackしたのに、ガチ勝利勢の上手なプレゼンに負けてしまった」……それならまだいい。ガチhack勢はhack自体を楽しめれば審査結果をそれほど気にしない。
しかし、同じチームにガチ勝利勢とガチhack勢が混在した時に、真の悲劇は生まれるのだ。

「新技術が触れると思ってワクワクテカテカしていたのに、いつの間にかモック作ってるよ……」というガッカリ感が「ガチhack勢」を襲う。ただ勝つために、どうせ捨てるコードを、いつもの安全な手法で書いた。どうせ捨てる簡単な回路をArduinoか何かでさくっと組む。新しく学ぶことはなかったし、技術的な冒険は何もしなかった。学ばないということを、ガチhack勢は敗北とみなす。

今後、一般層に話題になったプロダクト、特にハードウェア系のプロダクトをテーマとしたハッカソンが増えるだろう。話題性があり、なおかつ技術的にも面白いとなると、ガチhack層・ガチ勝利層の両方を誘引し、どちらともつかない微妙な方向性のイベントとなるのではないかと思う。

どうすればいいのか?

これは、「ハッカソン」という名前で行われるイベントが多様化し、参加者も多様化したことによる問題だ。ハッカソンという言葉の意味をむやみに狭めたり、「これはハッカソンで、あれはハッカソンじゃない」などと言う必要はないし、言ったところでもはやどうにもならないと思う。しかし、開催側・参加側それぞれが「いろんなハッカソンがあるけれど、今回のはどんなハッカソンか?」という方向性をもう少し共有できないだろうか? とは常々思っている。
そんな中で考えていることをいくつか書いてみる。

賞品はメッセージとなる : 賞品が高額だったり誰もが欲しがるものであったりすると、参加者はガチ勝利勢に寄る。一方、たとえばハードウェア系の開発キットがゲットできるという触れ込みだったり、明らかにギーク層向けのものが賞品に加わっていたりすると、それはガチhack勢相手のイベントであるということを暗に伝えることになる。ノベルティ程度にしてくと、確実にガチhack勢だけが集まる。

審査員・メンターを調整する : たとえば主催企業のCTOが審査メンバーに居るとか、お題となるプロダクトの開発にあたったエンジニアがメンターや審査員として参加するとなれば、ガチhack勢としての取り組み方を肯定するというメッセージが伝わる。ガチhack勢にとっては、実際にそのプロダクトの開発に携わる人と直接話せるというのはとても嬉しいことだ。
ただし、この場合はあえて競技性を薄くした方が良いかと思う。ハッカソンの最中に主催者側の技術者と参加者たちが相談できるのが魅力であるはずが、競技としての色が濃くなるほど、全チームに対しての公平性、競技としてのフェアネスが要求されてくる。すると、「濃密な技術アドバイス」が「熾烈な競技で特定チームばかりを支援するアンフェアな行為」になりかねないというジレンマに陥り、コミュニケーションを萎縮させてしまう。

ハッカソンじゃないとダメなんですか : ビジネスプランを集めたり「何か面白いネタ作って見せて」というのが目的の場合、「ハッカソンじゃないとダメなんですか? アイディアコンテストじゃダメなんですか?」という疑問に対する答えを出しておく。よく企画されたイベントだと、アイディアソンだけでもけっこう面白かったりする。もうhackしなくていいじゃん、という答えも有っていい。「ハッカソンというフォーマットを取って話題を集めたい」「動くものがたくさん出来上がったというところを内外に見せたい」という思惑だけでは弱い。

チームビルディング: プランナー・デザイナー・エンジニアといった枠を設けたり、参加者のスキルを把握しながらバランスよくチームビルディングを行ったり……といった運営はときどき見かける。
ビジネスにおいては、そういった異なる立場の人々が協力するのが普通なのだが、ハッカソンではそう上手くはいかない。ガチ勝利勢が「企画を通すためのデモンストレーション」を疑似体験しているのに対し、ガチhack勢は「実際の開発・技術検証」という全く別のフェーズをイメージしている。制限時間は短いため、その両方に注力するのは難しい。
また、チーム構成によっては、「使う人と使われる人」という関係が発生してしまう。

知人からは「腕試しのために参加したハッカソンで、チームの『プランナー枠』のメンバーがあからさまにエンジニアを手足として使いたがっていて楽しめなかった」という声を何度も聞いている。
そういう事態を防ぐには、タイプの違う人がチームを組むように仕向けるよりも、知り合い同士のチームや1人チームでもOKということにしたほうが面白いhackができるかもしれない。

目的を正直に話す: イベントの開催目的を正直に開示したほうがいい。「うちの技術を体験してみてください!」とか「面白いビジネスのネタを考えています」とか。
「認知度を上げるためにお祭りを一発やってみました」っていう目的でもいい。それでも、もともと祭り好きな人や、何かにつけて力試しをしたい人達はけっこう参加するはず。

招待制・実行委員会形式: 有志の企画するイベントでも「スポンサーをつける」という選択肢がある。しかし、スポンサーがつくと「ちゃんとしたイベント」になってしまい、hackしたい人達同士で泥臭く楽しむという醍醐味が失われる場合がある。それを防ぐため、特定スポンサーに依存せず実行委員会形式をとるという手法がある。
企業主催の場合は、招待制というのも有りだ。方向性を決めて、近しい分野で活躍している人に直接声をかける。

同じ「ハッカソン」という名前でいいのか? 「ハッカソン」は、今や一般人にも知れ渡った言葉である。使いたいのはわかるが、もっと適切な名前があるかもしれない。ハックコンテストとか、スプリント(最近一部で使われている)とか。