STAR UPの開発をゲーミフィケーション化する「STAR UP QUEST」の取り組みと結果

Yuuki Tanaka

Yuuki Tanaka

CTO

はじめに

本記事は社内でゲーミフィケーションに取り組んだ事例をまとめたいと思います。

STAR UPでは現在、43名のエンジニアが10以上のプロジェクトに分かれて開発しています。

組織が大きくなる中で、いくつかの課題が見えてきました。

1つは、開発者体験の問題です。

日々のコミット、PR、レビュー、Issue対応などは、確実に価値を生んでいるのに、その実感を得にくい傾向にあります。

自分がどれだけアウトプットしているのか、他のメンバーと比べてどうなのか、定量的に見える場所がありませんでした。

もっと自発的にコードを書きたくなるような環境にするためにはどうしたらいいか?と考える機会が度々ありました。

もう1つは、チーム間のコミュニケーションです。

案件ごとにチームが分かれている以上、他のプロジェクトのコードに触れる機会はどうしても少なくなります。

異なるチーム間でのコミュニケーションを増やすことは、社内全体の開発力の向上だったり、問題の発見に繋がります。

案件を跨いだインタラクションをもっと積極的に増やすことが重要だと考えました。

この2つの課題に対して、GitHubやAWS上の開発活動データを使って、STAR UP内の開発そのものをゲーム化したら面白いんじゃないか? という思いからSTAR UP QUESTが生まれました。

設計過程

次にどういう思考で機能を設計していったのかをまとめます。

競える環境をつくる

エンジニアは、自分の成長や他者との切磋琢磨にモチベーションを感じる人が多いと考えています。

ただ、その比較軸がこれまでSTAR UP内に明確なものが存在しませんでした。

そこで、3つのレイヤーで競争を設計しました。

  • 個人間で競える
    • PR数・マージ数・レビュー数・コミット数などの指標を総合したポイントでランキングする
  • チーム間で競える
    • リポジトリごとにチームとして戦うアリーナ機能
  • 自分自身と競える
    • デイリークエストやログインボーナスで、昨日の自分との比較を促す

ここで、「数字を上げること自体が目的化する」しないことに注意しました。

例えば、空のPRを大量に上げたり、意味のないコミットを積んだりする行為に報酬を与えると意図していない開発行動につながってしまいます。

そのため、良い開発プラクティスに即していない活動はXP(経験値)が極めて低くなる仕組みにしています。

例えばコミットメッセージが「fix」「wip」だけの場合はXP倍率が0.3倍、逆にConventional Commits形式でIssue番号を参照していれば1.8倍。

PRサイズも50〜200行が最も高倍率で、800行を超える巨大PRは0.4倍にペナルティされます。(この範囲はGoogleの推奨値にしています。)

最近はAIによる、見かけ上質の高そうに見えるPRやレビューが増えてきているので、抜け穴がないように、ここのルールは定期的に見直しています。

ゲームを「攻略」しようとすると、自然と質の高い開発に収束する。この設計思想がSTAR UP QUESTの核です。

コミュニケーションを活発にする

ランキングや競争だけでなく、コミュニケーションそのものに価値を持たせる仕組みも設計しました。

  • Kudos(ありがとうを送り合うシステム)
    • 感謝を可視化し、チームを越えた関わりを促進する

Kudos — ありがとうを伝えたい人をタップして感謝を送り合う

  • 質問箱
    • 技術的な疑問を気軽に投げられる場を用意

質問箱 — 技術的な疑問を匿名で投稿し回答を集められる

報酬設計

ゲーム内の報酬として、開発活動によって貯まるチケットで回せるガチャを用意しました。

ゲーム内アイテムや着せ替えだけでなく、高レアリティを引くと現実世界で技術書等を購入できる仕組みにしています。

実は、高レアリティが出やすくなるガチャ演出なども用意しています。

ステータスの設計

STAR UP QUESTでは、開発者の活動を6つのステータスで多面的に評価しています。

単純な「コミット数」や「PR数」のような1次元の指標ではなく、開発スタイルの全体像が見えるように設計しました。

ステータス意味主な評価指標
Speed(突破力)PRを素早く出してマージする力PRサイクルタイムの中央値(指数減衰で評価)、レビューへの応答速度
Power(生産力)コード変更のインパクトPRサイズのスイートスポット(100〜300行が最高評価)、PR数(√で逓減)、Issue解決数
Defense(堅牢度)コードの品質を保つ力コミットメッセージの質、適切なPRサイズの割合、巨大PR(800行超)の有無
Intelligence(叡智)レビューの深さと分析力レビューコメントの平均文字数、CHANGES_REQUESTED率、レビュー対象リポジトリの幅
Charisma(結束力)他者を助け巻き込む力レビューした相手の多様さ、クロスリポジトリ活動、Issue参加
Endurance(継続力)安定して活動を続ける力アクティブ日数の割合、連続活動日数、日ごとのXPのばらつき(変動係数)

各ステータスは「量」だけでなく「質」も評価するように設計しています。

たとえばSpeedは「PRをたくさん出す」ではなく「PRのサイクルタイム中央値」で測ります。

1時間以内にマージされるPRが多い開発者は高スコアですが、48時間以上放置されるPRが多ければ大幅に下がります。

Powerも「大量のコードを書く」ことは評価しません。PRサイズが100〜300行のスイートスポットに入っているかを重視し、800行を超える巨大PRはペナルティになります。

XPの倍率設計も同じ思想です。コミットメッセージが「fix」「wip」だけなら0.3倍ですが、Conventional Commits形式でIssue番号を参照していれば最大で約2.7倍(1.5 × 1.2 × 1.5のコンボ込み)まで上がります。PRの説明欄にチェックリストや画像、テストへの言及があればボーナスXPが加算されます。

クラスの設計

6つのステータスのバランスに応じて、RPGのような「クラス(職業)」が自動的に決まります。

絶対的な閾値ではなく、自分自身のステータスバランスからの相対的な突出度で判定しています。

クラスが表すのはその人の属性であり、開発スタイルやメンバーとのコミュニケーションを活発にすることが目的だからです。

クラス条件
伝説の勇者全ステータス50以上、かつ平均60以上
聖騎士DEFとINTが平均の1.1倍以上で、その合計が他のどのペアよりも高い
狂戦士SPDとPOWが平均の1.1倍以上で、その合計が他のどのペアよりも高い
司令官CHAとINTが平均の1.1倍以上で、その合計が他のどのペアよりも高い
疾風の剣士SPDが最高かつ平均の1.2倍以上(または平均+8以上)
破壊の巨人POWが最高かつ同上
鉄壁の守護者DEFが最高かつ同上
叡智の賢者INTが最高かつ同上
絆の外交官CHAが最高かつ同上
不屈の鉄人ENDが最高かつ同上
冒険者上記いずれにも該当しない場合

珍しいクラスを持っている人がいると、それをきっかけに会話が弾むこともあります。

実際の画面

構想をもとに、社内Webアプリケーションとして実装しました。

GitHub Webhookでリアルタイムにイベントを受け取り、スコアリングエンジンが即座にXPやステータスに反映します。

ダッシュボード — レベル・6軸ステータス・今日のXP・最近のアクティビティが一覧できる

自分のレベル・6軸ステータス(Speed/Power/Defense/INT/Charisma/END)・今日のXP・コンボ数・最近のアクティビティが一覧できるダッシュボードです。

リーダーボード(能力値) — XPランキングとクラス表示

XPランキング。レベルやクラス(狂戦士・不屈の巨人など)も表示され、誰がどんな開発スタイルなのか確認できます。

リーダーボード(定量指標) — コミット数・PR数・レビュー数などで切り替え可能

コミット数・PR数・レビュー数・Issue数など、生の定量指標にもランキングを切り替えることができます。

スターフォージ(銀河マップ) — 全リポジトリを星に見立てた銀河マップ

Organizationの全リポジトリを星に見立てた銀河マップです。活動量に応じて星の大きさや色(レアリティ)が変わります。

スターフォージ(リポジトリ詳細) — MVP履歴やリポジトリ単位の実績

各リポジトリの詳細画面。MVP履歴やリポジトリ単位の実績が確認できます。

デイリーログインボーナス — 連続ログインで報酬が増加

毎日ログインするとチケットがもらえるログインボーナスです。連続ログインで報酬が増えます。

アチーブメント — 約335種類の実績と隠し実績

約335種類の実績があります。隠し実績(SECRET)もあり、条件を満たすと解放されます。

バトルアリーナ — メンバーと6軸ステータスで対戦

毎日ランダムにマッチングされるメンバーと6軸ステータスで対戦します。勝率や対戦履歴も記録されます。

ガチャ — チケットで回せるガチャ、天井やレアリティ確率が明示

開発活動によって貯まるチケットで回せるガチャです。シークレットが当たると開発に関係するプレゼントがもらえます。

結果

2026年3月に社内展開し、導入前5ヶ月(2025年10月〜2026年2月)と導入後5ヶ月(2026年3月〜7月)で、GitHub Organization全体の活動を定量的に比較しました。

対象は43名・118リポジトリです。

開発活動量

指標導入前(月平均)導入後(月平均)変化
PR作成数492.4799.0+62.3%
PRマージ数452.2731.2+61.7%
Issue作成数208.8559.4+167.9%
Issueクローズ数182.0423.6+132.7%

PR上のコミュニケーション量

指標導入前(月平均)導入後(月平均)変化
PRあたりコメント数0.37件1.26件3.4倍
レビューコメント総数222.2件524.6件+136%

数字だけ見ると非常にポジティブですが、「この結果は全てSTAR UP QUESTの成果です」と言い切れるわけではないと考えています。

反証仮説の検証

考えうる反証仮説を1つずつ検証しました。

「人が増えたから増えただけでは?」

導入前後でアクティブなPR作成者数は月平均32.4人→24.2人とむしろ減少しています。

新たにPR上でコミュニケーションを始めたメンバー16人の内訳を調べたところ、50%にあたる8人は導入前から在籍していたがコミュニケーション活動をしていなかった既存メンバーでした。

人が増えたのではなく、既存メンバーの行動が変わったと言えます。

「新しいリポジトリが立ち上がっただけでは?」

こちらは部分的には当たっています。

導入後に新規リポジトリが6つ立ち上がっており、これがPR・Issue数を押し上げている面はあります。

ただし、導入前から存在するリポジトリ(archaive-pj)でもPR上のやり取りが+82%増加しており、新規リポだけでは説明できない変化が起きています。

「AIツールの影響では?」

AIツール(Claude、Codexなど)のスキル化により、開発生産性が上がっているのは確かです。

これらの影響もかなり大きく寄与していると言えます。

ただAIツールを使っているとはいえ、良い開発プラクティスに即した行動が増えていることは確かです。(全体の経験値が増えているため。)

また、STAR UP QUESTの経験値を増やすために、スキルをブラッシュアップしているようなメンバーも度々見かけています。

これは開発組織全体としてアウトカムが増えているため、良い傾向であるのではないかと考えています。

「もともと増加トレンドにあっただけでは?」

導入前5ヶ月のレビュー件数は月平均3.0件で完全に横ばいでした。

それが導入月の3月に43件へ急増しています。自然なトレンドでは説明できない、不連続な変化です。

注意点

万全チームに均一に効果が及んだわけではなく、ゲーミフィケーションがほとんど浸透していないリポジトリも存在します。

それでも、強制なしに、既存メンバーの行動が変わったという事実は、ゲーミフィケーションの動機付け効果を示す一定の証拠だと考えています。

今後

STAR UP QUESTが本質的に目指しているのは、開発が楽しいと感じられる環境を作ることです。

利用がアウトカムにつながっているか、という点はまだまだ改善の余地があります。

ただ、ゲーミフィケーションという仕掛けを通じて開発者体験に正面から向き合ったことは、組織として意味のある一歩だったと考えています。

今後も適宜フィードバックを得つつ、システムの改善を行なっていこうと考えています。

Yuuki Tanaka

Yuuki Tanaka

CTO

// we are hiring

STARUPで一緒に働きませんか?

こうした技術的な挑戦を一緒に楽しめる仲間を募集しています。

採用情報を見る →