見出し画像

ハッカソンに挑むときに準備していること (個人編)

こんにちは。@t_mitsuokaです。
1/11に開催されたProtoOut&ヒーローズリーグハッカソンに1人チーム(ボッチソンって言うらしい)で参加してきました。

残念ながら賞はもらえませんでしたが、振り返りも兼ねて、私がハッカソンに参加する際にどのような準備を行っているかを本記事にまとめようと思います。

ここで想定しているハッカソンは、「作る楽しみを重視する」タイプです。ガンガンビジネス化狙っていくぞ、といったタイプのハッカソンには当てはまらないかもしれません。

どのようなハッカソンなのかを知る

ハッカソンはまず、戦場を知るところから始まります。

ハッカソンの応募ページにいろいろな情報が載っているので、キーワードを拾っていきます。

 ◯自由型のIoTプロトタイピング
 ◯ゆるやかな雰囲気
 ◯1Dayハッカソン
 ◯アイディアソンあり

以上の内容から、私が感じたことは

 ◯チャレンジできそう(失敗しても大丈夫そう)
  ▶ 失敗しても頑張ったねって褒めてくれそう
 ◯短期決戦
  ▶ 1日でアイデア発想〜開発〜発表が必要

です。

チャレンジできそう?

→使い慣れていない技術を使うかどうか判断する

IoTハッカソンということで何か物を作る必要がありそうだと思ったのですが、obnizを使うか、最近買ったM5Stack系のデバイスを使うか迷っていました。

本ハッカソンはゆるやかな雰囲気とのことで、最終的に動かなくてもアドバイスがもらえそうだったり、頑張ったねって褒めてくれそうだったので、まだ不慣れなM5Stack系のデバイスを使うことを決めました。

普段、私がハッカソンに参加するときは、使い慣れていない技術を使うことは滅多にありません。
慣れている技術の方が時間短縮になるし、ほんとに動くのかなぁ?という不安から解放され、その分の力を作品に注ぎ込めるからです。
優しくなさそうなハッカソンだったら、間違いなくobnizを使っていました。

短期決戦

→アイデアは段階的にアウトプットできるように考えておく

ハッカソンは時間との戦いになることが多いです。個人で挑むとなるとなおさらです。
さらに今回は1日と短期決戦でしたので、作るものの大枠はあらかじめ決めておくことにしました。
そこでポイントとしていたのが、段階的にアウトプットできるようにしておくことです。

段階的なアウトプットとは、作品の完成形を数ステップ用意しておき、開発が途中で終わってしまったとしても、あたかも完成したような状態で発表できるようにしておく、ということです。

例えば今回考えた「寝ると温度を上げて起こしてくるこたつ」というテーマでは、

 ◯こたつの温度制御(意図したタイミングで温度を上げ、人を起こす)
  ▶ 勝算あり:事前に調査したスマートコンセントを応用して実装可能
============最低限の完成ライン=============
 ◯M5StickCのジャイロセンサーで寝たかどうかの判定
  ▶ たぶんできる:それっぽいサンプルソースを見たことがある
 ◯M5StickCのセンサー値をBLE通信で取得
  ▶ 未知数:やったことがなく、調査から入る。

の3段階で構えていました。

実際には2つ目のポイントまで実装でき、寝た人をセンサーを使って検知し、温度を上げて起こすことを想定したデモを行うことができました。
十分な成果でした。

ここで重要なのが、最低限の完成ラインは事前調査で実装できそうだということがわかっていることです。
これだけでハッカソンに挑む安心感が全然違ってきます。

完成形を数ステップ用意し、事前準備をして最低限の完成ラインをできるだけ早く超えることで、「開発が終わらなくて、発表したくないなぁ」という気持ちとおさらばすることができます。

まとめ:個人ハッカソン準備の3箇条

私が個人でハッカソンに挑むにあたり行っている準備をまとめます。

 ◯どのようなハッカソンなのかを知る
 ◯どのような技術を使うか判断する
 ◯アイデアは段階的にアウトプットできるように考えておく

このような準備をしておくことで、当日は開発に集中することができました。

チームを組んで参加するときは、上記に加えて別の準備を行うようにしています。それは気が向いたらまた別の記事にすることにします。

この記事が気に入ったらサポートをしてみませんか?