試行錯誤を共有すること
大規模ソフトウェアの効率的理解(その5)を書いていたのだけど、たまたま読んだ、渡辺千賀さん「On Off and Beyond、シリコンバレーIT業界転職率」にインスパイヤされて話をころっと変える。
主題は転職事情ではなく、そこで引用されているThe New York Timesの記事「In Silicon Valley, Job Hopping Contributes to Innovation, By VIRGINIA POSTREL, Published: December 1, 2005」からの孫引き
when there is a lot of technological uncertainty, the fastest way to find the best solution is to permit lots of independent experiments.
のくだり。
シリコンバレーやボストン郊外のルート128界隈の地域的な強みと言われているものは、一社に依存しているのではなく(日本の企業城下町とは全然異なることに注意しよう)、高い人材流動性と地域として試行錯誤を許容するカルチャーと言ってさしつかえない。核となる大学がある種の緩衝地帯を構成している事実もみのがしてはいけない。試行錯誤は大学ではじまり、ある程度、目が出てきそうになったらベンチャーに形をかえ、ビジネス上の試練を経て世の中のメインストリームになるか忘れさられるか。壮大な実験を彼の地でおこなっている。
ともかくやってみる事である。うまくいくかいかないかよくわからないけど、ともかくやってみる、そーゆーカルチャーである。賭金は高いがリターンも大きい。
通常はそのような試行錯誤は、その人の経験として蓄積される。チームでの仕事は当然チームメンバーで共有されるが、チームが解散し、それぞれ別の会社に移っても、ゆるやかに共有されるので、地域としてのベストプラクティスが徐々に蓄積されていく。
そこで、オープンソースだ。
OSSの評価プロジェクトを他社とやっている。スケーラビリティ上の問題をいろいろ発見している。問題点は発見したので、それを解決するパッチを作ろうという話になった。通常のプロジェクトであれば、試行錯誤の結果、何かしら効果のあったパッチを成果物として公開するというスタイルをとるだろう。普通はそうだ。
しかし、本当の価値は、パッチという結果ではなく、そこに至るプロセスである。試行錯誤して、効果のないパッチを山のように作ることである。その効果のなかった筋の悪いパッチの山から、われわれは何を学ぶかという点にある。
それらの経験は従来は個人に帰属していた。そしてその経験量が個人の資質とあいまってエンジニアとしての成長を促していた。
試行錯誤も含めて共有できれば、一人のエンジニアが経験できる量をはるかに凌駕する擬似経験ができるのではないか?無駄なパッチは無駄ではないのである。
全速力で試行錯誤を繰り返し、多くの失敗を重ね、その経験を会社の壁を乗り越え共有する。全く新しいコラボレーションのスタイルがオープンソースだから可能になる。
オープンソースというのは本当にとてつもないパラダイムである。




コメント