1970年頃のホンダでは、エンジンの冷却方法について激しい対立が起きました。
熱力学的には水冷の方が合理的ですが、創業者社長の本田宗一郎は空冷にこだわりました。
宗一郎曰く:
- 「砂漠の真ん中でエンストしたときに水なんかあるか!空冷だ」
- 「水冷だってラジエーターを空気で冷やすんだから、最初から空冷のほうが合理的」
実は、宗一郎には、過去に水冷エンジンを開発した際、液漏れに苦労した体験がありました。空冷なら信頼性が高いだろうというわけです。
しかし、宗一郎肝いりで開発した空冷エンジン搭載の「ホンダ・1300」は商業的には失敗してしまいます。
宗一郎は副社長の藤沢武夫に諭され、技術者としての限界を感じていたのもあり、社長を退任します。
以後、ホンダの四輪車は水冷エンジンを採用します。
過去の苦労に囚われる
レジェンド・本田宗一郎と比べるのは恐れ多いのですが、ソフトウェア開発の現場でも過去の苦労に囚われ判断が歪むことがしばしばあります。
- Rubyは遅くて使い物にならないよね!
- Gitは日本語のファイルが文字化けするから怖いよね!
- エンジニアは文章を書けない!ルールを決めても書かない!だからドキュメント無しで開発する!
- ANSI規格が無い言語なんて、いつ開発中止になるか分からない。やっぱりCommon Lispだね!
などなど…。
こういう「判断の歪み」の恐ろしさは正当化しだす所にあります。単に「Rubyは遅い」と思いこんでいるだけなら「今のRubyは十分速く、大規模サイトでも利用実績がある」と示せば説得できるはずです。しかし、判断が歪んでる人の場合、「でも、サーバーリソースを使い切る観点ではJavaが優れている」「Javaのライブラリの代替物が全てRubyで見つかるとは限らない」「Rubyは学習コストが高い」などと、新たな理由を持ち出して何がなんでもRubyを避けようとします。
マネージャーやリーダーがこういう判断の歪みを抱えていると大きな機会損失を生んでしまうこともあります。
世間ではこれを「老害」とも言います。でも、私に言わせれば、これは老人特有の話ではなく、若くても何かしら非常な苦労をすると判断の歪みを抱えてしまうことはありえます。
追記:主観的な情報にこだわる
「老害」という書き方は、若干エモーショナル過ぎた感じがしました。
「過去の苦労に囚われる」を、もっと具体的に書くと、
「新しいツールや手法の導入に、主観的な情報(のみ)を根拠に反対する」
という事だと思います。
Rubyにせよ、Gitにせよ、ドキュメントにせよ、世間には膨大な利用実績があります。メリット/デメリットについても、客観的な情報があるはずです。
それにも関わらず「過去に苦労したから」という主観的な情報を根拠に反対するのは、「過去の苦労に囚われている」と言えるでしょう。
もちろん、「おや?これは過去の失敗に似ているぞ?」と勘を働かせ、それをきっかけに慎重に行動するのはいいことです。しかし、勘に「居着いて」しまうのは、生産的ではありません。
結論
結論はありません。
本田宗一郎の伝記を読んでいて、ソフトウェア開発に似た現象があると思ったので書いてみました。