【はじめに】
三菱総研DCSデジタルイノベーション部の皆川です。
2023年6月に開催された、デジタル庁主催マイナポータルハッカソンに参加し「審査委員特別賞」を受賞することができました。運営スタッフや審査委員の皆様、改めましてお礼申し上げます。
ハッカソンに参加することで、自分の成長を実感しています。「自分はちゃんと成長できているのだろうか」と不安に感じている方に、ハッカソン参加をお薦めしたいと考え、今回執筆いたしました。ぜひご一読いただければと思います。
【目次】
【今回参加したハッカソン】
ハッカソン名 : デジタル庁主催 マイナポータルハッカソン
趣旨 : マイナポータルを活用した新たなサービスアイデアを募集
期間 : 2023年6月8日(木)~6月12日(月)
チーム名 : exぱんだー
参加メンバー : DCS社員を中心とした7名(プレゼンストーリー担当3名,開発担当4名)
提案サービス : リコリカ
・マイナポータルAPIを活用した職業訓練給付金受給可否判定
・個人の志向を加味したおすすめ講座のレコメンド
結果 : 審査委員特別賞受賞
※デジタル大臣賞(1)/優秀作品賞(1)/審査委員特別賞(3)
一般審査員特別賞(1)、エントリー数205チーム
そもそも「ハッカソン」とは、テーマに対したサービス開発を行うイベントです。形式は様々ですが、今回は「国民生活をよりよくするためにマイナポータルで何ができるか」というテーマに対し、1次選考(書類選考)で「解決したい課題」や「解決手段となる製品概要」を決めます。その後、2次選考時に「ターゲットの思考を考え、こういった製品にしていこう」というようにブラッシュアップしていきます。さらに、審査委員に想いを伝えるべく発表内容を作成していきます。
【ストーリー担当体験記】
今回、私はストーリー担当としてチームに参加しました。まずはストーリー担当の視点で、振り返っていきます(開発担当視点での体験記は次パートで掲載しています)。
ストーリー担当は、課題やターゲットを設定し、そこから製品概要をデザインしていきます。さらに、その想いを伝える発表内容も作成していきます。
リーダー1名と、リーダーとともにディスカッションや資料作成等を行うメンバー2名の体制でハッカソンに臨みました。
〈参加前の不安〉
私は普段の業務では、データ分析業務における分析設計等をメインに行っています。今回はテーマがプロダクト開発、なおかつハッカソン参加自体が初めてということもあり、下記のような不安を抱いていました。
・分析設計業務で培った「論理的思考」「課題解決能力」を活かせるのか
・自身の考えを上手く伝えられるか
・分かりやすく魅力的な資料が作れるか
〈取組内容と苦労した点〉
1次審査通過という結果を受け、以下のような流れで活動していきました。多くの苦戦事項とともにご紹介します。
・今回のテーマに関して事前調査
私たちのチームでは「リスキリング」関連のサービスを開発することになりました。しかし、各自の考える「リスキリング」が微妙に異なっているとチーム内でのすれ違いが発生します。そこでまずはリスキリングに関する事前調査を実施し、チーム内で定義の共有を図りました。(隣の方とリスキリングの説明をし合ってみてください。微妙に異なること、あるかもしれません)
・各自でストーリーラインを作成、持ち寄ってディスカッション実施
今回のサービスにより実現したいビジョン、そこに登場する人々、今何が困っているのか、そんなことを想像しつつ、プレゼン(今回は2分間のピッチ)時のストーリーラインを各自で作成しました。実現したいビジョンが異なるとその調整に時間を要しますが、今回は3名とも共通したビジョンを描けていたため、順調に進みました。
・2分間で何を伝えるか、締切ぎりぎりまで話し合い
今回最も苦労した点の1つです。3名とも様々なことを想像してしまい、何度やっても2分間のピッチに収まりきりません。主催者側が求めいていること、我々が最も伝えたいことといった観点で「絞り込む」ことを締切ぎりぎりまで行いました。
・開発担当と連携を行い、デモ画面等における認識相違がないよう工夫
2分間の中ではデモ画面も盛り込む必要があります。ピッチ内容のディスカッションが白熱する中で、どういったデモを作成すればいいのか、オーダーが二転三転してしまいました。本来は内容をある程度固めてからデモ開発ですが、ここが期間が限られるハッカソンの難しいところです。そんな中でもストーリー担当と開発担当が頻繁にコミュニケーションを取ることによって大きな戻り等はなく、なんとか完成までたどり着きました。(加えて開発担当の仕事スピードが早い!ここに助けられました!ありがとうございました!)
〈参加後、振り返って〉
そのような濃厚な5日間を過ごし、最終的に「審査委員特別賞」という素晴らしい賞を受賞することができました。終わってみると、ビジョンを共有しそこに向けてアイディアを出し合っていく過程を楽しめていたと思います。参加前に抱えていた不安はどうなったのでしょうか。
・分析設計業務で培った「論理的思考」「課題解決能力」を活かせるのか
大いに活用できました。普段の業務である「データ分析」と今回の「プロダクト開発」、内容は違えど誰の何を解決していくのかといった捉えるべきポイントは共通しており、普段の業務で培ったものは無駄ではないという確信が持てました。
・自身の考えを上手く伝えられるか
こちらもしっかりと伝えることができました。自分なりのストーリーラインを作りそれをぶつける、普段から得意としていることがこの場でも実践でき、自信へと繋がりました。
・分かりやすく魅力的な資料が作れるだろうか
こちらは不安が的中しました。幸いデザイン性のある資料作成が得意なメンバーがおり、助けられました。ただし、こういったメンバーと共にタスクを行い、その思考回路に触れることで感覚を養うことができました。しっかりと今後に繋げたいと思います。
【開発担当体験記】
開発担当の一人として参加した林です。普段の業務では、生成AIを活用した社内施策に取り組んでいます。
開発担当はストーリー担当からの依頼を受け製品のデモを開発、デザインした製品を具現化していきます。
〈参加前の不安〉
今回のハッカソンでは、Flask+Jinja2+bootstrapで開発に取り組みました(※FlaskはPythonがもつWebフレームワークの一つです)。Pythonの利用経験はあるもののWebアプリを作成したことのない私は下記のような不安を抱いておりました。
・GitHubのコマンドで詰まらないだろうか ※Git,GitHubを使ったチーム開発は初めてであったため
・メンバーの開発スピードについていけるのだろうか
・自分の書くソースコードは汚くないだろうか
〈取組内容と苦労した点〉
開発担当は下記の体制でハッカソンに臨みました。
・デモアプリ開発リーダー:1名
・デモアプリ開発メンバー:2名(林含む)
・デモ動画開発担当:1名
デモアプリ開発部隊としては下記の流れで作業を進めました。
・デモアプリ開発に使うプログラミング言語、フレームワークの選定
メンバーの経験からPythonが選ばれました。Webアプリのフレームワークでは、streamlitやdjangoも話題に上りましたが、画面デザインの自由度と学習コストの低さでFlaskが採用されました。
・選定した言語、フレームワークの知識を事前学習としてキャッチアップ
下記の教材を用いて、各自キャッチアップを行いました。教材を揃えるとメンバーがもつ理解度の最低ラインができるため、エラー解決の相談で必要なコミュニケーションコストが低くなりました。
初心者でも安心!Python + Flask によるビジネスに役立つWebアプリ開発入門(Bootstrap 5) | Udemy
サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
・デモアプリ開発に必要な環境を各自のPC上に構築
キャッチアップに使用したUdemyの動画内に、Flaskを用いた開発環境の構築方法があったため、スムーズに行うことができました。
・ひたすら開発(締切が近づくにつれ集中力UP)
今回のハッカソンではアイディアの大枠が固まっており、必須となる機能やデータの存在有無が見えている状態で進めることができました。そのため、私のタスクはDBへ登録するデータを整備することを通して、git/githubに慣れていくことから始まりました。機能や扱うデータが見えていた反面、画面デザインや誘導設計はビジネス側の熱い議論が続きました。締切ギリギリまで変更作業が求められる中で、デザインの変更が簡単な点を伝えること、変更に素早く対応できるように再利用できるコードを把握しておくことが重要なポイントになりました。
メンバーの充実したサポートがあったため、初参加でも苦労は少ないハッカソンとなりました。しかし、プライベートでも積極的にプログラミングを行っているメンバーと比べると、コーディングの速度が遅かった点は悔しい思いをしました。また締切間際に、もう一つ画面があった方がいいな!と意見が出たときは焦りました。しかし、平野さんのchatgptにコーディングを任せてみる判断で乗り切ることができました。chatgptの有用性は高く、序盤から活用しなかったことは反省点です。
〈参加後、振り返って〉
参加前は技術的な不安を抱えていましたが、分からない点はGoogle検索の活用や、メンバーへ質問をすることで問題なく対応できました。
振り返ると、開発作業はハッカソン期間前から進めていました。しかし、より良いものを作ろうとするチームの共通意識があったため、ストーリー担当の活発な議論と共に、開発側も締切ギリギリまでデザインの修正作業等を行いました。
初参加したハッカソンは、日常業務で関わることが少ない先輩方の人となりを知る良い機会でもありました。とても楽しく、受賞したことで自信にもつながる経験となっています。
業務で扱うことの少ない技術を積極的に試せる機会であるため、ハッカソンは今後も参加していきます。
【最後に】
ハッカソンという取組を通じ、ストーリー担当/開発担当ともに自信や経験を短期間で獲得することができました。
「自分はちゃんと成長できているのだろうか」と不安に感じている方、ぜひハッカソンにチャレンジしてみてください。様々な形式があるかとは思いますが、1名でも参加できるハッカソンもあるはずです。
チャレンジの結果、何かが変わるかもしれません。