ポール・グラハムの代表作。そのエッセーの多くはネットで読むことができますし、最新のものも精力的に発表されていますが、まとまって読めるのは大きいことだと思います。強いインパクトがある部分がたくさんありましたが、一つだけ引用してみます。
私の知る限り、複数の画家が一枚の絵に取り組む時、決して2人以上が同じ場所を描くことはない。親方が主要人物を描き、助手が他の人物と背景を描くというのはよく行われていた。しかし、ある画家が別の画家の描いた上に描き足すということは決してなかった。
ソフトウェアにおける協調開発でも、これは正しいモデルだと思う。協調ということをあまり押し出しすぎないことだ。あるコードが、特定の所有者を決めずに3人も4人もの人間にハックされると、それは共有部屋のようになる。雑然としていて見捨てられたような雰囲気が漂い、埃が積もってゆく。私が思うに、協調開発の正しい方法は、プロジェクトをはっきりと定義されたモジュールに分割し、各モジュールの所有者を決め、そして注意深く、できればプログラミング言語そのものほどに明快に設計されたインターフェイスをモジュール間に定めることだ。
実際、ポール・グラハムのViaweb(後にYahoo!に58億円で買収された)は、実際3名のプログラマが担当を分けて開発していたらしいです。バグに関しては、サポート部門と連携し、担当が分かれていれば誰がバグを出したか分かるので、即座に修正されたという。また、バグを出してしまうことに関する安全ネットは「そんなことをしたら同僚に対して恥ずかしいってことで、それで十分だったんだ」と言っています。
これは「もちろん諸刃の剣」で、信頼できる、良いプログラマからなる小さなチームでないとうまくいかないとも言っていますが、インターネット・ベンチャーとしては、「諸刃の剣」を使っていきたいものです。
コメントする