doilux’s tech blog

ITに関する備忘録。 DDP : http://doiluxng.hatenablog.com/entry/2018/01/01/195409

改善を進めたかったらダッシュボードが必要だった

今関わっているシステムはファーストリリースを終えて、スプリントを回しながら改善・機能追加していくフェーズに入りました。 最初の頃は改善がうまく進みませんでしたが、ダッシュボードを導入して一気に改善が進みました。

※ちょっと抽象的な記述が多いですがご容赦ください。

ダッシュボード導入前の状況

  • ビジネス部門から気になる数値進捗の案件の情報が共有される
  • ↑を調査する(ここですごく時間がかかる)
  • 調査結果をもとに仮説をたてる
  • 評価環境で検証する
  • 「気になる箇所」は改善したが副作用で違う問題が、、、
  • 調査をやり直すと別の怪しい箇所が。。。
  • ↑の繰り返しで全然改善進まないorz

上記の状況において、"気になる箇所の詳細を調査する"ことの時間短縮を図る目的でダッシュボードを導入しました。

ダッシュボードの導入とその効果

システムを分析し、いくつかの指標を定めて見える化しました。ちなみにここで書いている「指標」はCPU使用率とかいったシステムのメトリクス(もちろん、これらも見える化しています)ではなく、もう少しサービスよりの指標です。

作ったダッシュボードを朝会で確認するようにしたところ、以下の効果が得られました。

調査時間の短縮

システムのどの部分に改善の余地があるかがすぐにわかるようになりました。これで調査にかかっていた時間が大幅に短縮されました。

イレギュラーなのか改善すべきなのかがわかるようになる

今までは「木をみて森をみず」だったので、怪しいデータがあったときにシステムで対応すべきものか、サービスレベルを超えたものなのかが判断できませんでした(結果、イレギュラーを救おうとして失敗したことも) ダッシュボードですべてのビジネス案件を一つのボードで見える化したことにより、対応すべきものとそうでないものがはっきりわかるようになりました。

施策の目的を定めやすい

施策を打つときには、「どういう状態になれば成功したと言えるか」を定める必要があるかと思います(成功定義、これを満たせない場合は切り戻しの対象になる)ダッシュボード、もとい指標をさだめることで、「この指標が改善したら成功」といったような成功定義がやりやすくなりました。

次にダッシュボードを作るための個人的なおすすめを書きます。

Stackdriver Logging + BigQuery + Tableau

cloud.google.com

個人的にこの技術スタックがオススメです。アプリケーションは指標の基になるデータをログに吐き出してStackdriver Loggingに集約、エクスポートの機能で該当するログレコードをBigQueryに連携、最後にTableauで可視化します。特定のデータを深掘りしたくなった場合は、BigQueryの検索結果をGoogleスプレッドシートにエクスポートして分析しています。

また、Stackdriverの「ログベースの指標」を使ってダッシュボードを作ることもできます(さらに、この指標をもとにしたアラートも設定できます。この機能もめっちゃおすすめです)個人的には、一時的に計測したい指標はこの機能で可視化し、指標の有用性が確認できたらTableauでダッシュボードに組み込む、といった使い方がアリだと思います。

Looker

looker.com

最近気になっているやつです。某M社が採用しているらしい。どうでもいいですが、Loocker社のカスタマーサポート部門の名称はCustomer Love, Dept(カスタマー・ラブ部)らしい。

まとめ

改善をすすめるためにはダッシュボードが必要でした。ダッシュボードがあれば施策の手も打ちやすくなるし、成功定義もその確認もしやすくなっていいこといっぱいあります。さあ、ダッシュダッシュボードをつくろう!!