成果物は関係者が最善を尽くした結果であると考えることについて
クソコード関連の話題のときに、よく「成果物は関係者が最善を尽くした結果であると考える」ことが重要であるという論調が出てくる。これは成果物の責任を個人に背負わせ、個人攻撃に繋げないためだと思われる。個人攻撃をするべきではないというのは同意見だが、そのソフトウェアの歴史を批判的に振り返ることを避けるべきではない。 ソフトウェアの成果物が個人によって悪い結果になった、もし自分(たち)だったらよりよい結果を得られていたはずだ、と結論づけるのは傲慢である。一方で、歴史を振り返る際に、最善を尽くした結果なんだからこうなってるのも仕方ないよね、と波風が立たないような結論をつけるべきだというのも、不自然、あるいは不自然なことを要求する傲慢な主張である。なぜなら、人間は歴史を振り返る際に批判的な姿勢を少なからずとるからだ。歴史から学び、教訓にすることを人間は行ってきているのに、ソフトウェア含めたITの現場では批判的な姿勢をとらないようにしましょうね、というのもおかしな話だ。
もちろん、「最善を尽くした結果である」と「成果物を批判的な観点で評価する」ことは相反する事象ではないが、前者ばかりが昨今主張されており、逆に開発現場にねじれのようなものが生じているのではないか。
成果物を批判する話し手は、以下を心に留めて批判すると良い。
成果物を個人攻撃につなげない。
個人を批判するのではなく、成果物単体や組織を評価する。
聞き手は、以下を心に留めて受け止めると良い。
成果物と個人 (自分に限らず) をイコールで繋げない。
話し手の悪意を邪推しない。