システム開発プロジェクトの90%は成功している---。大手のSI(システム・インテグレーション)ベンダーはこぞって,自社のSI力が高いと主張する。確かに,システム開発プロジェクトを途中で投げ出した話は聞こえてこない。しかし,本当に成功しているのだろうか。
今の日本のSI取引は,(1)階層の深い下請け構造を持ったベンダー企業と,(2)仕様の書けないユーザー企業のあいだで,(3)あいまいな内容の契約書が交わされている。三つの要素はいずれも,システム開発プロジェクトを失敗へと導いてしまう。
大手のSIベンダーが一定の利益を確保した上で下請け会社に再発注すると,下請けは少ない予算でやりくりしなければならず,質の低下を招きやすい。
ユーザー企業側でシステムの目的とその実現手段を十分に検討していなければ,完成したシステムの質は低くなる。さらに,契約段階での仕様があいまいであれば,目的とは異なるシステムが完成してもユーザーは文句が言えない。その結果,契約上は問題なくても,利用者の視点から見ると失敗しているプロジェクトがたくさんあるのではないだろうか。
通商産業省(通産省)も,このような状況に危機感を感じているようだ。同省は現在,中央官庁が発注するシステム開発プロジェクトで,ソフトウエア開発組織の能力を示すモデル「CMM(Capabiliry Maturity Model)」を採用するように各省庁に働きかけている。90兆円とも言われる電子政府プロジェクトの本格開始前に,不健全なSI取引を少しでも改善することが狙いだ(「通産省がCMMを採用し,業界慣行に一石」,日経オープンシステム2000年11月号)。
CMMは,米国防総省が米カーネギー・メロン大学(Carnegie Mellon University)に依頼して作成したもの。ソフトウエア開発組織のプロジェクト遂行能力を示し,より良いレベルになるには何をしなければならないかを記述している。数字が低いほど悪い状態を示す。例えばレベル1は,開発スケジュール表はあるが適切なプロジェクト管理が行われていないような組織を指す。高いレベルになるには,開発プロセスを明確に規定し,様々な尺度で現状把握できるようにならなければならない。
通産省が描いているCMM導入後の仕組みはこうだ。発注時にCMMのレベルを設定し,契約書に明記する。CMMのレベルを確定するには,発注仕様を明確化しなければならない。大手が下請けに仕事を流しても,システム開発の実働部隊が契約時に結んだCMMレベルを守っていなければ契約違反になる。契約内容が守られていることを確認するために,第三者による監視を行う。
CMMの導入は,システム開発プロジェクトの成功に効果を発揮することが期待できる。そこでは,ネットワーク技術やデータベース技術,プログラミング技術などの要素技術の知識だけでは駄目なことは明らかだからだ。経験豊富なエンジニアがいたとしても,技術がどんどん進化していく現状では,一つの技術を深く経験することは難しい。もちろん有名な大手企業が直接手掛けたからといって,成功が約束されるものでもない。
システム開発は,システム化対象の業務知識やネットワーク,データベースなどの要素技術の知識を集約しなければならないうえ,分析,設計,プログラミング,テストなどの各作業を高度にマネージメントしなければ成功しない。CMMは主に,後者のマネージメント力の向上に効果的だ。確かな技術力とCMMを組み合わせれば,システム開発プロジェクトを成功に近付けることができる。
理論的にはこうなるが,実務に適用するとなると検討しなければならない課題もあるだろう。通産省は今年度に発注する一部のプロジェクトでCMMを試行し,CMM導入の効果や,CMMそのものの評価を行う。
現状では,CMMの効果が未知数であることは否めない。CMMでなければならない理由もない。また,CMMを導入するには発注仕様を明確化するなど,ユーザー側の意識改革も欠かせない。CMMの導入は,一時的にはコスト増にもつながる。
だが,現状に不満を抱いているユーザーが多いならば,ユーザー側でCMMが広まることも十分考えられる。通産省の試みが,SI取引の改善につながることを期待したい。
(松山 貴之=日経オープンシステム)