設計の難題
https://gyazo.com/1f586b996efb9bd370bde03eb4f607b5
ソフトウェア設計にはさまざまな難題がある
やっかいな問題:タコマ海峡橋の例
破壊の原因は、横風によってつり橋が自励振動したためである。ただしこの原因は、無知によるものではなく、未知による。実際、振動現象が理解できないので、風洞模型実験がおこなわれている最中に事故が起こった。
無知による設計ミスではなく、その時点では知りようがない未知の原因によって崩壊した
「それを解決することによって、あるいはその一部を解決することによって、初めて明確に定義できるようになる問題である」をやっかいな問題と呼ぶ
設計はルーズなプロセス
設計は妥協と優先順位の産物
設計には制限がつきもの
設計は非決定論的である
3人に設計を任せると、それぞれ違う設計をする
設計はヒューリスティック(発見的)なプロセスである
非決定論的なので、試してみるやり方になる
設計は創発的である
進化的、イテレーションを繰り返して改善されるような性質