こんにちは。
車輪の再発明って言葉、使いませんか?
車輪の再発明が通じない…
先日、上司と定期面談をしていた時のことです。自由意見の際に自分が感じているチームの問題点として、情報共有の不足の相談になったんです。
というのもまぁ、うちのチームに限ったことじゃなく、会社全体の事なんですが、仕様書とか設計資料とかをサーバに入れないんですよ。
だから似たような案件があれば、親しい人なら貰いに行くかメールでくれというし、そうでもない、そこまでする程じゃない、もしくはそもそも似たような案件があるか知らないときは、手持ちの一番近い資料から作るんです。
これが馬鹿馬鹿しいから、一定の基準を設けて代表的な資料はサーバーに入れることで、共有しましょうよ…という提案をしてました。
その際、「車輪の再発明」のようなことが散見されると言ったところ、この言葉が通じませんでした・・・。
車輪の再発明とは
結構メジャーなワードだと思っていたので衝撃でした。
一応、Wikipediaにも掲載されています。
「広く受け入れられ確立されている技術や解決法を(知らずに、または意図的に無視して)再び一から作ること」
https://ja.wikipedia.org/wiki/%E8%BB%8A%E8%BC%AA%E3%81%AE%E5%86%8D%E7%99%BA%E6%98%8E
つまり、流用すればいいようなものを、流用しない(流用し損ねる)ことを言います。
要は似たような仕様書があるのなら、それを流用して作ったほうが効率がいい。しかし、現状はそれが共有スペースに置かれていないから、流用せずに作っている。そうすると、(仕事が完璧であるならば)同じものをチームで2回作っていることになる。勿体ない。ということを言いたかったわけです。
格言も随分極端ですが、荷車を作るときに足をどうしたらいいのか一人で考え、長い時間をかけて車輪を思いつくよりも、まずは使えそうなものがないか回りを見てみろ、車輪が目に留まるだろうってことを言っている・・・と思ってます。
プログラマの世界に限った格言だったか
ところが、調べてみて分かったのですが、どうもプログラマーに限った格言のようですね・・・。Wikipediaにも
特にIT業界、なかでもSEやプログラマの間で好んで用いられている表現、概念である。
https://ja.wikipedia.org/wiki/%E8%BB%8A%E8%BC%AA%E3%81%AE%E5%86%8D%E7%99%BA%E6%98%8E
とありました。調べてみると出元は
車輪は何度も発明するな。Perlの開発者で有名なラリー・ウォールが好んで使った言葉だ。科学技術のいいところは,一度発明されたもの開発されたものはだれでも簡単に使うことができ,その恩恵に授かることができることだ。
http://gihyo.jp/design/serial/01/net_dynamism/0007?page=2
ということで、プログラミング言語のPerlの開発者が使っていたようです。
車輪の再発明を目の敵にするな
更に調べていくと、車輪の再発明を目の敵にするなというような記事が多いです。どれもまぁ確かにそうだなぁと思うのですが、かといって車輪の再発明が良いとは思えない…という中で、うまくまとまっている記事を見つけたので紹介します。
要するに、すでにあるものを作り直す事にも効果はあると。言わばブラッシュアップは再発明のようなものだし、読むことで先人の知恵を取り入れ、書くことで自分のスキルに定着させることができる。このため、一概に再発明を嫌うべきではないということです。
一方で、作り直したものが既にあるものより品質が優れているとは限らないし、往々にして既にあるほうが高品質である(ブラッシュアップされているだろうからね)。また、未知の問題が含まれている可能性が高くなるから、作成以外の見えにくいコストが割高になる。だから、再発明したものを扱うのは少し慎重にならなくてはならないというわけです。
前述の記事では最後に
既にあるソース、他人のソースには先人や他人の知識が詰まっているので自分のソースに閉じこもらない方が良いですよ、というだけのことなのです。
http://isoparametric.hatenablog.com/entry/20091230/1262134418
と締めています。車輪の再発銘を正当に批判している例で、本質的に言いたいことは確かにそれだけかなと思いました。
なんて表現したらいいのかな・・・
とはいえ一方で、流用すればすぐ終わるような仕事があって、流用できる可能性のあるデータにアクセスできない状態になっている状況は、効率の面からみればやはり問題と考えます。
車輪の再発明に関する記事も結局、「既にあるからとにかくそれを使え」は辞めたほうが良いと言っているけど、「既にあるものを放って作るのが良い」とは言っていないわけです。とにかく、既にあるものが見つけられることが前提です。
なので、既存の類似案件のデータを共有するのは急務だと思うんですが、それをなんと表現して説得したものか・・・。悩ましい今日この頃です。