開発のジレンマ
何も無い所から規模の大きなソフトウェアを作り始めると、初期のステージは闇の中を手探りしているようなところがあり、落ち着かない気分があります。ちなみに、落ち着く落ち着かないと、面白い面白くないの感情は、直交しています。このステージが好きな人もいれば、嫌いな人もいるでしょう。ひとつだけ言えるのは、プロジェクトマネージャ(PM)にはこのステージは辛いということです。もっとも、PMなのにこのステージが好きという猛者もいるかもしれません。そういう人になってみたい気もします。
ある程度全体の形ができてくると、気分的には落ち着くステージになります。
しかし、ここで気が緩むとプロジェクトは失敗します。ソフトウェアがそれなりに動くことと、きちんと動くことには想像以上に距離があるからです。経験が浅いとこの距離を見誤ります。実は経験があっても、見誤ります。人間は都合の良い想像をしてしまうからです。致命的なデザイン上のミスは無いだろうとか、大きなバグは無いだろうと思って気を緩めると、後で痛い目にあいます。残念ながら、おそらく致命的なデザイン上のミスも、大きなバグもあります。見えないのは、見たくないと思っているからです。
ソフトウェア作成の格言に「小さく産んで大きく育てる」というものがあります。小さなステップで始めれば、ミスがあっても軌道修正のコストが小さくなるからです。経験の浅いプログラマはオーバーコミットしがちなので、格言を知るおじさんPMは若者を自制します。
だからと言って、経験が大事だ、と言うつまらない結論で終わる気はありません。
「小さく産んで大きく育てる」は確かに確率の高い戦略です。一方で、ただの臆病な戦略ではないのか、という気もします。1アウトランナー2塁で右に転がすバッティングのようです。そんなバッティングでヒーローになれるのでしょうか。「なんとか2.0」で満足するならともかく、アリエルは「なんとか1.0」を目指すべきです。
what(何を作るか)とhow(どう作るか)は違う、という反論はあるかもしれません。このふたつは違うものですが、問題は臆病さや保守的な態度です。
このジレンマへの対策には、対策自体が保守的と言えるほどありがちな方法をとっています。チャレンジングな革新チームと保守的なチームを作ることです。チームとしてもそうですが、各開発者がそれぞれに自分の中に両方のバランスを持つべきです。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/dev-dilemma/tbping