はじめに
こんにちは、株式会社 LegalOn Technologies 検索・推薦チーム エンジニア の 勝田 (WinField95)です。この記事では、先日実施した検索・推薦チームの社内ハッカソンについてレポートします。
「よし、みんなで楽しく開発合宿!」と行きたいところですが、なんと予算0円です。 急遽ハッカソンを企画したため、残念ながら予算を確保できていませんでした。
しかし、予算がないからといって開発合宿ができないわけではありません。遠方での合宿は難しいものの、やる気さえあればハッカソンは可能です。そこで、チームメンバー全員が通常業務を効率よく終わらせ、生み出した2日間を使ってハッカソンを実施しました。
社内ハッカソンを行う意義
ハッカソン(Hackathon)とは、「ハック(Hack)」と「マラソン(Marathon)」を組み合わせた言葉で、短期間で集中的に開発に取り組むイベントです。参加者は与えられた課題に対してアイデアを出し、ソフトウェアを開発します。社内ハッカソンを実施する意義として、以下のような点が挙げられます。これらの点を意識して開催することで、より良いイベントになると考えられます。
- イノベーションの促進
- 社員のモチベーション向上
- チームワークの強化
- スキルの向上
準備
質の高いハッカソンを実現するには、準備が重要です。 そこで、ハッカソン実施にあたり、以下の事前準備を行いました。
ネタ出し
ハッカソン実施前に、開発ネタを事前に書き出していました。ネタに特に制限は設けず、業務の延長線上のものから全く業務と関係のないものまでを対象としました。各自が好きなネタに取り組む形で開発テーマを決定し、同じネタに興味を持つメンバー同士でチームを組んでハッカソンに臨みました。 アイデア出しには「Miro」というマインドマップツール を活用しました。このツールは、普段の開発業務でも KPT法 を用いた振り返りや勉強会で使用しています。
使用するツールを準備する
事前にネタを出し、取り組む課題を決定した段階で、必要なツールについてある程度の見当がつきました。例えば、ChatGPT API を内部で使用するテーマがいくつかあったため、ハッカソン用のアカウントを用意しました。今回は2日間という短期間でのハッカソンでしたが、ツールの準備を怠ると、それだけで時間を浪費してしまう恐れがあると実感しました。
日程を決め、ハッカソン中の連絡体制を周知する
通常の営業日にハッカソンを実施するため、他のチームとのコミュニケーションに支障が出る可能性がありました。そこで、事前にステークホルダーの皆様に状況を説明し、ご理解いただくようにしました。
場所を決める
予算がないため、開催場所は本社オフィスかリモートの2択となりました。予算に余裕がある場合は、合宿施設を利用するのも良い選択肢でしょう。 ハッカソンの目的にはチームビルディングも含まれていたため、本社オフィスを会場として選びました。また、本社オフィスは渋谷のサクラステージにあり、周辺の飲食店が充実しているため、懇親会の開催にも適していました。遠方で働くメンバーも含め、全員が本社オフィスに集まって活動を行いました。リモートワークのメンバーについては、ハッカソン実施日と出社日を合わせることで、本社への移動費と宿泊費を捻出しました。
社内のステークホルダーを巻き込む
ハッカソンの成果を社内の有益な実績として残すため、チーム内にとどまらず会社全体に貢献することを目指しました。ハッカソンはブランディングにも効果的であるため、人事部門と広報部門と連携し、取材されることを前提とするイベントとして企画しました。このハッカソンの様子は、オープン社内報「LegalOn Now」にも記事として掲載されます。さらに、ハッカソン終了後、その実施内容と成果物について全社定例会議で報告を行いました。
「LegalOn Now」 の記事については、最終的に以下のようにまとめていただきました! now.legalontech.jp
ハッカソンの様子
ハッカソンは9月5日と6日の2日間で実施されました。メンバーの取り組み方は様々で、集中して黙々と開発を進める人もいれば、チーム内で活発に議論を交わすグループもありました。中間報告会を設けて開発途中の内容を共有し、互いに意見を出し合いました。また、各チームが直面している課題について、問題解決を試みる場面もありました。
サクラステージの執務室とMTGルームは、壁一面がホワイトボードになっています。 チーム内の議論に非常に役立ちました。
普段は全員フルリモートで働いているため、このハッカソンはオフィスへの出社も兼ねた交流の機会となりました。遠方から参加したメンバーも含め、チーム全体で親睦を深めることができました。検索・推薦チームでは、通常、出社のタイミングは各メンバーに任されています。ただし、チームビルディングのため、月に1回程度、全員で出社する日を設けています。これにより、定期的に対面でのコミュニケーションを図っています。
成果物の発表
2日間のハッカソンの最終日には成果発表会を開催しました。MTGルームに全員が集まり、各チームがプレゼンテーションやデモンストレーションを行いました。
ここで、ハッカソンで開発された成果物の一部をご紹介します。
契約ウォッチと連動する対話型AIツール
AIが質問に対して自ら判断し、関連するドキュメントを検索して回答を生成します。 このシステムの特徴は、ChatGPT API のFunction callingを活用し、GPT に検索基盤の API の呼び出しをさせている点です。「契約ウォッチ」とは弊社が運営しているメディアであり、企業の法務部や弁護士をはじめとした法務関係者の方々に、契約や法改正に関する最新情報を提供します。
Tech News Bot
技術関連のブログやニュースを収集し、Slack に投稿する Bot です。検索・推薦チームでは、技術記事を共有する習慣があります。この Bot はその作業の半自動化を目指しています。GPT を活用して記事のフィルタリングや要約を行っています。
その他の課題について
ハッカソンネタとして取り組んだ課題として、他には下記のようなテーマがありました。 テーマの中には OKR と関連したテーマもあり、ハッカソン期間中に Key Result を達成したものもありました。
- 検索機能のリランカーの作成
- Cloud Spanner で Embedding と 類似検索 を行う試み
- Indexer のスループット5倍増計画
- Cloudflare Workers で QueryAutoCompletion するための技術検証
- コンテキストを入れられる QueryAutoCompletion
- GraphRAG で法律文書をナレッジグラフにする試み
全社定例にて発信
LegalOn Technologies では毎週1回、全社定例会議が開催されています。 全社定例会議では、専用の Notion のページが用意され、Zoom を通して全社員向けの共有や発信を行うことができます。この場を活用し、検索・推薦チームがハッカソンを実施したことを報告するとともに、実際の成果物についてプレゼンテーションを行いました!
社内の反応は非常に好評で、大きな反響がありました!
発表後には、次回のハッカソンに一緒に参加したいという声も多数いただきました。
この機会を活用して全社的にハッカソンの成果をアピールし、社長に予算をおねだりしました。次回は時間に余裕をもって企画し、しっかりと予算を確保したいと思います。将来的には、ハッカソンを会社の文化として定着させることが私たちの野望です。
ちなみに、弊社には以下のような Value が定められています。これら Value は私たち LegalOn Technologies 社員の根幹をなすものであり、あらゆる行動の基準として活用されています。短期間で最大限の成果を目指すハッカソンは、これらの Value を見事に体現していたと言えるでしょう。
- We think big. We aim high.(思い切り大きな未来図を描く。)
- We embrace the future.(可能性を信じて前へ進む。)
- We delight customers.(お客様に驚きと感動を。)
- We have a bias for action.(常に「時の感覚」を持つ。)
- We take ownership.(オーナーシップを持ち、変化を楽しむ。)
- We build trust.(信頼関係を築く。)
各 Value に対応するイメージや絵文字も用意され、日常的に使われています。これは、Value を組織に根付かせるための工夫の一つです。日々 Value に触れることで、その理念が強化され、自然と身についていくようになります。今後もハッカソンを継続的に開催することで、Value を実践し、体現する絶好の機会となるでしょう。
参加メンバーからの感想
以下、参加メンバーの感想を紹介します。メンバーからは、普段触れない技術に挑戦する機会が得られたこと、日常業務から離れてクリエイティブな気分になれたこと、そして興味のあることに没頭できたことなどが挙げられました。
2日間で次々と動くソフトウェアが完成していったのは素晴らしい体験でした。 直接業務には関係しないものの、将来的に活用できる可能性のある技術を集中的に検証できたことは非常に有意義だと感じました。
素晴らしい試みでした。日常業務から離れて新しいものを作る機会として、またチームビルディングの観点からも有意義でした。 特に1日目の終盤に、メンバー間で「最近これやってたよね?どうやってたっけ?」といった活発な会話が交わされていて、普段リモートで作業している私たちにとっては新鮮な体験でした。
普段触れない技術に触れる機会となり、非常に有意義でした。 開発環境の事前整備が、本番でのスムーズな開発につながることを実感しました。
普段できないが、チャレンジしたいと思っていたことができて良かった。 2日間という制約があったからこそ、集中して取り組むことができたと思います。
2日間完全に業務から離れることで、クリエイティブな気分になれました。 普段触れない技術に挑戦し、限られた時間内で成果を出すというスリルが楽しかったです!
「おもしろそう」と思っていたアイデアの実現に没頭できて、とても楽しかったです。 わずか2日間という短期間でしたが、実用性の高い成果物が生まれて非常に良かったと思います。
長年温めていたアイデアをほぼ全て実現できて満足しています。 チーム全員のプロジェクトに大きな可能性を感じました。
また、CAIO (Chief AI Officer) の Zhu (Joe) Yiqing から ありがたいメッセージを頂きました。
2日間のハッカソン、大変お疲れ様でした。皆さんのレポートを全て拝見しました。短期間で発揮された創造力と完成度に驚きました。一部のアイデアは、かなりインパクトがありそうです。これらを実際の製品にどう導入するか、とても楽しみにしています。ハッカソンの成功、心からおめでとうございます。今後も定期的に開催しましょう!
今後行いたいこと
今回は急遽ハッカソンを企画したため予算を確保できませんでしたが、次回は予算を獲得して開発合宿を実施できればと考えています。予算確保には、ハッカソンが会社にとって有益であることを示す必要があります。そのため、ハッカソンの成果をチーム内だけでなく、会社全体に貢献できるよう調整しました。ハッカソン実施を全社に報告したところ、検索・推薦チーム以外の社員からも興味を持って頂くことができました。次回は検索・推薦チームに限定せず、さらに大規模なイベントとして開催したいです。
おわりに
検索・推薦チームは勢いに任せて社内ハッカソンを実施しました。結果として参加者の体験は非常に良好で、会社全体にも好影響を与えることができました。予算がない中でも、ステークホルダーを巻き込み積極的にアクションを起こしたことで、社内から高い評価を得られました。
謝辞
ハッカソンの成功は、検索・推薦チーム全員の熱意と協力なしには実現しませんでした。心より感謝申し上げます。情熱を持ってハッカソンを企画してくださった banbiossa さん、takuyaa さんに深く感謝します。また、ハッカソンの準備と実施に積極的に取り組んでくださった KosukeArase さん、jusui さん、smiyazato さん、maomao905 さんにも心から感謝します。 SREチームのkarahiyoさんと wreulickeさんには、ハッカソン中にインフラ面での相談に快く応じていただきました。お忙しい中、ご協力いただきありがとうございました。また、人事部の松本さんには写真撮影と本記事の写真提供のご協力をいただき、大変助かりました。CAIOのJoeさんには、急遽企画・実施したハッカソンを温かく見守っていただき、深く感謝しております。皆様のサポートなしには、この素晴らしい経験は実現しませんでした。
We’re Hiring!!
私たちのチームでは、一緒に働く仲間を募集しています。 ご興味がある方は、以下のサイトからぜひご応募ください。 皆様のご応募をお待ちしております。