2008年10月7日火曜日

開発規模と開発工数の関係

一般的にソフトウェアは開発規模の拡大に伴って、開発工数が指数関数的に増大すると言われています。(情報処理技術者試験にありました)

なぜかというと開発すべき機能が拡大すると、次のようなことが必要になるからです。

  • 考慮すべき仕様が増える
  • 仕様が増えればコーディング量が増える
  • すると多くの開発要員が必要
  • プロジェクト管理のための工数が増える

よく機能数、画面数が2倍なので、工数も2倍と思いがちですが、それは危険ですね。

しかし、システムを使われるお客さんに視点を移すと、機能数と工数は比例するという思いが定着していると思います。家を建てるときに建坪を倍にしたからと言って、値段が跳ね上がることはないのと同じです。

むずかしい問題です。

低価格化と短納期化が進むなか、要求事項の多様化と技術革新の早さ、品質と生産性の問題、求められる信頼性・可用性・保守性、我々の抱える課題は数多く横たわっています。

もちろん、工数を抑える工夫は、設計段階に織り込んでいきますし、経験的に培われたノウハウは類似システムで活用されます。

考えなければいけないことは多いのですが、問題は、忙しさが指数関数的に増大するのではという「不安」に身をゆだねるのではなく、楽観的に考えて、仕事を「楽しむ」という方向でやっていけばよいかと思うのです。