変更容易性の2層モデル──予期的変更容易性と経験的変更容易性
概要
TSKaigi 2026「いつテストを書くか?」の発表内容を基にした記事。ソフトウェアの「変更容易性」を「予期的変更容易性」と「経験的変更容易性」の2層モデルで整理し、両者を両立させることがソフトウェアを「ソフト」に保ち続ける必要条件だと論じる。
詳細
- 予期的変更容易性(Expected Modifiability):変更前に抱く「変更のしやすさ」の感覚。変更に伴う作業量・影響範囲・成功確率・失敗リスクへの予期が「安心か恐怖か」を決める。開発者がソフトウェアに抱く不安・恐怖の程度
- 経験的変更容易性(Experienced Modifiability):変更中に経験する「変更のしやすさ」。労力・影響範囲・副作用の大きさ。開発者がソフトウェアから受け取る「変更への抵抗(摩擦)」の程度
- Robert C. Martinの言葉「恐怖はコードに腐敗をもたらす。誰もクリーンにしない」を引用
- 予期的変更容易性が低い→変更が慎重になり一回の変更が大きくなり影響範囲が読みづらくなる悪循環
- 経験的変更容易性が低い→労力増大→経済合理性の喪失→「作り直したほうが早い」という死
- 2つは必ずしも両立しない。設計を磨いても「変更しやすそう」と思われなければ片手落ち
参照
- 出典: https://blog.lacolaco.net/posts/two-layer-modifiability-model/
- はてなブックマーク数: 5