ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

矛盾することを考えていても、考えている人は気がつきにくい

入金された金額を登録して、予定の金額より多かったり少なかったら、その旨も表示したいという要望がありました。
合わせて、入金された方へのメールにも金額を出力して、入金された金額が予定の金額より多かったり少なかったら、その旨を出力したいという要望もありました。

電話で仕様を言われて話を聞いていると、入金された金額が予定の金額より多かったり少なかったら、特に少なかったらメールで知らせて入金してもらい、再度メールを送りたいと言われます。

続いて話を聞いていると、入金された金額が予定の金額どおりのときにだけメールを送りたいとも言われました。

f:id:AJYA:20170602224934j:plain
photo credit: Canadian Pacific Lloyds Bank via photopin (license)

矛盾しているのに気がついていない

お客さんは矛盾していることに気がついていないようなので、入金された金額が予定の金額でないかぎりメールは何度も送りたいのか、予定の金額になったときだけ送りたいのか、どちらなのか確認をしました。

やっと気がついたようで、予定の金額になったときだけ送りたいとのことでした。

予定の金額になったときだけ送りたいということであれば、入金された金額と、入金された金額が予定より多かったのか少なかったのか、予定どおりだったのかを、メールの文面に出力する必要はないのではと確認しました。
予定の金額になったときだけ送りたいのであれば、多かったり少なかったりすることはありえないので、メールの文面への出力は意味がありません。

お客さんは一旦電話を切った後、再度電話をかけてきて、メールを送るのは一度だけで、入金された金額が予定より多かったのか少なかったりしてもメールを送れて、入金された金額が予定より多かったのか少なかったのか、予定どおりだったのかを、メールの文面に出力するようにしたいと言われました。


これで仕様に矛盾がなくなったので、作成ができるようになりました。
少し考えれば矛盾に気がつけるのですが、なかなか考えた側は気づきにくいですね。
聞いている側は、冷静にできることかできないことかを判断しようとしているので、すぐ矛盾に気がつけます。