MIXI DEVELOPERS
📊

MagicPodヘルススコアの全社統合分析用ダッシュボードを作成してみた

2024/12/24に公開

背景

株式会社MIXI(以下、MIXI)は2021年8月にMagicPodを導入し、2024年12月現在3年と4ヶ月が経過しました。
今までMagicPodの運用は各事業部に任せっきりで、全社横断的に運用状況を把握することができませんでした。
インプロセスQAとして実務を行なっていた私ですが、2024年10月より横断的にMagicPodに関する支援を行うことになったので、まずは全社把握を行うことにしました。

自動テスト評価に関して、MagicPodでできること・できないこと

MagicPodの「プロジェクト」について

前提として、MagicPodには「プロジェクト」という単位があります。これは、1つのアプリ、Webサイトに対し1つのプロジェクトという単位です。なので、1つの事業に対して複数プロジェクトが存在する場合が多いです。
また、プロジェクト毎に必要なメンバーだけを招待する仕組みなので、関わりのない事業のプロジェクトのページは閲覧できません。

MagicPodの「ヘルススコア機能」について

MagicPodによる自動テスト運用の健全性を測定するヘルススコア機能が提供されています。
ヘルススコアはプロジェクト単位・100点満点で、複数の評価項目から成り立っています。
運用の健全性を同じメトリクスで比較できるので、把握や支援の目標設定に利用することにしました。

ヘルススコアは、プロジェクトページの「アナリティクス」タブからアクセスするか、MagicPod APIで取得することで閲覧できます。

MagicPodサイト API
取得方法 プロジェクトページの「アナリティクス」タブからアクセス https://app.magicpod.com/api/v1.0/doc/ [1]
取得範囲 過去90日間 かつ 対象プロジェクトのスコア限定 取得情報をデータベースに蓄積すれば、蓄積環境構築以降好きな期間で複数プロジェクト比較可能
評価項目毎のスコア推移 なし(最新スコアしか表示されない) 可能
取得権限 プロジェクトに所属しているユーザー限定 組織所有者など、全プロジェクトに参加しているユーザーのAPIトークンを利用すれば全データ閲覧可能

全社把握の観点で、MagicPodサイト上のヘルススコア情報は以下が行えません。

  • 複数プロジェクトを跨いだ把握
    • 特定プロジェクトを平均化して、事業として把握する
    • 複数プロジェクト間の比較をする
  • 分析情報の社内公開
    • プロジェクトに所属していない人も閲覧できる
    • MagicPodアカウントを持っていない人も閲覧できる

「複数プロジェクトを跨いだ把握」は全社把握そのもののために、「分析情報の社内公開」は情報の透明性を高めるために重要です。
MagicPodサイト上のヘルススコア情報は各プロジェクトに紐づくページなので、特定プロジェクトの運用健全性を表現するのが目的となっており、これらが達成できないのは当たり前かもしれません。

ヘルススコアを全社的に統合分析したいのですが、MagicPodサイト上のヘルススコア情報では実現できないため、APIを利用したMIXI専用のMagicPodダッシュボードを作ることにしました。
データウェアハウスはBigQueryとGoogleスプレッドシート、ダッシュボードツールはLooker Studioです。

MagicPodダッシュボードの完成形

まずは結論から。下記スクリーンショット通りの形になりました。

MIXI横断 事業毎の確認用

ダッシュボードは分析視点に合わせて2ページ用意

閲覧する立場・分析の切り口に合わせて2ページ用意することで、適切に情報を取得できるようにしました。

ページタイトル MIXI横断 事業毎の確認用
想定する利用方法 全社平均の把握, 事業間の比較 特定事業の把握
分析軸(ディメンション) 全社 or 事業 事業 or プロジェクト

独自に定義したもの

APIで提供されないが分析上必要な情報は、Googleスプレッドシートで定義・管理しました。

プロジェクト一覧

組織に存在するプロジェクト一覧をAPIから取得することができず、システム上自動で全てのプロジェクトに追加されるのは組織所有者の1人だけで、何もしなければ組織所有者以外はプロジェクト一覧を把握できない状態になっています。また、把握の後に技術的な支援を行うことも考えると、全プロジェクトに参加したいところです。
まず、全プロジェクトに追加するよう組織所有者に依頼し、組織の利用状況ページ[2] > 現在のプロジェクト数 と自分の所属プロジェクト数が一致することを確かめて全プロジェクトへの参加完了としました。
そして、プロジェクト名一覧をGoogleスプレッドシートに転記し、以下の情報と共に管理しています。

プロジェクト種類

プロジェクト毎に「モバイル」「ブラウザ」どちらかの値を設定しています。
MagicPodでプロジェクト作成時設定する「プラットフォーム」と一致しています。
モバイルとブラウザで、MagicPodで用意されたステップが異なりますし、実装方法や考え方も異なるので、分けて分析できるよう定義しました。

プロジェクトが属する事業情報

事業毎にグルーピングできるように、プロジェクトと事業を紐づけて管理しています。
また、ダッシュボード上で意味のある順列にするため、事業部順などでソートした並び順も持たせています。

ダッシュボード内容の詳細

閲覧者が使用可能なフィルタ


Looker Studioでは、コントロール[3]を配置することで閲覧者にフィルタ機能を提供することができます。具体的には以下項目のフィルタを行うコントロールを配置しました。

  • 期間
  • プロジェクト種類
  • 事業
  • プロジェクト
  • ヘルススコア範囲

「ヘルススコア範囲」はスコアが低い・高いプロジェクトに絞って閲覧するためのスライダーで、MIXI横断ページ限定で配置しています。

グラフ


ダッシュボードの主要素です。視覚認識しやすいよう、グラフを多用しました。

ヘルススコア平均推移

選択されているプロジェクト全ての平均を出しています。

事業/プロジェクト毎のヘルススコア平均推移

事業/プロジェクト間の比較を、時系列で行うためのグラフです。

指標ごとのスコアと満点との差平均

どの指標の改善に取り組めば良いか一目で分かるよう、満点との差を積み上げグラフで表現しました。
例えば、満点の差が同じ10ptでも配点が50の指標と15の指標では、前者の改善に注力すると効果が高いです。注力すべき指標の「満点との差」の面積が広くなるため、直感的に理解できます。

事業/プロジェクト毎の指標の満点割合

指標それぞれを事業/プロジェクト間で比較するため、満点との差をパーセンテージで表現しています。
レーダーチャートにすることで、理想に近い形か否かで把握できるようにしました。

その他

指標

情報を端的に表す値をそのまま載せています。

  • 導入事業数
  • プロジェクト数
  • 事業/プロジェクト毎の、ヘルススコア, 指標毎のスコア 一覧表

参考情報

様々な人が見ることを想定して、必要な情報を載せています。

将来載せたい情報

以下は情報が取得できるようになったら載せたい情報です。
全てMagicPodに要望進行中です。

プロジェクト数の推移

全社把握の観点で、導入できる事業にMagicPodが浸透しているか、事業の増加に合わせてMagicPodプロジェクトも増えているか を把握するため、プロジェクト数推移を計測する必要があります。
現状ではプロジェクトの作成日と削除日をGoogleスプレッドシート上で手動管理しているので、グラフもGoogleスプレッドシートで作成しています。


トライアル時期を含む、プロジェクト数の推移グラフ

ユーザー数の推移

ヘルススコアに「十分なメンバーの参加」評価項目がある通り、自動化の継続にはより多くのメンバーを巻き込むことが重要です。ただ、評価項目別のスコアでは算出に使用された実際の値、つまり具体的なメンバー数を把握することができません。
「十分なメンバーの参加」評価項目のスコア推移だけでなく、具体的なメンバー数の推移も注視していきたいです。

ダッシュボード作成で学んだこと

Looker Studioでのダッシュボード作成どころか、全社横断でのデータ分析自体初めてだったので、学ぶことが多かったです。

データエンジニアとの協力は必須

横断支援を始めるにあたり「まずは把握することから始めよう、そのためにダッシュボードを作成しよう」と決めていました。データ活用の技術が私には全くないので、データエンジニアへの相談が第一歩であることも自ずと決まっていました。
弊社にはデータ分析のスペシャリスト集団、「データグループ」が存在します。
https://mixil.mixi.co.jp/product/16240

相談する前にデータグループ独自のMagicPod情報集約プロジェクトが進んでいて、データウェアハウス(BigQuery)、ダッシュボードツール(Looker Studio) の試作品が出来上がっているという状態で、情報のキャッチ力とスピード感に圧倒されました。
改めて協力の依頼をしてデータグループとQAのMTGをセッティング、以下の情報を準備した上ですり合わせを行いました。

  • MagicPodとは何か、何ができてAPIからはどんな情報が取得できているのか
  • ヘルススコアの現状の利用状況と、今後の展望
  • ダッシュボード要件と、必要なデータ項目

MTGの結果、必要なデータ項目のうちMagicPodから提供されていないものはどれかをクリアにすることができました。

さらに、社内公開されているデータ活用のガイドラインを読んだりグラフ表現に関するアドバイスを受けたことで、ダッシュボードの質を高めることができました。

改善前 問題点 改善後
y軸が20から開始している 比較的小さな変化を、重大な変化であるかのような印象操作をしてしまう[4] y軸を0から開始させる
評価ごとのスコアと満点の差の表現が、帯グラフ(100%積み上げ棒グラフ)になっている 評価によって配点が異なる=評価によって改善した場合の全体スコアに対する影響度が異なることが、表現できていない 100%に引き延ばさない、通常の積み上げ棒グラフにする

デジタル庁のダッシュボード資料が有用

今回は先に試作品が存在していたので、独自の方法で要件をまとめ、直接Looker Studioの実装をブラッシュアップしていく進め方でした。ですが、一般的には要件の整理、プロトタイピング、実装と段階を踏んでいくのが良いでしょう。

その際に参考になるのが、デジタル庁資料・ダッシュボードデザインの実践ガイドブックとチャート・コンポーネントライブラリ(ベータ版)です。
プロセスや情報表現について詳しく書かれていて、ダッシュボードに関する知識を得ることができますし、要件定義ワークシートとプロトタイプ用ライブラリを利用することで、「どんな理由でどんな情報が欲しいのか」「どんな表現をしたいのか」を適切に伝えられるはずです。
次の機会があればこの資料を使って要件定義、プロトタイプ作成をしたいと思います。

ダッシュボードから把握できたこと

導入から活用のフェーズに移行している

ダッシュボード作成のためプロジェクト一覧を用意したことで、社内の導入事業数を割り出すことができました。MagicPodのサポート環境と一致する開発環境の事業内では導入率約75%で、未導入の事業にヒアリングしてみると存在は知っているが理由があり導入していない場合がほとんど。社内の認知率は高いことが分かりました。
ヘルススコアの推移グラフを見ても、全プロジェクトがヘルススコアが極端に低いまま動かない事業はありませんでした。ヘルススコアが変動している、つまりMagicPodを利用していることは確かです。

これらより、社内にMagicPod導入事業を増やすフェーズから、社内の導入事業の中でMagicPodによる自動テストの品質を上げていく、MagicPod活用を推進していくべきフェーズにいると言えます。

https://speakerdeck.com/ayano9957238/magicpod-utilization-and-automated-test-promotion?slide=18
このスライド18枚目では

導入から活用へのステップアップができた!(と、思っています)

という根拠のない言い方をしていますが、これらのデータを根拠にできそうです。

全社平均はオレンジ、自動テスト品質に伸び代あり

全社平均のスコアは、計測開始から今までスコア評価3段階のうち2段階目のオレンジゾーン内で推移しています。

ダッシュボードにより、オレンジ=MagicPod運用基盤はできているけど改善点がある状態 ということが視覚化されたのは大きな収穫でした。
MagicPodに関する支援活動の必要性の説明材料になりますし、活動の目標を「まずは全社平均をグリーンにする」と定めることもできました。

現在は事業毎の比較情報を元に、どの事業からどんな支援を行うべきか検討をしています。

ダッシュボード公開後の反応

ポジティブな反応としては

  • 見やすいし色んな絞り方があって使えそう
  • 事業毎に比較したら「うわっ、私のヘルススコア、低すぎ…!?」みたいな気づきがありそう
  • 誰でもアクセスできるのがすごい

という意見をいただきました。狙い通りで嬉しい限りです。

ダッシュボードのレビュアーからは

  • 「十分な数のメンバーがプロジェクトにいるか」評価項目で、4人以上で満点になるのはなんでだろう
  • 採点基準に納得できないチームが出てくるかも?

という意見がありました。
MagicPodヘルススコアに対する関心が高まるほど同様の疑問が出てきそうです。MagicPodヘルススコアの解説記事を用意することで対応しています。

これから

ダッシュボード作成はあくまでも把握のためなので、これをどう活かすかは各事業次第であり、私の支援次第だと思っています。

どの事業も専任を設けず、テスト活動の1つとしてMagicPodによるテスト自動化を行っているため、改善のための工数を割けず支援は困難であることが予想されます。
各事業のQAと連携を取り、焦らずじっくり改善を進めていきたいと思います!

ヘルススコアの活用や社内複数チームでのMagicPod活用に困っている方の参考になれば幸いです。
ここまで読んでいただきありがとうございました!

脚注
  1. 公式ヘルプ:使用方法 ↩︎

  2. https://app.magicpod.com/orgs/組織名/usages/ ↩︎

  3. 公式ヘルプ:About controls ↩︎

  4. 誤解を与える統計グラフ(ミスリーディンググラフ) > 途中で切ったグラフ に該当してしまうと思い、変化を誇張したい意図もなかったので変更しました。 ↩︎

MIXI DEVELOPERS
MIXI DEVELOPERS

Discussion