ユーザの立場での設計

プログラマにとってのユーザはテスタだったり保守担当者だったりするんだろうけど、そんな人がどう使うのかを考えた設計をしたほうがいいよね…というのは当たり前な話ではあるのに、古典的なウォーターフォールでは余計なお世話だったり地雷原だったりするのが、なんとも悩ましいところですよね。
完璧な設計書が来ないということ、つまり上流工程で決定された事項はきっちり実装する、決定されていない事項は適当に実装する、ってのは普通のことで大抵の場合は問題にはならない*1。むしろ問題なのは、変な設計書が来たとき。例えばテーブル仕様書と称して、テーブル名とカラム名をざっくり定義してあるけど、リレーションはおろか、キーの指定すらないとか。いったいそれで、どうせいっちゅねん(笑)。この辺はもちろんプログラマだけじゃなく、他の人にも同様。もしかして、世の中にも同様。
って、だんだん話題がずれてきた。
ウォーターフォールって意思決定者を節約するのはいいんだけど、それって意思決定者が優秀なこと、決定された意思がロスなく伝わることを前提としてるっぽいのが、悲しい現場を思い出させる感じ。

*1:もちろん設計書の程度にもよるけどね