Upgrade to Pro — share decks privately, control downloads, hide ads and more …

開発者生産性指標の可視化 / pepabo-four-keys

KONDO Uchio
February 07, 2022

開発者生産性指標の可視化 / pepabo-four-keys

KONDO Uchio

February 07, 2022
Tweet

More Decks by KONDO Uchio

Other Decks in Technology

Transcript

  1. 2 自己紹介 技術部 データ基盤チーム/技術基盤チーム シニアプリンシパル 2013年 入社 近藤宇智朗 Uchio Kondo (@udzura) 駆け出しデータ基盤エンジニア、シニアシレンジャー。

    • PythonよりRubyが得意... 最近はRustが好き • GCP, BigQuery, Cloud Run • 好きなYouTubeチャンネルはやんちゃクラブ • 福岡三大うどんは資さんうどん過激派です 福岡在住
  2. 9 Four Keys とは SRE - トイルのトラッキング (https://cloud.google.com/blog/ja/products/gcp/identifying-and-tracking-toil-using-sre-principles) > トイルに割かれる

    SRE 1 人あたりの時間を 50% 未満に抑え、 > 残りの 50% をエンジニアリング プロジェクトの作業用に確保する リーンとDevOpsの科学 開発チームの生産性を測るための様々な指標の解説 Four Keys (https://cloud.google.com/blog/ja/products/gcp/using-the-four-keys-to-measure-your-devops-performance) > DevOps Research and Assessment(DORA)チームが実施した 6 年間の > 研究から、ソフトウェア開発チームのパフォーマンスを示す 4 つの指標が > 確立されました。 生産性の計測
  3. 14 開発活動データのETL GitHub (Enterprise Server) の活動データを軸にすることにした。 以下のようなデータが取得できます : • Issue

    (P/R) の作成数、コメント、紐づいたイベント、クローズ時間 • Commit の内容や回数 • Release の作成数 • GitHub Actions に関する情報(回数、成功失敗、経過時間) … 生産性指標のソースデータ
  4. 17 Dashboard as Code 皆さんもダッシュボードは作っているとは思いますが ... 問題1: ダッシュボードの内容を共有できない • どういうSQLか、レイアウトは、などなど

    エクスポートしたりシェアするのが面倒なことが多い 問題2: ダッシュボードの変更履歴、構成などが管理できない • うっかり壊した際の復元はどうすれば? 退職者が出たら? どのチームがどれくらいダッシュボードを作ってる? など一覧できない 「可視化」にまつわるダッシュボード問題
  5. 18 Dashboard as Code 問題の内容が、インフラの構成管理と似ているため、 コードで管理するというアプローチを取れないか? Streamlit のことを知る • Streamlitとは:

    ◦ 様々なグラフ描画ライブラリに対応した Webフレームワーク ◦ 宣言的なコードを書くとダッシュボードが作れる ◦ Python 製、類似したフレームワークにDashなどがある • https://streamlit.io/ Dashboard as Code と Streamlit
  6. 20 Dashboard as Code • ほぼ @tosh2230 の記事の通りの構成: ◦ https://ts223.hatenablog.com/entry/gcp/cloudrun-streamlit

    • アクセス制限 … Identity Aware Proxy ◦ Google CLBを前段に • バックエンドはCloud Runを並べる ◦ 複数のダッシュボードを 同じドメインの配下にマウント可能 ◦ GCPのSAと容易に紐づけ • 費用面も優しい Cloud Run+IAP+Streamlitによるダッシュボード基盤
  7. 21 Dashboard as Code • ダッシュボードは全て Python + SQL でコードに残る

    • コンテナに固めて、デプロイも GitHub Actions + Cloud Build で自動化 ダッシュボードのコード管理
  8. 25 まとめ • そもそもダッシュボードを有効活用してもらっているか? 必要なものか? ◦ アクセス状況を分析し、実際の利用シーンを把握する ◦ 各事業部のテックリードに継続的にインタビューしたい •

    Four Keys の他に有効な指標がないか? → テスト周りの可視化を試作中 ◦ ActionsのAPIを経由して CI実行時間などもわかる ◦ k1LoW/octocov により カバレッジの変遷もわかる 今後の課題や展開