システム開発の生産性を下げる要因

システム開発を請負契約で行う場合、開発内容に応じて工数を見積もり、その工数に応じた金額で契約するのが一般的です。

この場合の生産性は、ざっくりとした計算式ですが「契約金額(円)÷実工数(人月)」でよいでしょう。

生産性向上が求められていますが、現実にはシステム開発の生産性はむしろ、見積時より下がってしまうことが多いように思います。

 

その要因の1つ目は、契約金額が工数に見合わない程度に下げられてしまうことにあるかと思います。

さらに掘り下げると、契約金額が下がってしまう理由として、

  • ユーザー側とベンダー側の力関係で、価格決定権がユーザー側にある。
  • ベンダー側が主導権を握れる場合でも、ユーザー側の価格感が合わず、工数に見合う金額(本来の金額)では失注してしまう。
  • システムという「見えないもの」に対して、コストを計上することに忌避感や嫌悪感がある。
  • ユーザー側がシステムだけではなく、システム化する業務も熟知しておらず、システム開発内容を過小評価している。

といったことが挙げられるのではないでしょうか。

 

かつてメインフレームの時代には、システム(プログラム)はハードウェアの付属物としてみられており、システム自体は無価値とされていたと聞きます。

そこから数十年で、システム開発自体にも対価が発生するという認識を多くのユーザー企業が持つようになりました。

とはいえ、現在の日本はまだ過渡期で、システムの規模に見合った対価がどの程度かという共通認識も乏しいですし、もっと言うとシステム開発の対価はその開発により「業務がどれくらい改善され、どれだけの便益があるか」に対するものであるべきでしょう。

極端な話、1人月でできるシステム開発でも、1億円の価値があると認めれば1億円で契約するのが本来でしょう。