ストーリー
田
田中VPoE
棚卸しとテクノロジーレーダーで技術の全体像が見えてきた。次は「技術的負債」を定量的に評価する
あなた
技術的負債は感覚的に「ここがヤバい」という認識はあるんですが、定量化するのは難しくないですか?
あ
田
田中VPoE
だからこそ評価フレームワークが必要だ。「ヤバい」では経営層に投資判断を求められない。「このサービスの技術的負債により、年間X時間の追加工数が発生しており、移行コストはY万円で回収期間はZヶ月」と言えなければ、改善のための予算は取れない
田
田中VPoE
その通りだ。技術的負債は金融の負債と同じだ。元本(移行コスト)と利息(継続的な追加コスト)がある。利息が高い負債から返済するのが合理的だ
技術的負債の分類
4つのタイプ
| タイプ | 説明 | 例 | 利息の特徴 |
|---|
| 意図的・計画的 | 知った上で受け入れた負債 | 「まずリリースし、後でリファクタリング」 | 管理可能、計画的に返済 |
| 意図的・無謀 | 知った上で無視した負債 | 「テスト書かなくていいから早く出せ」 | 急速に利息が増大 |
| 非意図的・計画的 | 学びの結果気づいた負債 | 「今の知識なら違う設計にしていた」 | 中程度、設計判断の再評価 |
| 非意図的・無謀 | 知識不足による負債 | セキュリティホール、非効率なクエリ | 高リスク、即座に対応が必要 |
技術的負債の象限マトリクス:
意図的 非意図的
┌──────────────┬──────────────┐
計画的 │ 戦略的負債 │ 学習的負債 │
│ 管理された │ 発見された │
│ トレードオフ │ 改善機会 │
├──────────────┼──────────────┤
無謀 │ 怠惰な負債 │ 無知な負債 │
│ 意図的な │ 知識不足に │
│ 品質軽視 │ よる問題 │
└──────────────┴──────────────┘
技術的負債の定量評価フレームワーク
評価の3つの軸
| 軸 | 内容 | 測定方法 |
|---|
| 利息(Interest) | 負債が存在することで発生する継続的コスト | 追加工数、障害頻度、デプロイ速度低下 |
| 元本(Principal) | 負債を返済(解消)するために必要なコスト | 移行工数、テスト工数、学習コスト |
| リスク(Risk) | 放置した場合に顕在化するリスク | セキュリティ脆弱性、サポート終了、障害の影響範囲 |
利息の算出
| 利息の種類 | 計算方法 | 例 |
|---|
| 開発速度の低下 | (本来の工数 - 実際の工数) × 人件費単価 | レガシーコードの理解に月40h余分にかかる → 月24万円 |
| 障害対応コスト | 障害件数 × 平均対応時間 × 人件費単価 | 月2件 × 8h × 6,000円 = 月9.6万円 |
| 採用コスト増 | 不人気技術による採用難の追加コスト | 採用期間が2ヶ月延長 → エージェント費用追加100万円 |
| セキュリティリスク | 脆弱性の期待損失額 | 情報漏洩確率5% × 損害額1億円 = 期待損失500万円/年 |
元本の算出
| 元本の種類 | 計算方法 | 例 |
|---|
| リファクタリング工数 | 影響コード行数 × 単価 | 10,000行 × 1h/100行 × 6,000円 = 60万円 |
| 移行開発費 | 新環境構築 + データ移行 + テスト | 3人月 × 120万円 = 360万円 |
| 学習コスト | チームの新技術習得時間 | 5名 × 40h × 6,000円 = 120万円 |
| ダウンタイムコスト | 移行時の計画停止による機会損失 | 2時間 × 時間売上10万円 = 20万円 |
負債スコアリング
スコアリングシート
各技術的負債に対して、以下のスコアリングを実施します。
| 評価項目 | 1点 | 3点 | 5点 | 重み |
|---|
| 月間利息 | 10万円未満 | 10-50万円 | 50万円以上 | 30% |
| 元本 | 100万円未満 | 100-500万円 | 500万円以上 | 20% |
| セキュリティリスク | CVSSスコア低 | CVSSスコア中 | CVSSスコア高 | 25% |
| 影響範囲 | 1チーム | 3チーム以上 | 全社 | 15% |
| 代替技術の成熟度 | 未成熟 | 中程度 | 十分に成熟 | 10% |
優先順位付け
負債返済の優先順位マトリクス:
高い ┌─────────────────────────────────┐
│ │
利 │ ② 計画的に返済 ① 即座に返済 │
息 │ (高利息・ (高利息・ │
の │ 高元本) 低元本) │
大 │ │
き ├─────────────────────────────────┤
さ │ │
│ ④ 当面は放置 ③ 余裕がある │
│ (低利息・ 時に返済 │
│ 高元本) (低利息・ │
│ 低元本) │
低い └─────────────────────────────────┘
高い ← 元本の大きさ → 低い
具体的な評価例
| 負債項目 | 月間利息 | 元本 | リスク | 影響範囲 | 優先度 |
|---|
| MySQL 5.7 → PostgreSQL移行 | 30万円 | 400万円 | EOL間近(高) | 1サービス | 高 |
| Vue.js 2 → React移行 | 15万円 | 600万円 | サポート終了(中) | 2サービス | 中 |
| Java レガシーサービス刷新 | 50万円 | 1,200万円 | セキュリティ(高) | 1サービス | 高 |
| REST → gRPC統一 | 5万円 | 300万円 | 低 | 3サービス | 低 |
| テストカバレッジ向上 | 20万円 | 200万円 | 品質リスク(中) | 全社 | 中 |
技術的負債レポートの構成
経営層向けサマリー
| 項目 | 内容 |
|---|
| 技術的負債の総額(年間利息) | 年間XXX万円の追加コストが発生 |
| 返済に必要な投資額(元本合計) | XXX万円の移行投資が必要 |
| 投資回収期間 | X年で投資回収可能 |
| 放置リスク | セキュリティ脆弱性、人材離散、障害増加 |
技術リード向け詳細
| セクション | 内容 |
|---|
| 負債一覧 | 全負債項目のスコアリング結果 |
| 優先順位 | 返済順序と根拠 |
| ロードマップ | 四半期ごとの返済計画 |
| 依存関係 | 負債間の依存(AをやらないとBができない) |
| KPI | 負債削減の進捗測定指標 |
「技術的負債は見えない。見えないから放置される。数字にして見せることが、改善の第一歩だ」 — 田中VPoE
まとめ
| ポイント | 内容 |
|---|
| 4つのタイプ | 意図的/非意図的 × 計画的/無謀の象限で分類 |
| 3つの評価軸 | 利息(継続コスト)、元本(解消コスト)、リスク(放置の危険性) |
| 優先順位 | 利息が高く元本が低い負債から返済する |
| 定量化 | 金額で語ることで経営層の投資判断を得る |
| レポート | 経営層向けサマリーと技術リード向け詳細の二層構成 |
チェックリスト
次のステップへ
次は演習「技術スタック棚卸しレポートを作成しよう」に進みます。Step 1で学んだ棚卸し、テクノロジーレーダー、技術的負債評価を統合した実践演習です。
推定読了時間: 30分