「ソフトウェア開発に於ける心理的安全性の基礎」の例
「隔靴掻痒な議論 2」で、
・ ソフトウェア開発(プログラミング)を行なった結果、
・ 原因が増える(予想を尽くしていなかった)
事に対し、
・ この無能め!
とか
・ 非科学的な職人め!
とか言わない、ソフトウェア開発(プログラミング)を行なった結果、原因が増えるのは当たり前だ、と受容するのが基礎だと思います。
と書きましたが、
「原因が増える」例が有りました。
前にやっていたプログラムについて、かなり後の今になって問い合わせが有った事例です。(そのものずばりは書けないので、ぼかして提示しています。)
あっさりと変換しろと言う
- 「ある月 、 属性キー 、 正の整数」
(整数が0の場合、そもそもレコードが出来ない)
を、
- 「ある月 、 属性キー 、 %」
に変換しろ、と言う話でした。これが「事前の(増える前の)(プログラムの)原因」でした。
プログラムを作ってみると、
プログラムを作ってみると、
- 月全体で%を足し合わせると100にならないので、按分しないとならず、
一時的なテーブル(様の何か)が必要になり、 - 按分の際、
一番大きい方から、最小%を1単位ずつにするか?、
一番小さい方からか?、
一番大きい方に差分%を全部与えるか?
とか、また、
- かけ離れて小さい、正の整数(この場合は1)が0%になってしまい、
- 1の変換後が0%にならない様に、%の小数点以下の桁数を増やさなくてはならなくなる
と言う、正当に因果ダイアグラムに連なる、派生した原因が出てきました。
今回の問い合わせとは?
一時的なテーブル(様の何か)をぐちゃぐちゃ使い、
変な注釈がたくさん書いて有り、
(結局、一番大きい方から、最小%を1単位ずつにする事になりました。)
単なる変換にしては度し難く、プログラムの行数が多いので問い合わせを受けた様でした。
そういえば、「コボラー」に対する批判は、
過去に立ち返って考えると、「コボラー」に対する批判は、
- 派生した原因について文書化しなかった
からかも知れません。
色々な追加要望に対し、色々プログラムを改修したのは事実でした。
ただし、その当時は、
- プログラマーは文書化すべきでは無い
とされていたのも事実です。私が、「コボラー」に対する批判に対し、
- コンクリートの壁に頭を固定されて、殴られる
様に感じていたのは、ここが理由だったかも知れません。
今後は、事後確率も文書化すべきだと思います。
結論
これからも「隔靴掻痒な議論」でプログラミングが嫌いになる人は存在し続けることでしょう。