はじめに 有名なプログラマージョーク プログラマの夫に「買い物にいって牛乳を1つ買ってきて。卵があったら6つお願い」と言ったら、夫は牛乳を6パック買ってきた。 プログラマーを笑う自虐ジョークとして使われがちですが、 良い題材なのでこれを元に要望 と 要件定義 と 設計 と 実装 の違いを纏めてみましょう。 下記、それぞれのフェーズの原理原則論を記載します。 各フェーズの原理原則 1. 要望 顧客(妻)の要望 を書き出す:顧客の仕事 買い物に行って牛乳を1つ買ってきて、卵があったら6つお願い。 2. 要件定義1(ダイジェスト) 顧客の要望から曖昧な点を除いて復唱する:PMの仕事 上記だとプログラマーの夫は牛乳を6本買ってきました。夫は妻に、要望をより具体的な形で復唱する必要があります。 ここでは、卵を6つ買ってくるという事を確認することで事故を防ぐことができます。 牛乳を1本買ってくる 卵が