mcpField
D
dora-metrics

dora-metrics

github.com/atholaクラウド・DevOps34351 回インストール1 日前に更新
リポジトリ

dora-metrics について

ローカルの Git 履歴と GitHub API から、4つの DORA デリバリーパフォーマンス指標を算出し、段階別に分類するスキルです。エンジニアリングレビューやエージェント型ワークフローの監査に使え、最も弱い指標を改善対象として示します。

主な機能

  1. 014つの DORA 指標を算出
  2. 024段階で指標を分類
  3. 03総合評価とボトルネックを提示
  4. 04期間とブランチを指定
  5. 05テキストまたは JSON でレポート

活用シーン

  1. 01エンジニアリングの四半期レビュー
  2. 02AI 支援 PR の失敗率を比較
  3. 03リリース健全性ゲートへの評価連携
  4. 04複数期間の傾向をグラフ化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/athola/claude-night-market --skill dora-metrics

インストール後、Claude Code で/dora-metricsを入力して読み込まれたか確認します。

同梱ファイルmodules/agentic-workflow-signals.mdmodules/thresholds.md

詳細

DORA メトリクス

目的

ローカルの Git 履歴と GitHub API から、DORA のデリバリーパフォーマンスに関する 4 つのメトリクス(デプロイ頻度、変更のリードタイム、変更失敗率、サービス復旧時間)を算出します。DORA の「State of DevOps」調査に基づくしきい値を使って各メトリクスを Elite、High、Medium、Low に分類し、最も弱いディメンションを次の改善対象として提示します。

使用する場面

  • エンジニアリングマネジメントのふりかえりや四半期レビュー。
  • エージェント型ワークフロー(AI 支援 PR、自動デプロイ)が速度と安定性を向上させているのか、あるいは気付かないうちに悪化させているのかを監査する場合。
  • minister:release-health-gates にティアのシグナルを渡す場合。

使用しない場面

  • デリバリーパフォーマンスの根拠ではなく、ストーリーポイントのバーンダウンが必要な、単一チームのベロシティ追跡。
  • 本番ブランチやリリース頻度が明確でないリポジトリ。DORA はそのいずれかがあることを前提としています。

ワークフロー

  1. 希望する期間を指定してヘルパースクリプトを実行します。

    python3 -m minister.dora_metrics --window 30 --branch main
    
  2. 出力を確認します。メトリクスごとの値、ティア分類、ボトルネックの指標が表示されます。

  3. エージェント型ワークフローを監査する場合は、同じ期間で 2 回実行します。1 回目は AI が作成した PR に絞り(例:--failure-label ai-bug)、2 回目はすべての PR を対象にします。CFR の差を比較します。modules/agentic-workflow-signals.md を参照してください。

  4. 必要に応じて --json をトラッカーにパイプし、トレンドデータを release-health-gates のスナップショットと併せて保存します。

  5. 複数の期間を確認する場合や、エージェント型ワークフローの変更前後を比較する場合は、kuva でトレンドチャートを描画できます。

    # Collect weekly snapshots into a TSV, then plot all four metrics
    # week<TAB>metric<TAB>value
    kuva line trends.tsv --x week --y value --color-by metric \
        --title "DORA trends (30-day windows)" -o dora-trends.svg
    
    # Quick terminal preview without writing a file
    kuva line trends.tsv --x week --y value --color-by metric --terminal
    

kuva は、標準入力またはファイルパスから TSV/CSV を読み取ります。インストールは 1 回だけ実行してください。 cargo install kuva --features cli。プロジェクトのソースを変更する必要はありません。プロット形式の全リファレンスについては、kuva を参照してください。

入力

フラグデフォルト意味
--window30測定期間(日数)
--branchHEAD本番ブランチ
--failure-labelbug本番障害を示す GitHub ラベル
--jsonoff人間が読みやすい形式ではなく JSON を出力
--repo-pathcwdリポジトリのディレクトリ

出力

以下を含む短いテキストレポートまたは JSON ペイロードです。

  • メトリクスごとの数値(例:4.2/day、2.1 hours、8%)。
  • メトリクスごとのティア(Elite、High、Medium、Low)。
  • 全体のティア(4 つのうち最も弱いもの)。
  • 改善に注力すべきメトリクスを示すボトルネックキー。

ティアのしきい値

完全な表については modules/thresholds.md を参照してください。概要は以下のとおりです。

メトリクスEliteHighMediumLow
DF>= 1/day>= 1/week>= 1/month< 1/month
LT<= 1 day<= 1 week<= 1 month> 1 month
CFR<= 15%<= 30%<= 45%> 45%
TRS< 1 hour< 1 day< 1 week>= 1 week

検証

DORA レポートが実データに基づいていることを確認するには、より短い期間でスクリプトを再実行し、DF と LT が予測どおりに変化することを確認してください。CFR と TRS については、対象となった GitHub Issue を 2、3 件サンプルし、それぞれに bug(または選択したラベル)が正しく付いていることを確認してください。

テスト

ユニットテストは plugins/minister/tests/unit/test_dora_metrics.py にあります。各ティアの境界値をしきい値でテストしているため、不等号(> と >=)を変更すると、将来の変更で意図しない回帰が起きた場合に検出されます。分類ロジックを拡張する場合は、しきい値のテストを追加してください。

完了条件

  • 指定された期間の DORA レポートが生成されている。
  • 4 つすべてのメトリクスがティアに分類されている。
  • ボトルネックとなるディメンションが提示されている。
  • ターミナルまたは PR コメントで出力を読み取れる。

コメント