変更容易性の二元モデル
DRANK
「変更容易性の2層モデル」というアイデアについて少し前にブログに書いたが、あれから考え続けたところ違う景色が見えてきた。そのアップデートを反映した「変更容易性の二元モデル」について書いておきたい。レイヤーモデルの課題2層モデルは、変更容易性が2つの層で構成されていると説明する。この見方が完全に間違っていたとは思わないが、2つの変更容易性の関係をうまく言い表せていないことは課題だった。レイヤーモデルは依存関係の一方向性を含意する。フロントエンドとバックエンドのように、上位のレイヤーは下位のレイヤーに依存するが、逆はない。変更容易性の2層モデルでは、予期的変更容易性が下層であり、経験的変更容易性が上層という説明になるが、これは実態に即していない。2つの変更容易性は相互に影響を与える。変更に対する恐怖・不安が少なくなることで、変更の頻度が増えることが考えられる。しかし、構造が変わらないまま変更の頻度が上がれば、メンテナンスのコストは高くなる。新しい変動性に適応するように構造が調整されていないからだ。また、変更のコストが低くなると、変更に対する不安も小さくなる。予期的変更容易性と経験的変更容易性の…