2005 年 11 月 24 日 : プログラマーの仕事
ソフィア・クレイドルのプログラマーは、製品の企画、デザイン、プログラミング、テスト、ドキュメンテーション(含む Web 制作)、メインテナンスまで幅広く業務を担当する。単にプログラミングだけをしているわけではないのだ。
大きな組織では、それぞれの業務ごとに担当者が決められていて、プロジェクトチームとして運営される場合が多い。
何故そんな運営方法を採るのか?という疑問を抱かれるかもしれない。
その答えは、単により早くよりクオリティの高い製品をお客様にお届けしたいからという点に尽きる。
例えば、システムの設計をする人( A )とプログラミングする人( B )が異なる場合を想定してみてほしい。A と B の間に必ず何らかのコミュニケーションが発生するはずである。
何故なら、少なくとも A から B へシステム設計に関する情報を伝達しなければ、B はプログラミングに着手できないから。
実は、この時の A から B への情報伝達が"スピード"と"クオリティ"に重大な影響を及ぼすのである。
大抵の場合、設計書と称される詳細なドキュメントによって情報伝達がなされる。ドキュメント作成が大変な作業で不要なオーバーヘッドとなる。A と B が同一人物であるのならば、詳細なドキュメントではなく覚書程度で十分。
しかも A が設計情報を間違いの無い完璧にドキュメントとしてまとめるのは不可能と言っても良い。どこか情報が欠落していたり、間違いがあったりするのが常である。これが原因で不具合が発生したり、後戻りの作業が多発するのである。
いわゆる、伝言ゲームである。
この時、A と B が同一人物ならそのような問題は発生しない。
どんな仕事でもそうかもしれない。システム開発では予期せぬ仕様変更は日常茶飯事。大きな組織では柔軟に仕様を変えながら開発するのは極めて困難である。
アナリスト、システムエンジニア、プログラマー ・・・ と職種を分けてプロジェクトを運営するよりもすべての業務を同一人物が担当する方が、スピードとクオリティという観点からは大幅に改善がなされる。(テストだけは他の人が担当することで効果がでる場合が多い。プログラマーの想定外のケースでテストを行えるからである。)
ベンチャーの最大の強さは、圧倒的な"スピード"と"クオリティ"である。
"スピード"と"クオリティ"は開発のプロセスにおいても徹底追求すべきであり、創意工夫の余地は至るところにある。