こんにちは、SmartHRでプラットフォーム事業でプロダクトエンジニアをしている @otakky です。
今回は、プラットフォーム事業でハッカソンを開催したので、その進め方や様子を紹介したいと思います!
ハッカソン開催のきっかけ
そもそもなぜハッカソンをやることになったのか?
答えは「楽しそうだから」です。
ウソです(3割くらいは本当です)。
目的をお話しするために、少しプラットフォーム事業について説明させてください。
「プラットフォーム」と聞くと、DevOpsやインフラ設計などに関わりそうなイメージがありますが、弊社のプラットフォーム事業は、SmartHRというサービスのプラットフォーム化を促進することを目的としています。
と言っても「何をやっているかサッパリわからん!」という方もいると思いますが、そんな方はぜひ下記の記事を読んでみてください(宣伝)。
上記の記事でも紹介していますが、プラットフォーム事業でやっていることの1つが、アプリストア「SmartHR Plus」の開発です。
アプリストアで公開されているアプリのほとんどが外部のパートナーが開発したものです。
このアプリ開発を促進するための仕組み作りがプラットフォーム事業の重要なミッションの1つなのですが、 事業に関わるチームメンバーも徐々に増えていく中で、下記のような意見がチラホラ出てくるようになりました。
- 開発してくれるパートナーにとってどういう機能が必要なのかイメージしづらい
- 「こういう機能・サポートがあればいいよね」という案は思いつくけど、優先度がつけられない
- 開発の参考になるようなサンプルアプリがあった方がいいかもしれない
などなど・・・
どれも事業を促進する上でとても重要な意見ですが、少しふわっとしている。
なぜふわっとしているのかを考えてみると、一つの仮説が浮かび上がってきました。
「自分でアプリ開発をしたことがないひとが多いから開発イメージがつかないのでは?」
そこで思いついたのがハッカソンです。
ハッカソンを通じて実際に自分でアプリを作ることで
- 開発時の困りごとを実体験できる
- みんなの困りごとをまとめることで優先度がつけられるようになる
- 成果物はサンプルアプリになるかも
と、多くのメリットがありそうと考えました。
そしてあわよくば、 ハッカソンで作ったアプリをストアで公開できるかも・・・?
こんな背景とひとつまみの下心から「自分たちでアプリを作ってみるハッカソンをやりたいよね」と話したところ、 開発側だけでなくビジネス側からもポジティブなリアクションが多くあり、 「これはもうやるしかない!」となったのでした。
事前準備
さっそく「ハッカソンをやってみた!」といきたいところですが、円滑なハッカソンに事前準備は欠かせません。
社内でのハッカソンとはいえ、場当たり的にはじめてグダグダになって目的が達成できないとなると目も当てられないので、いくつか準備をしました。
やったことは
- 参加者へのアンケート
- 企画案の募集
- ベースリポジトリの用意
です。
せっかく準備したので、ここからは具体的に何を考えて、何を準備したのかを紹介してみようと思います。
参加者へのアンケート
ハッカソンをやることになったものの、具体的にどのように進めるべきかの指標がありませんでした。 参加したい人のモチベーションもわからないし、何日くらいやればみんな手応えを感じられそうなのかもわからない・・・ そこで参加予定者の声を直接聞き、それをもとに企画を詰めていくことにしました。
聞いたことは
- ハッカソンでどんなことをやりたい?
- 何日くらいあれば良さそう?
- チーム派?個人派?
などです。このアンケート結果をもとに
- 期間は3日くらいあれば良さそう
- チームは必要があれば作る。もちろん個人でも良い
のように企画の詳細を詰めていきました。
企画案の募集
きっかけでも書いたように、今回のハッカソンの大目的は「アプリを実際に自分で作ってみること」です。
そのため、どんなアプリを作るか考えることに時間を割くことは本質的ではありません。
しかし、どうせ作るなら実際にストアに公開できそうなアプリの方が作る側としても楽しいですよね。
また、先述のアンケートでも「他の人の企画でもやってみたいか?」という設問にも全員が前向きだったこともあり、「であればアプリ案を募集してみるか」と思い立ちました。
最初は参加者の人数分くらい集まればいいかな〜と思って募集をしたのですが、 一人で複数案を出してくれる人もおり、最終的に20個以上の案が集まりました。
おかげで「ハッカソン自体は参加したいけど、作りたいものがない」「時間ないけど企画を考えなきゃ」といった事態を避けることができ、 むしろ「選ばれない案の方が多くてゴメンネ」という嬉しい謝罪が必要な状況となりました。
ベースリポジトリの用意
目的が「アプリを作って困りごとを体感する」とは言っても、全員が同じところで困ったり時間を使ったりするのは微妙ですよね。
具体的には
- DBやアプリケーションの最初の構築
- アプリケーションの技術選定
- SmartHRへの認証処理
などです。 この辺りの想像がつく課題はむしろサッとクリアし、気付きづらい課題を見つけるための時間を増やして欲しい。そのため、ハッカソン当日にすぐ開発が開始できるリポジトリを用意することにしました。
弊社はRails + TypeScript(+React)で開発することに慣れているメンバーがほとんどなので、それらを利用した雛形となるリポジトリを用意しました。
ちなみに、これを作るのにかかったのが3営業日くらい。用意してなかったらハッカソンの結論が「認証周りが大変」とかいうわかりきったものになるところでした。危ねえ。
これでハッカソンの詳細も決まり、企画案も集まり、開発のスタートダッシュもしっかり切れる。あとはハッカソン当日を待つのみとなりました。
ハッカソン開催中のようす
結果的に参加者全員が個人で参加することになったため、朝会以外はもくもくと開発を進めていくことになりました。しかし自然とそれぞれがWorking Out Loudし始め、誰が何をしているのかわからないといったことにはなりませんでした。
(Working Out Loudについて知りたい方は Working Out Loudの実践と学び を参照してみてください。)
私自身も他の人のスレをみて「みんな進捗ヤバ・・・速度だそ」とモチベーションを高めながら開発することができました。
あと、なんか体調も良くなるらしいです。
ちなみに、気のせいかもしれませんがみんな普段より残業が多かったような気がします。いいのか?
発表会のようす
無事ハッカソンは終わり、ここからはみんな大好きな発表会の様子です。
ハッカソン自体はリモートワークで実施しましたが、せっかくなので発表会自体はオフラインでやりたい!ということで、ビジネス側のメンバーやCEO ・COOなどを招待して、ワイワイやりました。
残念ながら発表内容の詳細はお伝えできないのですが、どれも三日で作ったとは思えないクオリティで、「このアプリ実際に公開できるんじゃない?」と思えるものがたくさんありました!
また、発表会を見にきてくれていたCEO・COOそれぞれから賞の授与も。CEO賞は技術観点、COO賞はビジネス観点で、それぞれ対象者を選んでいただきました。
おめでとうございます!
こうして発表会は大好評で幕を閉じたのでした。
ふりかえり
ハッカソンの幕は閉じましたが、まだやることがあります。
そう、ふりかえりですね。ふりかえりをしないと当初の目的が達成できません。
ということで、KPT(+Good)形式で話し合いました。
具体的な意見は省きますが
- パートナーのためのSDKを作った方がいいのかも
- パートナー向けのドキュメントでわかりづらいところがある
- APIのレスポンスがわかりづらそう
など、プラットフォーム事業としてカイゼンした方が良さそうな案がガンガン出てきました。
意見が多く出てきたこともそうですが、意見に対して「確かに!」「わかる!」というリアクションが多くあり、全員のアプリ開発への解像度が高まったことが何よりの成果だなと感じています。
やってよかったハッカソン!
おわりに
こうして当初の目的を無事達成できた今回のハッカソン・・・ですが、成果物が想定以上に良いものが多く、 実際にアプリストアに載せたくなるようなものも多く生まれました。 次回はシンプルに良いアプリを作るためのハッカソンを、全社を巻き込んで開催したいな〜と目論んでいます。
そしてお決まりのやつですが、SmartHRではエンジニアを大募集中です!本当なんです!
- 次回のハッカソンに出てみたい方
- プラットフォーム事業に興味の沸いた方
- 一緒にハッカソンの運営をしたい方
- とりあえずカジュアル面談くらいなら受けてやるかと思った方
ぜひ下記サイトからご応募ください!
プラットフォーム事業だけでなく、その他のポジションも絶賛募集中です!
それではまた。