事態はより深刻かも知れない
「プログラミング的逆問題に絡み被害担当をさせられる 1」で私は、
- 「プログラミング的」(逆問題)とした場合、
- 仕様からプログラムや利用感を得るのが順問題で、プログラムや利用感から仕様を得るのが逆問題 だと思います。
と書きましたが、事態はより深刻かも知れません。
- プログラムを発注する側が
- イメージする結果(最低限の上手く行ったと判定されるライン)から
- より良さを得るためにぼかした
- 結果に関する、設計者に対する発言を練るのが(発注者が行う)順問題で、
- 後者の発言と、
- 発注する側に追加で質問して得た、発注側の「直感的信頼」(ベイズ統計学 Wikipedia 日本語版)に関する発言から、
- 発注する側がイメージする結果(最低限の上手く行ったと判定されるライン)を得るのが(設計者が行う)逆問題
だとした場合、
プログラマーに「初めに」テストを書けと言うのは、
- 設計者が発注者に追加で質問をすべき内容を、プログラマーが設計者に予め示せ
- つまり、発注側の「直感的信頼」を設計者が得ようとしないで、
- プログラマーに(権限配分から言って不当に)構想させよう(得させよう)とする
- 丸投げ行為では無いか?
と言う事です。
これにより、設計者は「直感的信頼性」と言うリスクまみれの、情報を捻り出すと言う汚れ仕事から逃れられる、と言う皮算用だと思いますが、
当然プログラマーより設計者の方が所得が上なので、これは明確に不当です。
所得が上であるということは、そのリスクまみれの問題に対する解決が求められます。
それをプログラマーに押し付けると言うことは、プログラミングが嫌われる原因の大きな1つと思われます。
なぜプログラマーに「初めにテストを書け」と言うのか?
やはり、学校の先生が、その生徒(自分にとっての顧客)が設計者になるに際し、
- 発注者の「直感的信頼」を、
- 手練手管的な質問をすることで、
- 得ると言うリスクまみれの業務をする事なしに
- 高所得を得ると言う
- 顧客満足度の向上を与える
と言う、先生としてのカイゼン行為の結果なのかも知れませんが、縮む日本では成立しないと思います。
どうすべきか?
テスト(先験情報(あるいは事前情報)(逆問題 Wikipedia 日本語版)を必要とする)を書くのはプログラマーでは無く、設計者だと思います。それが出来て初めて、老後破綻する事なく、タワマンに住めるのだと思います。
結論
これからも「プログラミング的逆問題に絡み被害担当をさせられる」事でプログラミングが嫌いになる人は存在し続ける可能性は十分に有り得ます。