10.10 ソフトウェアエンジニアリング経済学
概要と動機
ソフトウェアエンジニアリング経済学とは、不確実性のもとで、時間をかけて、価値とコストの観点からエンジニアリングの決定を下す規律です。リーダーシップが実際に尋ねる問いに答える推論です。これは築く価値があるか。この三つの選択肢のうち、どれが最良の見返りを与えるか。今四半期に出荷するだけでなく、このシステムを今後10年所有するのにいくらかかるか。この技術的負債を今返すべきか、それとも先送りして利息を払うべきか。すべてのロードマップ、調達、プラットフォームへの投資、近代化プログラムは、根底では経済的な議論です。この章は、それらの議論を明示的で、比較可能で、擁護できるものにする規律に名前を付けます。
単一のチームにとって、経済的な推論は非公式のままでよいのは、間違った判断のコストが小さく、すぐに修正されるからです。企業や政府組織では、賭け金が大きく、お金は他人のものであり、決定は財務、監査人、公衆に精査されます。誰かが構築コストだけを数え、何年もの運用、ライセンス、サポート、最終的な置き換えを無視したために安く見えるプログラムは、陰鬱なほど確実に予算を吹き飛ばします。見返りを約束するが前提を述べない提案は、異議を唱えられず、比較されず、説明責任を問われません。ソフトウェアエンジニアリング経済学は、共有の定量的な言語を与えるので、乏しい資本が最も価値を生む仕事に流れます。
この章は、本ガイドブック全体で使われる投資利益率(ROI)と総所有コスト(TCO)の推論の分析的な背骨です。ポートフォリオとプログラムの管理(10.1章)は何に資金を出すかを決め、この章はどう決めるかの経済的な方法を提供します。それは、これらの計算が築くか買うかと契約の選択を正当化する調達(10.3章)、運用コストの経済学を運用の実践に変えるコスト、FinOps(クラウドと実行時の支出の規律ある管理という意味の財務運用)、グリーンソフトウェア(9.4章)、価値の仮説が形成されテストされるディスカバリーのパイプラインとアウトカム(11.1章)、意思決定とガバナンスにおける技術的負債(1.5章)、そして所有のコストの長い尾が実際に着地するソフトウェアの保守(3.7章)につながります。
主要原則
- 価値もコストも見積もりである。 すべての数字を、事実ではなく、前提を伴う範囲として扱います。誠実な不確実性は、偽の精度に勝ります。
- お金には時間価値がある。 今日の1ドルは来年の1ドルより価値があります。選択肢を比べる前に将来のキャッシュフローを割り引きます。
- 購入価格ではなく、総所有コストで決める。 構築は頭金で、運用、サポート、維持が住宅ローンです。
- 決定にとって将来のコストと便益だけが重要である。 サンクコストは過ぎたものです。次に何をするかを選ぶときは無視します。
- すべての選択には機会費用がある。 関連する比較は常に、同じお金、人、時間の最良の代替の使い道です。
- 遅延には代償がある。 決定やデリバリーが待つ間に失われる価値である遅延のコストは、モデルの中で最大で最も無視される数字であることがしばしばです。
- ビジネスケースを反証可能にする。 前提を、現実がのちにそれを正しい、あるいは間違いと証明できるほど明確に述べます。
推奨事項
経済学の基礎に決定を根づかせる
スプレッドシートを築く前に、共有の語彙を築きます。価値(利害関係者が得る便益)をコスト(それを生むために消費されるもの)から区別し、両方をキャッシュフロー、特定の時点に出入りするお金として表現します。来年の支払いは今日のものより価値が低いので、貨幣の時間価値を適用します。資本コストや公的な率を反映した割引率を使って、将来のキャッシュフローを現在価値に割り引きます。そうすれば提案とは、定義された地平線にわたる競合する選択肢のキャッシュフローの流れの構造化された比較です。すべての重要な提案が、その地平線、割引率、前提を1ページで述べるよう主張し、レビューアが、計算を逆算するのではなく、実質について議論するようにします。
不確実性とリスクのもとで明示的に決める
ソフトウェアの決定は不完全な情報で下されます。そうでないふりをするのが誤りです。不確実性を隠すのではなくモデル化します。単一の数字ではなく三点見積もり(楽観、可能性が高い、悲観)を使い、成果を確率で重みづけして期待値を計算します。重大な選択では、感度分析を行います。最も重要な二つか三つの入力を変えて、推奨が反転するかを見ます。リスク(定量化できる確率)を深い不確実性(未知の確率)から区別し、不確実性が高いときは、柔軟性を保つ選択肢を好みます。学んだ後に止める、転換する、倍賭けすることができる段階的なコミットメントは、しばしば、より安い全部かゼロかの賭けより価値があります。
決定の方法を営利と公共の文脈に合わせる
営利組織は通常、資本コストに対して、正味現在価値、ROI、回収期間を使って財務的な見返りを最適化します。非営利と公共部門は、使命の価値、サービスの成果、公平性、公的資金のスチュワードシップを最適化し、すべての便益を収益に還元することはできません。どちらの設定でも同じ分析の仕組みを使いますが、目的関数を誠実に選びます。政府では、費用便益分析と費用対効果分析、公的な割引率、全寿命のコスト計算がしばしば義務づけられます。金銭化できるものは金銭化し、それ以外は、調整係数としてこっそり入れるのではなく、明示的で文書化された非財務の基準を使います。どちらの世界でも規律は同じです。目的とトレードオフを可視にすることです。
複数の方法でコストを見積もる
単一の見積もりのアプローチは単独では信頼できないので、三角測量します。類推(類似の過去の仕事と比べる)、専門家の判断(経験豊富なエンジニアからの構造化された入力、たとえばワイドバンドデルファイやプランニングポーカー)、分解(仕事を分解して見積もりを積み上げる、ボトムアップ)、パラメトリックモデル(自分のデータで較正されたCOCOMO IIのような式駆動のもの)を組み合わせます。経験的なスループットがある所では、推測的なサイズ化より過去のフローのデータを好みます。見積もりを常に確信を伴う範囲として表現し、学ぶにつれて再見積もりし、工数の見積もりを日付のコミットメントから分けます。その二つを混同することが、見積もりが破られた約束になる方法です。
TCO、ROI、NPV、回収期間を一貫して計算する
小さな標準の道具立てを採用し、ポートフォリオ全体で選択肢が比較できるよう、一様に適用します。総所有コストは、全寿命にわたるすべてのコストを合算します。構築、デプロイ、ライセンス、運用、サポート、保護、退役。ROIは、純便益をコストに対する割合として表します。正味現在価値(NPV)は、すべての将来のキャッシュフローを今日に割り引いて合算します。正のNPVは、選択肢があなたの割引率で価値を生むことを意味します。回収期間は、最初の支出を回収する時間です。単純で直感的ですが、損益分岐点以降のすべてと貨幣の時間価値に盲目なので、NPVと並べてのみ使ってください。比較される選択肢にわたって地平線と割引率を標準化しなければ、比較は無意味です。
技術的負債と遅延のコストに値段をつける
通常は見えない二つのコストを明示的にします。技術的負債は財務的な負債のように振る舞います。近道は今、速度を借り、後で利息を課します。遅いデリバリー、より多くの欠陥、より高い運用コストとして。利息、つまり負債が将来の各リリースにどれだけ課税するかを見積もり、負債を負う、あるいは返す選択が、道徳的ではなく経済的な決定になるようにします(1.5章と3.7章を参照)。遅延のコストは、価値あるものが遅れる時間の単位ごとに失われる価値です。それを定量化することで、曖昧な「急ぐべきだ」という直感が、最も直接には加重最短ジョブ優先の順序づけを通じて、本物の優先順位づけに変わります。遅延に値段をつけるチームは、稼働率の最適化をやめ、価値の最適化を始めます。
無形のものを評価し、ビジネスケースを築く
最大の便益の多くは、きれいな金額に抵抗します。リスクの低減、セキュリティの姿勢の改善、開発者の生産性、ブランドの信頼、使命の成果、選択肢。それらをゼロと見なすことは、すべての決定を有形のものに偏らせます。それでも評価してください。信頼できる所では代理を通じて金銭化します(回避された侵害のコスト、節約された時間かける負担込みの率)。できない所では、名指しされた基準に対して明示的に採点し、財務モデルと並べて持ち運びます。全体をビジネスケースに組み立てます。問題、検討した選択肢(何もしないを含む)、地平線にわたるコストと便益、主要な前提とリスク、推奨、のちにそれが機能したかを判断する尺度。生きたものに保ち、実績に対して見直して、組織がより良く見積もることを学べるようにします。
トレードオフ: 長所と短所
| アプローチ | 長所 | 短所 |
|---|---|---|
| 詳細な定量モデル(NPV、TCO) | 厳密、比較可能、監査可能。前提を公にさらす | 時間がかかる。入力が弱いと偽の精度。測られないものを除外しうる |
| 軽量な経験則(回収期間、遅延のコスト) | 速く、直感的で、伝えやすい | 時間価値や長い尾のコストを無視する。大きなコミットメントには粗い |
| 単一の数字の見積もり | 単純、決断的、計画しやすい | 不確実性を隠す。偽の約束になる。誠実さを罰する |
| 範囲と期待値 | リスクに誠実。段階的な決定を支える | 伝えにくい。一つの数字を望む利害関係者には回りくどく感じられうる |
| 代理による無形のものの金銭化 | 大きな便益をモデルに保つ。トレードオフを可能にする | 代理は異論がありうる。都合の良い数字を作るリスク |
| 全寿命のTCO分析 | 安く築いて高く動かす驚きを防ぐ | 多くのチームが早期に持たない運用コストのデータが必要 |
繰り返される緊張は、厳密さと速度の間にあります。重い財務モデリングは、大きく、不可逆で、高価な決定を改善しますが、小さく可逆な決定には無駄で、時に有害で、単に事前に決まった答えをスプレッドシートの権威で洗浄するだけです。成熟した組織は、分析を賭け金に合わせて適正にサイズ化します。日常的な機能には1ページの遅延のコストの議論、複数年のプラットフォームや調達にはNPVとTCOの完全なビジネスケース。第二の緊張は、精度と誠実さの間にあります。単一の自信ある数字は行動しやすいが、しばしば間違っています。範囲は真実だがコミットしにくい。解決は、範囲と期待値で決め、それから段階的な増分にコミットすることで、証拠が届くにつれて進路を修正する選択肢を保つことです。
チームで議論すべき問い
工数の見積もりを日付のコミットメントから分けていますか。そして一つの数字を信頼するのではなく、見積もりを三角測量していますか。 単一の自信ある数字は計画しやすく、しばしば間違っており、範囲ベースの工数の見積もりが固定の日付に固まった瞬間、誠実さは罰せられ、見積もりは破られた約束になります。三角測量してください。類推、専門家の判断、分解、過去のスループットを組み合わせ、推測的なサイズ化より本物のフローのデータを好みます。見積もりを確信を伴う範囲として表現し、学ぶにつれて再見積もりします。財務と監査の精査のもとにある大きなプログラムでは、これが擁護できる予測と、誰も異議を唱えられない数字の違いです。最近遅れた見積もりを持ち込み、それがカレンダーに合わせて管理された工数の見積もりでなかったかを尋ねてください。
遅延のコストに値段をつけて仕事の順序づけに使っていますか。それとも依然として稼働率を最適化していますか。 遅延のコスト、つまり価値あるものが遅れる時間の単位ごとに失われる価値は、モデルの中で最大で最も無視される数字であることがしばしばです。それに値段をつけないチームは全員を忙しく保つことを最適化し、それが最も価値の高い仕事を静かに飢えさせます。定量化して加重最短ジョブ優先で順序づけ、待つことで最も価値を失う仕事が最初に行くようにします。これはロードマップを並べ替え、「急ぐべきだ」を本物の優先順位づけに捉え直します。進行中の取り組みを二、三持ち込み、それぞれが遅延の週ごとにいくらかかるかを見積もってください。できなければ、それが閉じるべき隔たりです。
ビジネスケースは、何もしないベースラインに対する全寿命のTCOで決めていますか。そして厳密さは賭け金に合わせてサイズ化されていますか。 構築は頭金で、運用、ライセンス、サポート、最終的な置き換えが住宅ローンであり、構築コストだけを数えるプログラムは、陰鬱なほど確実に予算を吹き飛ばします。すべての真剣な提案は、標準の地平線で共有の割引率で(何もしないを含む)選択肢を比較し、前提を1ページで述べて、レビューアが算術ではなく実質を議論できるようにすべきです。労力を適正にサイズ化してください。日常的な機能には1ページの遅延のコストの議論、複数年のプラットフォームや調達にはNPVとTCOの完全なケース。小さく可逆な決定の重いモデリングは、単に事前に決まった答えをスプレッドシートの権威で洗浄するだけです。最近の決定を持ち込み、定価ではなく運用コストがそれを駆動したかを尋ねてください。
時間をかけて選択肢を比べるのにどの割引率を使い、推奨が異なる率でも生き残るかをテストしましたか。 貨幣の時間価値は、5年目の1ドルが今日の1ドルではないことを意味しますが、多くの提案は割引を完全に飛ばすか、誰も合意していない率を埋め込みます。比較される選択肢にわたって一つの率と一つの地平線を標準化しなければ、比較は洞察を装った算術です。相反する考慮は、率自体が異論のありうるものだということです。低すぎれば長期の巨大プロジェクトを持ち上げ、高すぎればゆっくり元を取る投資を飢えさせます。使った率、その出所(自社の資本コスト、または公表された公的な率)、どの率で推奨が反転するかを示す感度分析を持ち込んでください。企業財務、特に政府では、率はしばしば、たとえば公的な評価率として義務づけられ、文書化されない、あるいは一貫しない率は、まさに監査人が最初に異議を唱えるものです。
取り組みが期待を下回っているとき、期待される将来の価値で決めて、すでに使ったものを無視していますか。そして実際に止められるよう資金を構造化しましたか。 サンクコストは過ぎたものですが、強力な引力を及ぼします。チームは、まだ先にある価値ではなく、すでに注ぎ込んだお金で、失敗する取り組みを擁護します。相反する圧力は本物で、止めることは無駄を認めることのように見え、政治的コストを伴うので、規律は、その場で誰がどう感じるかに任せるのではなく、資金の出し方に組み込まなければなりません。一つの不可逆な賭けではなく、各増分の後に止める、転換する、倍賭けすることができる、独立に価値のある段階的なコミットメントを好みます。遅れている進行中の取り組み、期待される残りの便益に対して終えるまでの残りのコスト、次の資金のゲートが来る時点を持ち込んでください。企業や政府のポートフォリオでは、誰がプログラムを止める権限を持ち、資金の構造が彼らに本物の決定の点を与えているかを名指ししてください。ゲートのないコミットメントは、誰も止められないコミットメントだからです。
目的関数について誠実ですか。そして無形のものを、ゼロとして扱うのではなく明示的に評価していますか。 最大の便益のいくつか、リスクの低減、セキュリティの姿勢、開発者の生産性、使命の成果、選択肢は、きれいな金額に抵抗し、それらをゼロと見なすことは、すべての決定を有形で近い将来のものに偏らせます。相反するリスクは逆の誤りです。都合の良い数字を作り、推測を偽の精度で飾ること。どの便益を信頼できる代理(回避された侵害、節約された時間かける負担込みの率)を通じて金銭化し、どれをモデルと並べて持ち運ぶ名指しされた非財務の基準に対して採点するかを意図して決めてください。無形のものが重要だった最近の決定を持ち込み、それが値段をつけられたか、採点されたか、静かに落とされたかを尋ねます。公共部門の機関にとっては、これはさらに鋭くなります。使命の価値、公平性、公的資金のスチュワードシップは、すべてを収益に還元できないので、目的関数を公然と選び、非財務の基準を、調整係数としてこっそり入れるのではなく文書化してください。
セクター別の視点
スタートアップ。 数か月の滑走路では、支配的な経済の数字は遅延のコストです。少数のエンジニアが中核のプロダクトから離れて費やす毎週は、先送りされた収益と学びです。分析を1ページに保ち、乏しいエンジニアリングの注意が差別化要因に残るよう、コモディティの能力を築くより買うことを好んでください。手の込んだNPVモデルは飛ばします。大まかな全寿命の比較と厳格な支出の上限で、安く築いて高く動かす罠が牙をむく前に捉えるには十分です。
小規模事業者。 財務アナリストはいないので、方法を単純で誠実に保ってください。各選択肢を所有する全コスト、サブスクリプションにそれが消費する職員の時間を加えたものを、何もしないことと比較します。築くか買うかの判断はほぼ常に買うに有利です。保守できないシステムは、静かに育つ予算外の運用コストになるからです。投資を、割り引かれたモデルではなく、短く直感的な回収期間で判断し、規模を拡大するまで安く見える席ごとの価格に注意してください。
大企業。 課題は、多くのチームと長いポートフォリオにわたる比較可能性です。競合する提案が同じ基準で順位づけられるよう、一つの割引率、一つの地平線、一つの道具立て(NPV、TCO、遅延のコスト)を標準化します。技術的負債の利息と遅延のコストを明示的に値段づけしてください。規模では、それらが見出しの構築コストを小さく見せるからです。ビジネスケースを実績に対して見直す生きた文書にして、見積もりの精度が改善し、財務と監査が資本がなぜそこに流れたかを見られるようにします。
政府。 費用便益分析、公的な割引率、全寿命のコスト計算はしばしば義務づけられ、目的は収益ではなく公共の価値なので、信頼できる限り金銭化し、残りを明示的で公表された基準に対して採点してください。すべての前提を、何もしないベースラインに対して公然と述べます。監査人と公衆がそれらをテストするからです。資金を、独立に価値のある増分に構造化し、次がコミットされる前に各段階の便益が実現され測定され、サンクした公的資金を取り残さずにプログラムを止められるようにします。
事例
スタートアップ。 9か月の滑走路を持つ6人のスタートアップは、自前の請求システムを築くか、ホスト型のものに払うかを議論します。1ページで、創業者たちは18か月の地平線にわたって二つの選択肢を比較します。構築は紙の上では安く見えますが、最初にエンジニア3人月を要し、遅延のコスト(そのエンジニアが中核のプロダクトを出荷していない間に先送りされる収益)がサブスクリプション料金を小さく見せます。ホスト型の請求を買い、乏しいエンジニアリングの時間を差別化要因のために守り、価格や量が計算を変えたときにだけ決定を見直します。
大企業。 小売業者は、eコマースのスタックを再プラットフォーム化するか、既存のものにパッチを当て続けるかを量ります。エンジニアリングと財務のチームは、企業の割引率で5年のモデルを作り、三つの選択肢(何もしない、増分的なリファクタリング、完全な再プラットフォーム)を、構築、クラウドの運用コスト、ライセンス、サポートにわたるTCOで比較します。現状の技術的負債の利息(上昇するインシデント率と遅くなるリリース周期)と、古いスタックがサポートできない機能の遅延のコストを定量化します。再プラットフォームは、初期コストは高いものの、3年目までに正のNPVを示し、以降は運用コストが低くなります。感度分析は、クラウドの価格が急激に上がらない限り、推奨が保たれることを確認します。一つの不可逆なコミットメントとしてではなく、マイルストーンに結びついた段階で資金を出します。
政府。 給付システムを近代化する機関は、公的な割引率と全寿命のコスト計算を使った費用便益分析の提出を求められます。主要な便益が使命の成果(より速く、より正確で、より公平なサービス)であるため、チームは信頼できる限り金銭化し(減ったコールセンターの負荷、より少ない誤支払い、回避された不正)、残りは金額を作り上げるのではなく、明示的な公共の価値の基準に対して採点します。ビジネスケースは何もしないベースラインを提示し、監査のために前提を公然と述べ、資金を独立に価値のある増分に構造化するので、次がコミットされる前に、各段階の便益が実現され測定されます。
ビジネスケース: 動機、ROI、TCO
ソフトウェアエンジニアリング経済学を実践する見返りは、より良い資本の配分です。お金、人、時間が、最も価値を生む仕事に流れます。その仕組みは三つあります。第一に、避けられた無駄。誠実なNPVやTCOのテストに落ちる提案は、何年もの支出を消費する前に却下されます。第二に、より良い順序づけ。遅延のコストに値段をつけることで、最も価値の高い仕事が前に進み、ポートフォリオ全体の見返りが複合します。第三に、高価な驚きの減少。全寿命のコスト計算は、安い構築に資金を出して高い運用に不意を突かれるという古典的な失敗を防ぎます。
実践のコストは控えめです。モデルを作るアナリストの時間、前提を述べる規律、リーダーが見出しの価格ではなく割り引かれた全寿命の数字で決めるようにする文化的な仕事。実践しないコストはより大きいが拡散しています。有形で近い将来のものを系統的に過大評価し、負債と遅延を過小評価し、避けられなくなってから初めて運用コストを発見します。この規律をリーダーシップに、他のすべての投資の決定への品質管理として枠づけてください。新しい支出の項目を加えるというより、既存のすべての支出の項目に説明責任を持たせます。避けられた低価値のプログラム一つ、あるいは運用コストの暴走を防ぐ正確なTCOの予測一つが、実践全体の元を何倍も取ります。
アンチパターンと落とし穴
- 総コストとしての購入価格。 構築やライセンスの料金で決め、何年もの運用、サポート、最終的な置き換えを無視すること。
- サンクコストへのコミットメント。 期待される将来の価値ではなく、すでに使ったお金のために失敗する取り組みを続けること。
- 精度の劇場。 推測された入力に築かれた10桁のスプレッドシートが、事前に決まった結論に偽の権威を与えること。
- 貨幣の時間価値の無視。 5年目の1ドルが今日の1ドルに等しいかのように、近い将来と遠い将来のキャッシュフローを比較すること。
- ゼロとしての無形のもの。 測りにくいからとリスク、セキュリティ、生産性、使命の価値を除外し、すべての決定を測定可能なものに偏らせること。
- 約束としての見積もり。 範囲ベースの工数の見積もりを固定日付のコミットメントとして扱い、カレンダーに合わせて管理すること。
- 値段のつかない技術的負債。 利息を勘定せずに近道をとり、デリバリーへの複合する課税が危機になるまで続けること。
- 遅延のコストへの盲目。 チームの稼働率と単位コストを最適化しながら、遅れによって失われるはるかに大きな価値を無視すること。
成熟度モデル
レベル1(開始)。 決定は、見出しの価格と勘で、反応的にケースごとに正当化されます。割引も、TCOも、述べられた前提もありません。見積もりは約束として扱われる単一の数字です。技術的負債と遅延のコストは、どのモデルにも見えません。
レベル2(発展)。 大きな投資は、いくらかのコストと便益を伴う大まかなビジネスケースを持ち、いくつかの運用コストが考慮されます。単純な回収期間やROIが現れますが、貨幣の時間価値と全寿命のコスト計算は不均一に適用され、チームごとに異なります。見積もりは時々範囲を伴いますが、実践は一貫していません。
レベル3(標準化)。 共有の割引率と地平線を持つ標準の経済的道具立て(NPV、TCO、ROI、遅延のコスト)が文書化され、ポートフォリオ全体で一貫して適用されます。不確実性は範囲と期待値でモデル化されます。技術的負債は見積もられて優先順位づけられます。ビジネスケースは何もしないベースラインを比較し、前提を述べ、監査可能です。
レベル4(管理)。 予測が実績に対して測定され、データで制御されます。見積もりの精度、実現されたROI、予測に対する運用コスト、遅延のコストの結果がベースラインに対して追跡され、重大な分散はレビューを引き起こします。ビジネスケースは定義された成功の尺度と、感傷ではなく証拠で徹底される打ち切りの基準を持ち、割引率と感度の前提は過去の結果に対して検証されるので、数字は単に作られるのではなく制御されます。
レベル5(オーケストレーション)。 経済的な推論は継続的で、較正され、ポートフォリオ、調達、リスクの計画と統合されています。ビジネスケースは証拠が届くにつれて見直される生きた文書で、成果がフィードバックされるので見積もりの精度は時間とともに改善します。遅延のコストが順序づけを駆動し、無形のものは明示的に評価され、段階的な資金が選択肢を保つので、組織は条件が移るにつれて、最も価値を生む仕事へと資本を適応的に再均衡させます。
議論のためのアイデア
- 可逆で低コストの決定に、分析が決定より高くつく前に、どれだけの財務的厳密さを適用する価値がありますか。
- あなたの組織はどの割引率を使うべきで、それを変えたとき推奨はどれだけ変わりますか。
- 無形のものを金銭化することが本物の洞察なのはいつで、都合の良い数字を作っているのはいつですか。
- 技術的負債の利息を、リーダーシップがその返済に資金を出すほど説得力を持って、どう値段づけしますか。
- 公共部門の設定で、金銭化に抵抗する公平性や使命の成果を、より明確な財務的見返りを持つ選択肢に対してどう量りますか。
- ビジネスケースは実績に対して見直されるべきですか。そして実現された価値が予測と乖離したとき、誰が説明責任を負いますか。
要点
- ソフトウェアエンジニアリング経済学は、価値とコストのトレードオフを明示的で、比較可能で、擁護できるものにします。本ガイドブック全体で使われるROIとTCOの推論の分析的な背骨です。
- 購入価格ではなく全寿命の総所有コストで決め、貨幣の時間価値が尊重されるよう将来のキャッシュフローを割り引きます。
- 見積もりを不確実性のもとの範囲として扱い、複数の方法でコストを三角測量し、工数の見積もりを固定日付の約束に固まらせてはなりません。
- 通常は見えないコストに値段をつけます。利息としての技術的負債と、失われた価値としての遅延のコスト。それらはモデルの中で最大の数字であることがしばしばだからです。
- 無形のものをゼロとして扱うのではなく明示的に評価し、営利あるいは公共の目的関数を誠実に選びます。
- 前提と(何もしないを含む)選択肢を述べる生きたビジネスケースを築き、厳密さを賭け金に適正にサイズ化し、組織がより良く見積もることを学べるよう、予測を実績に対して見直します。
参考文献とさらなる読み物
- Barry W. Boehm, Software Engineering Economics
- Barry W. Boehm et al., Software Cost Estimation with COCOMO II
- IEEE Computer Society, SWEBOK Guide (Software Engineering Economics knowledge area)
- Donald G. Reinertsen, The Principles of Product Development Flow (cost of delay, WSJF)
- Steve McConnell, Software Estimation: Demystifying the Black Art
- Douglas W. Hubbard, How to Measure Anything: Finding the Value of Intangibles in Business
- Ward Cunningham, “The WyCash Portfolio Management System” (the technical-debt metaphor)
- Philippe Kruchten, Robert Nord, and Ipek Ozkaya, Managing Technical Debt
- Mark Schwartz, The Art of Business Value and A Seat at the Table
- U.S. Office of Management and Budget, Circular A-94 (guidelines and discount rates for benefit-cost analysis)
- HM Treasury, The Green Book: Central Government Guidance on Appraisal and Evaluation