用語集へ

用語集

変更コスト曲線

コスト・オブ・チェンジ曲線

変更コスト曲線 とは、変更をプロジェクトの後半に行うほどコストがどれだけ上がるかを示す曲線です。構想段階で要件を修正する費用はほとんどかかりませんが、検収後に同じ修正を行うと何倍もの費用がかかります。

理由は、ひとつの決定の上にどれだけの作業が積み上がっているかにあります。要件が構想書にあるだけなら、変更は 1 つの文書に影響するだけです。設計に反映されていれば、設計とそこから派生したすべてに影響します。実装され検収まで終わっていれば、手戻り、再検証、ドキュメント、関係者への連絡が加わります。そのため曲線は直線的ではなく、ほぼ指数関数的に上昇します。

同じ変更がフェーズごとにいくらかかるか

修正が見つかった時期による相対コスト

変更のコスト

構想1 倍

設計約 5 倍

実行約 20 倍

検収後約 100 倍

なぜ上昇するのか各フェーズは、その決定を前提とした後続作業を生み出します。遅い変更は、その後続作業の価値まで失わせます。
そこから導かれること安価なうちに疑問を解消しておくことです。フロントローディングも、フェーズ移行前のレビューも、この考え方に基づいています。
ここでの倍率は桁のイメージであり、実測値ではありません。重要なのは個々の倍率ではなく曲線の形です。

この数値は バリー・ベーム に由来します。ベームは 1981 年の著書「Software Engineering Economics」で、プロジェクトのデータからこれを導きました。実行フェーズの費用が大きい従来型のプロジェクト、たとえば建設、プラント建設、イベントなどでは、この関係は現在も変わりません。現場で変更されたものは、計画段階で変更していれば済んだ費用の何倍もかかります。

ソフトウェア開発では、この曲線はかなり平坦になりました。自動テスト、継続的インテグレーション、小さなリリースが、遅い変更のコストを大きく下げています。ケント・ベック はここから逆の主張を立てています。曲線が平坦であれば早期に決めてしまう利点はなくなり、もっとも情報が揃った時点で判断できるようになります。

したがって曲線の形は、手法ではなく対象となる案件によって決まります。実行が高価で成果が積み上がっていく領域、たとえば建設や移行案件では急峻になります。修正が安価で自動的に検証できる領域では平坦なままです。この傾きが、プロジェクトライフサイクル のどのフェーズで決定に価値があるかを決めます。

プロジェクトを計画する、 本当に機能する形で。

プロジェクト計画のためのひとつのアプリ。すべての Apple デバイスでネイティブに動作します。