開発コストを最適化しようとするとき,その対策が開発言語によって全く異なる可能性が高い――。大手50企業を対象としたITコストのベンチマーク調査から得られた“意外”な知見の1つである。さまざまな相関分析データを基に,開発コストの最適化に効く要因が何かを考えてみよう。

黒須 豊
スクウェイブ 代表取締役社長

 前回までで,ITコストとITの業務レベルの調査結果,さらには両者に関する相関分析の結果を紹介した。いかがであっただろうか。

 今回から3回にわたって,「開発」「保守」「運用」といった業務領域ごとに,ITコストとの相関係数が大きい業務内容について分析していく。ユーザー企業50社からITコスト・データを集めたSLRの調査結果を基に,各業務領域における「ITコストの最適化」のポイントについて,筆者なりの分析と見解を述べたいと思う。

 まず取り上げるのは,システム開発領域のITコスト(以下,開発コスト)である。ITコストのベンチマーク調査「SLR(サービス・レベル・レイティング)」では,開発領域に5つの業務指標を設定した(図1)。「ユーザー業務レベル」「ベンダー業務レベル」「要求定義プロセス」「見積もり精度」「品質管理レベル」である。これら業務指標のレベルと開発コストの相関を明らかにすれば,どの業務指標に手を入れれば開発コストを最適化できるかが分かる。

図1●開発領域の業務指標
図1●開発領域の業務指標
図1●開発領域の業務指標
[画像のクリックで,5つの業務領域における,すべての業務指標を表示]

 ここでいう「開発」とは,スクラッチ開発を前提としている。パッケージ開発についての分析は別の機会に委ねたい。また,開発規模を測る定量的な指標として,ファンクション・ポイント(FP)を採用している。

使用する開発言語によって,開発コストの最適化策は全く異なる

 連載の第1回第2回では,ユーザー企業50社がIT業務ごとにどの程度のコストをかけているのかを示した。これをさらに細かく分析すると,興味深い事実が分かってきた。

 開発領域についても,従来のウォーターフォール型開発なのかアジャイル開発なのかといった手法による違いや,クライアント/サーバー型システムなのかWebアプリケーションなのか,といったシステムのアーキテクチャによる違いなど,いくつかの切り口から分析を試みた。

 その結果,とりわけ開発言語の違いが,開発コストに影響していることが分かった(図2)。具体的には,COBOLやCなどを「第3世代言語」,Javaや軽量開発言語などを「第4世代言語」として開発コストと業務レベルを比較したところ,開発言語の第3世代と第4世代で,業務レベルと開発コストの関係がかなり異なっていた。

図のタイトル
図2●開発領域における「業務レベル」と「開発コスト」の相関
[画像のクリックで拡大表示]

 つまり,開発コストを最適化しようとするなら,開発言語によって採るべき方策が異なる,ということだ。もちろん「ベンダー業務レベル」のように,言語によらず開発コストの最適化に影響する業務指標もあるので,それぞれを考慮した最適化策を考える必要がある。

 開発言語の違いは,設計・開発工程だけでなく,要求定義プロセスや要件定義プロセスにも影響を与えていると思われる。例えば,第4世代言語を採用している場合は,従来のウォーターフォール型の開発プロセスよりも,ラピッド・プロトタイピングといった柔軟性の高い開発プロセスを採用する割合が高い。このことが,分析結果に反映されている。

 開発言語の違いがどの程度開発コストに影響するのかを明確に把握している企業は少ないのではないだろうか。多くの企業にとって,この分析結果は参考になるはずだ。