#Book [[📒アジャイルメトリクス]] ## 第1章 [[🗃️アジャイル]]パフォーマンスを測定する ### 1.1 収集・測定・対応・反復: [[🗃️フィードバック・ループ]] - [[🗃️フィードバック・ループ]]のステップ - 収集: [[🗃️チーム]]とパフォーマンスに関するデータをできる限り多く収集。現状の確認から行う - 測定: データの分析を行う - データのトレンドと関係性に注目する - チーム、ワークフロー、プロセスを洗い出す - どのように調整していくか決定する - 対応 - 反復 - [[🗃️メトリクス]]とは何か? - 何かを測定する方法、またそこから得られる結果 by [[🏢google]] - 例: [[🗃️ベロシティ]]、変更されたコードの行数 - [[🗃️KPI]]になるもの ### 1.2 なぜ[[🗃️アジャイル]]チームの測定は難しいのか? - メンバーの「良い」が違うため ### 1.3 回答のためのデータはどこにある? - [[🗃️プロジェクト]]管理([[🗃️Jira]]) - プロジェクトをどのくらい理解しているか? - [[🗃️チーム]]はどのくらい速く動いているか? - [[🗃️チーム]]はどのくらい着実に仕事を完了しているか? - [[🗃️ソースコード]]管理 - どのくらい変更が[[🗃️ソースコード]]で起こっているか? - どのくらいうまく開発チームは共同作業しているか? - ビルドシステム([[🗃️継続的インテグレーション]]) - [[🗃️テストカバレッジ]]、[[🗃️自動テスト]] - どのくらい迅速に変更を顧客に提供しているか? - どのくらい迅速に変更を顧客に提供できるのか? - どのくらい安定してチームが仕事をしているか? - システム[[🗃️モニタリング]] - [[🗃️APM]] - 開発したコードがどのくらい昨日しているか? - 顧客にどのくらい良いサービスを提供しているのか? ## 1.4 持っているものとすべきことをデータから分析する - 収集したデータの分析 - 質問、トレンドを探す、データと行動と関連づけることで、背後にあるものを理解することができる - 重要なことは何か理解する - [[🗃️マインドマップ]]を使うと良い - 例 - 現在の[[🗃️ベロシティ]]はどのくらいか? - [[🗃️技術的負債]]を増加させているか? - 会社の他チームは何をしているか? - 理想とするペースは? - 現在のベロシティ - [[🗃️Jira]]: ベロシティ - 技術的負債の有無 - [[🗃️Jira]]: スプリントごとのバグ - jenkins ビルド失敗 - 他のチームは何をしているか? - [[🗃️Jira]] - 速度 - スプリントごとのバグ - jenkins - ビルド失敗 - リリース数 - 例) 完了した全タスクと、全[[🗃️ストーリーポイント]]のグラフ - ストーリと完了タスクのポイントに凹みがある - けど[[🗃️Pull Request]]と[[🗃️コードレビュー]]のタスク量は変わっていない - 💭割り込みタスクも[[🗃️スプリントバックログアイテム]]に取り入れて、ラベルで割り込みタスクと識別できるようにすれば、完了したポイントと、そのうちの[[🗃️ストーリーポイント]]の割合を出せるかも - てか普通どうやるのだろう? - [[🖇️スプリント中の障害や割り込みはどう管理すればいいでしょうか?]] - [[🗃️ストーリーポイント]]って、ユーザー価値がある完了タスクについてつけているのかな? ### 1.5 学びの実践 - 改善したい傾向を提示するときは、物事に対してポジティブに考える - 変化から生まれるプラス面に焦点を当てる ### 1.6 オーナーシップをとり、チームを測定する - 賛同を得る - [[🗃️メトリクス]]否定は - 💭支配者をビックブラザーと呼んでいるのじわる ## 第2章 生きた[[🗃️プロジェクト]]を観察する - ケース - スクラム開発している - 新しいシステムを統合し、リリースした結果、ログにエラー数が急増していた - リファクタリングに時間をかけて、システムの安定性と信頼性を確保することを提案した ### 2.3 正しいソリューションの決定 - 2つの質問からスタートした - チームが作業しているタスクの量をどのように表すのか? - チームが作業しているタスクの種類をどのように表すのか? - データの収集 - プロジェクト管理システムと、ソースコード管理システムに注目 - 完了数 - [[🗃️ベロシティ]] - バグ数 - タグ - [[🗃️リファクタリング]]と新機能開発というタスクを区別するたぐ - 手戻り率 - コードの変更の総数(CLOC)