ムーンショットな OKR 達成を支援するサービス「Elevia」
この記事について
- 第2回 AI Agent Hackathon with Google Cloud 提出用の記事です。
- 一言で表現すると、生成 AI による OKR 作成アプリを作りました。
- コードは Github に公開していますので、興味があればご覧ください。
作成した Webアプリの概要
利用の流れ、機能説明
利用の流れとともに、簡単に機能を説明します。
- かなえたい夢や目標と、その達成期限を入力
達成期限は最低でも 5 年後としています。「10x な成長によって、今の自分からは想像もできない景色を見るための OKR を作る」ということをコンセプトにしており、達成に 5 年以上はかかる壮大な夢を入力してほしいためです。
- 生成AIが現状や志向性などをヒアリング
なぜその目標を達成したいのか、関連する経験や知識、価値観や優先順位など、ユーザーの現状や志向性を深掘りするための質問を投げかけます。
また、オープンな質問ではなく選択肢を投げかけることで、答えやすいようにしています。
-
ヒアリング内容をもとに、カスタマイズされた OKR が作成される
-
作成された OKR を確認、編集
OKR は年次と四半期のそれぞれが作成されます。最終的な夢に対して、段階的に進捗を確認できます。
デモ動画
- Youtube のリンクです。
対象とするユーザー像と課題
ユーザー像
- 10x な成長によって、今の自分からは想像もできない景色を見たい人
課題
- ワクワクする目標が立てられない
- 目指したいなんとなくの将来像はあるが、具体化できていない
- 長期 OKR と足元の KPI の紐づけがうまくできない
私は 5 年ほど前に個人 OKR を 作成し、今もブラッシュアップしながら継続してメンテナンスしています。OKR という概念の理解含め、自分にとってシックリくる OKR を作ることって難易度が高いよなと思っています。そこで、この 5 年にわたる運用経験を詰め込んだアプリを作ってみたいと思いました。
このアプリにおける OKR の考え方
現時点ですべて反映できているわけではまったくないですが、このアプリでは以下のようなものを意識した OKR を作ることを狙っています。
OKR
- 5-10 年の長期に渡るムーンショットレベルの成長を目指すもの
- 日々の着実な成長というよりは非連続の成長を志向
O は目標
- 「自分は何を目指したいのか」この問いに対する答えが、目標
- 野心的だが現実的 (に思えるように分解したりする)
- 70% の達成が良い
- 期限が明確
- 客観的で曖昧さがない (達成したときに誰から見ても明らか)
- 3~5 つ
- 「山を登る」、「パイを 5 つ食べる」、「Y という機能を実装する」など、到達点や状態を示す表現
- 具体的かつ困難なほどパフォーマンスが高まる
- とはいえあまり厳格にせず、自分の目指すべき方向が明確になって、アクショナブルな KR に落とし込めればヨシとする
KR は主要な結果
- 目標までの到達度をどのように測ればよいか。この問いに対する答えが、マイルストーン、すなわち成果指標
- その Key Results を達成すれば Object が達成できることになる成果 (not 活動)
- 定量的 (計測可能)
- 1 つの O につき、KR は 3 つほど
課題へのソリューションと特徴
-
一言で言うと、生成 AI による OKR 立案です。
-
対話によって、ユーザーの現状と志向性を生成 AI が把握します。
- それをもとにしたカスタマイズされた OKR を作成します。
- OKR を作らせるだけなら ChatGPT などを使えば簡単です。ただし、以下の課題があります。
- 自分個人の現状や志向が全く反映されず現実的ではなかったり、プロセスに魅力を感じない。
- 例えば「1億円稼ぎたい」という目標があるとして、、
- 「1 年目にまずは年収を 20% 上げる転職をしましょう」などという OKR が作成され得ます。(短期的には現実的ではない可能性がある)
- 30歳のエンジニアに対して、「経営者になって年間経常収益8,000万円を達成しましょう」といった OKR が作成され得ます。
-
OKR は一度作って終わりではなく、精緻化を続けます (残念ながら未実装です、、。)
- OKR 立案後も対話によって部分修正可能です
- OKR の達成度合いなど、結果を受けて計画を修正、精緻化します
技術面
技術面のはなしです。
アーキテクチャ
- フルスタック Next.js アプリを Cloud Run にデプロイしています。
- DB には Cloud SQL (PostgreSQL) を使用しています。
独特な感じですが Claude に出してもらったものをそのまま使いました。
ユーザージャーニー
ユーザー目線でのフローは以下の通りです。
技術スタック
- Next.js App Router
- Tailwind CSS
- Mastra
- Auth.js
- Drizzle ORM
Middleware で DB を用いた認証を行いたかったため、experimental な機能ですが Node.js ランタイムに切り替えています。
今後のロードマップ
作り直して機能も色々と盛り込み、個人開発サービスとしてリリースしようかなと、うっすら思っています。
- セキュリティ的に色々問題があるため、対応
- 生成される OKR の品質向上
- あったら良いなと思っている機能は以下のあたり
- 作成した OKR の生成 AI によるブラッシュアップ
- グラフによる OKR 間の関係可視化
- 月次、週次レベルへの落とし込み
- モチベーション維持
反省点
終盤まで、前回と同様に審査員の方がデプロイして動かすものだと勘違いしており、環境構築の再現性の担保として CI/CD やら IaC やらの整備に時間をかけすぎてしまいました。
結果として、このサービスのコアである「質の高い OKR 作成」などの機能強化に注力できませんでした。まずは要件の確認ですね、、。ただ、GitHub Actions による CI/CD において理解する必要のある Workload Identity Federation などに触れることができて非常に勉強になったので、個人としては圧倒的にプラスです。
Discussion