従来は、情報システムの全プロセスの一括請負契約が通常でした。それに対して現在では、RFP作成から提案書を受けて分析し外部設計書を作るまでの業務(上流工程)と、外部仕様書ができてから、それに基づいて情報システムを構築する業務(下流工程)、運用業務などに多段階に分割して、それぞれ個別に契約することが推奨されています。
一括契約が行われてきたのには、次の理由(誤った認識)があります。
- コストが下がる?
プログラミングなどの下流工程が開発費用の大部分を占めていたころは、上流工程は下流工程を受注するためのサービスであるとの認識があり、一括契約にすれば安価になると思われていたのです。
現在では下流工程の生産性が向上し、上流工程の割合が増大してきました。しかも、上流工程の適否が情報システムの価値を決定するとの認識が高まりました。ベンダは無料サービスどころか、付加価値の高い分野だと認識しています。そのため、一括契約にしても、必ずしも安価になるとはいえません。
- 作業が円滑になる?
上流工程を受注したベンダに下流工程も受注させれば、再度の説明が不要で円滑になると思われます。それは正しいこともあります。しかし、それでは上流工程での文書化がおろそかになる危険があり、
ITガバナンスの観点から不適切です。
また、一般に上流工程を得意とするベンダは、下流工程は下請を利用しており、そこで再度の説明が行われ、その費用は受注費用に加算されるので、結局は同じことだといえます。むしろ、発注者が実際に下流工程ベンダに直接説明するほうが誤解が少なくなります。、上流工程の厳密な文書化が重要です。
多段階契約には、次のメリットがあります。
- リスク回避ができる
情報システム開発には多様な不確定要因(リスク)があります。
・担当者へのヒアリングを行うのに伴い、RFP・提案書の段階とは異なる要件が出現する。
・システム仕様書が合意され開発が開始されてから、要件の追加や変更が出現する。
・利用予定のハードウェアが期待した性能が出ないことが判明する。
・利用予定のOSやミドルウェアが、期待した機能をもたないことが判明する。
そのため、当初の見積金額や納期と実際に開発にかかった費用や納期の間に大きなギャップがあり、それをめぐって発注者とベンダの間でトラブルが生じます。
多段階分割契約にすることにより、個々の契約範囲でのリスクを低減することができます。
- 適切な仕様ができる
情報システムの成否は、上流工程(要件定義)の適否が大きな影響をもつことが認識されるようになりました。ところが、下流工程を発注するベンダに、上流工程を依頼すると、上流工程がベンダの下流工程に好都合な仕様になることがあります。それを回避するために、分離した契約にするのが適切です。
- 専門ベンダが起用できる
ベンダには、それぞれ特徴があります。一般にシステムインテグレータのような大規模ベンダは、上流工程の分野に優れていますが、労働集約型の下流工程を担当させるには人件費が高いし、下請を利用する場合には管理費を上乗せするので高コストになります。
多段階に分割することにより、それぞれの段階で最も適したベンダを起用することができます。
多段階契約の問題として、下流工程を請け負うベンダから、上流工程で作成した外部仕様書が
・内容が不十分なので、再度分析を行う必要がある
・現状の技術水準では実現が困難、あるいは信頼性が低いものになる
・仕様を若干変更することにより、コストを大きく下げることができる
などの指摘が出ることがあります。
発注者が、それが正しい指摘なのか、下流工程の都合で主張しているのかを判断する能力がないと、上流工程の作業が無駄になってしまうことがあります。