システム開発が失敗する4つの原因!成功のためのポイント
2021.05.20
システム開発の失敗は比較的よく発生するものではあるものの、可能な限りその割合を減らしたいと考えている企業は多いでしょう。システム開発の失敗といっても、企業やシステムによって失敗の基準が異なることも少なくありません。 この記事では、システム開発でよく見られる失敗の事例に加え、システム開発が失敗する原因やアウトソーシング時のポイントについて紹介します。
システムの品質に不備があった
システムの品質に不備があった場合、システム開発では失敗だと判断されることがあります。
当初予定していた要件の定義に該当する項目がなく、システムとして依頼主が求める機能が備わっていない状態になるようなケースです。
依頼主が開発企業に対して丸投げになってしまっていたり、開発企業側が得意分野外のシステム開発を無理な納期で引き受けたりすると品質を落としてしまうでしょう。
納期が予想以上に延びた
依頼主と開発企業間で認識のズレが発生し、修正対応や時間を要する開発が必要になって納期が予想以上に延びてしまうおそれがあります。
必要な人員が確保できない、または依頼主の要望が曖昧になっているなど、明確に納期を予測できない場合もあるでしょう。
納期は余裕をもって設定する必要がありますが、納期が延びるほど開発コストが必要になることから、厳しい納期設定で受注している企業も多いです。
また、仕様の追加や変更は、納期の遅れのみならず開発そのものが破たんする原因にもなります。
旭川医大とNTT東日本との間で起きた病院情報管理システムの開発トラブルでは、発注側である旭川医大による追加要件が1000近くに上った結果、開発が中止され、裁判にまで発展したケースがあります。
開発費が膨れ上がった
開発費が想定以上に膨れ上がることもシステム開発の失敗でよく見られる例のひとつです。
たとえば、仕様の難易度が想定よりも高かった場合や、既存のデータが複雑で移行作業に増員が必要になった場合などです。
増員によって追加の人件費が必要になったり、納期が延びてしまったりすることは、開発費が膨れ上がる原因です。システム開発を成功させるためには、作業工数を可能な限り正確に把握して見積りを行うことが重要です。
また、発注側と開発企業で密にすり合わせをしながら、最適なコストや期間を算出したうえで、品質高いものを開発しなければなりません。
ここからは、システム開発が失敗する4つの原因について紹介します。可能な限り失敗の確率を減らすために、まずは失敗する原因になりやすい要素を把握しておくことが大切です。
原因1.システムの役割・効果が不明瞭
システムの役割や効果が不明瞭で、発注側と開発側の意思疎通がうまく行われないことも、システム開発が失敗する原因のひとつです。
開発側に原因がある場合、システム開発に関する発注側の用途や目的の理解不足が挙げられます。
また、発注側が開発企業の技術力に対する理解不足によって、開発側に丸投げしてしまうのも失敗する原因になるでしょう。
原因2.納期・予算の見積もりが不十分
開発側の納期や予算の見積もりが不十分で、予定外のコスト増や納期の延長が発生するとシステム開発が失敗する要因になります。
見積もりの根拠が不明瞭で、工数などをしっかりと予測できていない場合や、必要以上に厳しい納期設定を行っているようなケースです。この場合、事前に見積もりに不備がないか、第三者に見てもらうなどによって対策が可能です。
また、費用内で依頼する作業の認識にズレが生じていると、追加費用の請求でトラブルになることもあります。
原因3.開発側とのコミュニケーション不足
開発側とうまくコミュニケーションが取れておらず、発注側の意図が伝わっていないこともシステム開発が失敗する原因になります。
ほとんど開発側に丸投げしていてプロジェクトの進行状況がわからないと、早期に修正依頼を行うことができません。
完成してから思っていた品質のものが得られなくなり、大幅な修正が必要になってコスト増・納期延長にもつながります。
原因4.開発側とのミスマッチ
開発側と発注側のミスマッチも、システム開発の失敗を引き起こす原因になります。
発注側が求めているような技術やノウハウをもっていないにもかかわらず、
開発側の専門外のシステム開発を依頼してしまうようなケースです。
開発側の知識や技術が求めているレベルを満たせず、納期までに終わらなくなり品質が低下する原因になってしまいます。
1.開発側との綿密なコミュニケーションをとる
システム開発の目的や用途、開発したシステムを導入することによって得たい効果などを明確にし、開発を依頼する企業と綿密にコミュニケーションを取ることが大切です。
どんな機能が必要なのか、どのような部署でどのような社員が使用するのか、社内全体に影響するものなのかなどを具体的に伝える必要があります。
また、依頼するタイミングだけでなく、開発途中でも綿密にコミュニケーションを行いながら進行状況を把握することも欠かせません。
打ち合わせや定例会などで、定期的に情報共有を行いながら方向性を微調整するのも良いでしょう。
重要なのは「開発企業に丸投げしないこと」であり、開発に積極的に関わっていくことがポイントになります。
2.契約書を作成する
民法上では口約束でも問題ないとされていますが、食い違いによるトラブルを防ぐためにも契約書を作成しておくのも失敗を防ぐ対策のひとつです。
システムに求める機能に加え、対価や保障内容などを記載した契約書を作成することで、回避できるトラブルを未然に防ぐ必要があります。
また、納期が延びてしまった場合や、追加修正が必要になった際に必要になる追加コストなども明確にしておくと良いでしょう。
3.ビジネスマッチングサービスを利用する
システム開発を依頼する企業を探す際に、ビジネスマッチングサービスを利用するのも方法のひとつです。
ミスマッチによるシステム開発の失敗を防ぐためには、求めているシステムを開発できるような企業を探さなければなりません。
そのような場合にビジネスマッチングサービスを活用すれば、依頼したい内容に応じられる企業を探すことができます。
ビジネスマッチングサービスは、仕事を依頼したい企業と受注したい企業を引き合わせるサービスです。ビジネスマッチングサービスを活用するのであれば、Ready Crew(レディクル)もおすすめです。システム開発の失敗率が高いことにお悩みの際には、ぜひReady Crew(レディクル)の活用をご検討ください。