要求はふわっとしている。時間とともに変わりすらする。顧客もよく理解していない。 仕様はカチッとしている。曖昧さがあるべきではない。更新しないかぎり変わらない。ただし解釈は人により変わりうる。 実装は動かない。その挙動がバグか機能かはユーザーが決める。解釈系によって挙動が変わるかもしれないが、解釈系が決まれば挙動は決まる。 仕様そして実装は、ふわっとしていて、絶えず変化する要求に柔軟に対応しなければならない。要求のうち変化しうるものはなるべく実装の上で吸収されるべきであろう。 当初のユーザーが1名だったからといって、1名と決め打ちした仕様にしてしまうと、2名以上のユーザーが発生したときに大幅な仕様変更を伴うかもしれない。 決めるべきは、どこが変化するか。どのように変化するか。 自由変数が多く、自由度が高いほど、工数は増えるであろう。 ファミコンのゲームなどは、一旦発売したら変更は容易ではない
![要求と仕様と実装](https://cdn-ak-scissors.b.st-hatena.com/image/square/28ce961febcb6201f9ac898abdbfe41b470237fb/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--C5ntkxSq--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E8%2525A6%252581%2525E6%2525B1%252582%2525E3%252581%2525A8%2525E4%2525BB%252595%2525E6%2525A7%252598%2525E3%252581%2525A8%2525E5%2525AE%25259F%2525E8%2525A3%252585%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Acraccho%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2h2S05Cb0dvWUJwdGhGeENzbUNyLW5PWW9QNnFVN0pGNFdCVlVYYUE9czI1MC1j%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)