成熟度スコア:アーキテクチャの健全性を一つのグレードで - Archyl Blog

ドリフトスコアはドキュメントが正確かどうかを教えてくれます。準拠性はルールが守られているかどうかを教えてくれます。インサイトは何が壊れているかを教えてくれます。DORAは出荷できるかどうかを教えてくれます。しかし、どれも全体像を教えてくれません。成熟度スコアがそれを実現します — 一つのグレード、四つの次元、推測はゼロ。

成熟度スコア:アーキテクチャの健全性を一つのグレードで

ドリフトスコアがあります。準拠ルールがあります。インサイトがあります。DORAメトリクスがあります。四つのシグナル、四つのダッシュボード、四つの数値 — 最もシンプルな質問に答える前にすべてを確認しなければなりません:私たちのアーキテクチャは健全な状態ですか?

その答えは常に散在していました。あるチームはドキュメントの正確性が完璧(ドリフトスコア95)でも、デプロイメントのプラクティスがひどい(DORAが底辺)ということがあり得ました。別のチームは1日に10回出荷できても、すべての準拠ルールを無視しているかもしれません。各メトリクスはストーリーの一部を語りましたが、全体像を語るものはありませんでした。

成熟度スコアがこれを解決します。一つのグレード。四つの次元。アーキテクチャが実際にどれだけ健全かを示す単一のビュー。

AからF。それだけです。

Archylで任意のプロジェクトを開くと、レターグレードが表示されます:

  • A (90-100) — アーキテクチャは十分にドキュメント化され、準拠しており、積極的に監視され、確実に出荷されています。これが目標です。
  • B (80-89) — 堅実。一つまたは二つの次元に小さなギャップがありますが、夜も眠れないほどではありません。
  • C (70-79) — まずまずの基盤、実際の弱点あり。問題がどこにあるかはわかっていますが、まだ修正していません。
  • D (60-69) — 苦戦中。複数の次元でパフォーマンスが低下しています。技術的負債が蓄積しています。
  • F (60未満) — アーキテクチャドキュメントは飾りです。基本からやり直しましょう。

グレードは虚栄のメトリクスではありません。四つの重み付けされた次元から計算されており、それぞれがアーキテクチャプラクティスの異なる側面を測定しています。

四つの次元、一つのスコア

ドリフト — ドキュメントは真実を語っていますか?

ドリフト次元は、C4モデルが実際のコードベースをどれだけ正確に反映しているかを測定します。もう存在しないファイルパス。名前が変更されたサービス。統合されたコンテナ。ドキュメント化されたすべての要素がリポジトリに対して検証されます。

高いドリフトスコアは、アーキテクチャダイアグラムが実際にプロダクションで稼働しているシステムを記述していることを意味します。低いスコアは、6ヶ月前に存在していたシステムを記述していることを意味します。

インサイト — シグナルに耳を傾けていますか?

Archylはアーキテクチャを継続的に分析し、問題を表面化させます:循環依存、肥大化したコンポーネント、欠落したドキュメント、使用されていないコンテナ。インサイト次元は、これらの問題がどれだけ存在し、どれだけ深刻かを測定します。

重大なインサイトを迅速に解決するチームは高いスコアを得ます。警告を放置するチームは低いスコアになります。これはゼロ問題であることではなく、問題に対処する文化があるかどうかです。

準拠性 — 自分で定めたルールに従っていますか?

アーキテクチャルールを定義したのには理由があります。フロントエンドコンテナがデータベースに直接アクセスしてはならない。すべてのシステムには少なくとも一つのドキュメント化されたAPIコントラクトが必要。認証サービスはビジネスロジックに依存してはならない。

準拠次元は、ルールの何パーセントが合格しているかを測定します。これは、ガバナンスを持っていることと、それを実施していることの違いです。

DORA — 実際に出荷できますか?

出荷できなければ、アーキテクチャの品質は意味がありません。DORA次元は四つの標準メトリクスを追跡します:デプロイメント頻度、変更のリードタイム、変更失敗率、平均復旧時間。

美しいアーキテクチャを持ちながら四半期に一度しかデプロイしないチームには、デリバリーの問題があります。DORAがそれを捕捉します。

重み付け、平均ではない

四つの次元は均等に重み付けされているわけではありません。各プロジェクトの成熟度スコアは重み付けされた合成値です:

次元 デフォルト重み 報酬対象
ドリフト 25% ドキュメントの正確性を維持すること
インサイト 25% アーキテクチャの問題を解決すること
準拠性 25% 自分で定めたルールに従うこと
DORA 25% 確実に出荷すること

重みは詳細パネルに表示されます — すべてのスコアがその貢献度を示します。グレードがなぜその値なのか、どの次元がスコアを引き下げているのかを正確に確認できます。

組織レベルのビュー

個々のプロジェクトスコアは有用です。すべてのプロジェクトを並べて見ることは変革的です。

組織成熟度ダッシュボードは、すべてのプロジェクトをカードとして表示します:グレード、スコア、トレンド、四つの次元すべての内訳。グレードでフィルタリング。スコアでソート。名前で検索。30秒で、どのプロジェクトに注意が必要かがわかります。

上部のグレード分布バーは、組織のアーキテクチャ健全性の全体像を示します。ほとんどがAとB?良好な状態です。DとFが集中している?投資すべき場所がわかります。

トレンドが本当のストーリーを語る

すべての成熟度計算は時系列で追跡されます。各プロジェクトはトレンドを示します:改善中安定、または低下中

先月CからBになったプロジェクトは、まだAでなくても正しい軌道に乗っています。3スプリント連続で低下しているプロジェクトは、まだBであっても介入が必要です。トレンドは絶対スコアよりもアクショナブルであることが多いです。

レコメンデーションエンジン

詳細パネルはスコアを表示するだけでなく、何をすべきかを教えてくれます。最も弱い次元に対して、具体的でアクショナブルなレコメンデーションが表示されます:

  • ドリフトが最低? 「ドリフト検出を実行して、ドキュメントの整合性を更新してください。」
  • インサイトが最低? 「重大なアーキテクチャインサイトを確認して解決してください。」
  • 準拠性が最低? 「準拠ルール違反を修正して、コンプライアンスを向上させてください。」
  • DORAが最低? 「デプロイメントプラクティスを改善して、DORAメトリクスを向上させてください。」

曖昧さなし。「プロセスの改善を検討してください」ではありません。スコアを最も大きく動かすものに結びついた具体的な次のステップです。

なぜ単一のグレードが重要なのか

チームは12個のメトリクスがあるダッシュボードでは行動しません。理解しやすく、比較しやすく、ごまかしにくい一つの数値で行動します。

成熟度スコアは意図的にオピニオネイテッドです:

包括的です。 ドキュメントが優れていても出荷がひどければ、Aは取れません。四つの次元すべてが重要です。

比較可能です。 プロジェクトAはB。プロジェクトBはD。エンジニアリング時間をどこに投資すべきかという会話がシンプルになりました。

追跡可能です。 時系列でプロットできる数値は、改善できる数値です。目標を設定しましょう:「四半期末までにすべてのプロジェクトをC以上に。」これで測定可能な目標ができました。

正直です。 グレードは意図やロードマップを気にしません。今この瞬間の真実を測定します。ドキュメントがコードと一致しているか、していないか。ルールが合格しているか、していないか。

はじめ方

成熟度スコアは今日からすべてのArchylプロジェクトで利用可能です。セットアップは不要です — アーキテクチャドキュメントがあるプロジェクトであれば、すでにスコアがあります。

  1. 任意のプロジェクトを開いてください。プロジェクトヘッダーに成熟度バッジが表示されます。
  2. クリックすると完全な内訳が表示されます:全体スコア、四つの次元、トレンド、レコメンデーション。
  3. 組織成熟度ページにアクセスして、すべてのプロジェクトを一覧で確認できます。

組織のアーキテクチャの健全性は謎であるべきではありません。今やそれはレターグレードです。