『「停止させないコスト」と「停止する不自由」のバランスを考慮せず、「停止に問題がある」と騒ぐことに違和感を感じる 』 - アンケート結果から
表題は、日経ITProのインフラ停止に関するアンケートでの一意見。「ATMが5分止まっても許せるか?」等の質問があり、その自由回答の1つだ(元記事はここから)。この意見は、前提条件や制約を勘案しなければ結果を判断することができないという当たり前の話だが、現実には前提条件、制約が勘案されずに結果を判断されることが多いように思う。停止に限らず開発方法論や技法について、あるべき論を語っているWebやブログ等でもこの手の話をよく見かけるように思う。もちろん会話の中にもあるだろう。
特にソフトウェアに関しては、コストやリスク等、制約条件を理解しない限り結果を評価することは難しいと考えている。前提なしで「あるべき」「すべき」が出てきてしまう現状は見直す余地があるのではないかと思う。少し極端な話だが、私的なプログラムを作って、プログラムの不具合があったとしても自身の責任の範囲内におさまるレベルで楽しんでいるときに「設計ドキュメントがしっかり書けていない」「設計方針が悪い」「カプセル化が十分でない」「そもそも変数の名前が悪い」等と言われる場面を想像していただきたい。「なんか違うな」と思うのではないだろうか。
特に何かに失敗したときや実現ができていないときに、あまり事情を理解しようとせず、考慮が浅い、ダメだ、未熟だ、と安易に批判されていることが多いように思う。批判するほうが簡単だし、それに慣れてくると責めたてるための手持ちの常套句も増えてきて、その傾向を加速してしまうようにも思える。そのような厳しい態度が進歩につながる場合もあるとは思うが、一方でリスクをとって新しいことをしようという姿勢をどんどん弱めてしまうように思う。もちろん、人命にかかわる等アグレッシブに実行することが難しい分野には別の考え方が必要だろうが。
ついつい前提や事情を無視して「~あるべき」という話をしてしまっていないだろうか?特にご自身が苦労した部分や思い入れが強い部分で、前提や事情を考慮できなくなっていないだろうか?