例えば自動販売機で考えてみよう。
設計図というと寸法が決まっていてボタンの位置から中身の冷却装置の仕様まで決まっていてあとは部品を作って組み立てるだけ、と思うかもしれないだろう。
まず最初は「なんか飲み物が販売できて、お釣りの計算もできる機械作って」というところから始まる。
次に「どれくらいの商品を用意するか、売り切れの場合どうするか、補給方法はどうするか、見た目はどんな見た目にするか」と話し合いながら決まってくる。
まあだいたいこんな感じかなというところまでは決まってじゃあ作るべき部品を考えていこうとなる、これが設計図。
そしてさあ作り始めようとなった時に「あ、電子マネーにも対応したいな。」「あったかい飲み物も売りたいわ」「やっぱりもうちょっと商品数増やしたいわ、それだけなら簡単でしょ?」と言った要求が出てくる。
自動販売機で考えればわかりやすいが、もともと冷たい飲み物しか売らない前提で作っていた機械をあたたかい飲み物まで対応させるなんてまるまる作り変えないと無理だし30種類の飲み物を用意している機械を35種類に増やすのだって作り変えないといけない。
あれ? つまりプログラマーが激務なのって 客側のワガママと理解が足りないからってことか。 え?客側ひどくね? ちゃんと設計図もってこいってブチきれたくならないの?
そういう無理な要求をする客の仕事を受けない会社はどこにあるんだ?
無理な要求だとわかっていないだけに「たかだか対応できる商品数増やしてって言っただけなのにウン千万も見積もってきやがった、足元見やがって。そんな簡単なこともできないなん...
プログラムでできないならいっそ人力? でやったほうがいいんじゃない? ってなりそうだね。