複雑なシステムを作っていると、作ってる間に知識が増えて、知識のなかった時に行った意思決定により良い案を思いつくようになる この時に、作り直すべきか、そうでないか

  • 作り直すべき派
    • 歪んだ土台の上に塔を建てようとしても無駄に調整コストが嵩む。
    • 長期的に見れば今すぐ土台を直すべきだ
  • 作り直すべきでない派
    • 未知のものがシンプルに見えているだけ
    • 実際に作り出したら同程度に複雑だ

これは「誤った二者択一」なのではないか? 第三の選択肢があってそれが正解なのでは?

作り直す派は「誤った設計のまま続けるコストと、正しい設計の場合のコストの差は、長期的には正しい設計に作り替えるコストを上回る」と思っている 作り直さない派は「その正しい設計だと思っている新しい設計も、今の設計と対して違わない、だから移行コストをペイしない」と思っている この二つの意見の食い違いは「新しい設計」の良さの見積もりの差 これは「まだ作ってない」から「不確実性が高い」ので、見積もりに差が出るのは当然

第三の選択肢「不確実性を最小限のコストで削減せよ」

  • 新しい設計が本当に「それをベースに作り直す」価値があるのかどうかを、まずは最小限のコストで検証すべき

誤った二者択一