【システム開発が失敗する原因11選】システム開発を成功させるポイントについても徹底解説!

日本のシステム開発の分野の技術は右肩上がりに向上している中、システム開発が失敗してしまうことは少なくありません。本記事では、システム開発が失敗してしまう原因をはじめ、システム開発を成功させるためのポイントについて、徹底解説致します。

システム開発の失敗確率

日経ビジネスによると、2003年9月に実施された調査では、新システム開発プロジェクトチームの成功率は約27%に対し、約15年後の2018年1月の調査では、成功率は約53%に上がっています。約15年の間で、日本のシステム開発技術は格段に向上していることがわかります。しかし一方で、未だ約半数のシステム開発は失敗していることになります。

参照元:日経ビジネス(https://business.nikkei.com/atcl/opinion/15/100753/030700005/)

システム開発の失敗とは?

システム開発における「失敗」の明確な定義は存在していません。しかし実際には、システム開発の失敗と言われる事象が発生しているというのが事実です。本項目では、システム開発の失敗と言われる5つの例について、詳細を解説致します。

納期の見積もりが甘く完成の見通しが立たない

ベンダー側において、クライアントの要望を汲み取った上で納期を決定しますが、納期の見積もりが甘い場合、完成の見通しが立たないといったトラブルが発生してしまう場合が挙げられます。ベンダーの知識及び技術力が不足していたり、スケジュールを立てる段階で休日稼働を視野に入れて無理のある納期を見積もっていたりということが原因である場合が多いでしょう。

システム開発チームのエンジニア不足

システム開発において、プロジェクトチームが発足しても、開発チームのエンジニア不足のため思うように開発が進まないというトラブルが発生する場合があります。予算が低くエンジニアを増員できないといったパターンも散見されることが多いです。どちらにせよ、エンジニア不足によって、本来問題なくできるはずのシステム開発ができないということでシステム開発の失敗とみなされることがあります。

予算不足によりシステムに必要な機能が搭載できない

見積もりの段階では問題なく開発可能であるということで、プロジェクトチームが発足し、システム開発が進んでいく中、蓋を開けてみると、クライアントの求める機能が実装できないといったトラブルが起きることがあります。この場合は、見積もりの段階でしっかりとクライアント及びベンダーの間で意思疎通ができていれば、防げるトラブルであると言えるでしょう。

完成したシステムがクライアントのイメージと違う

ベンダーとしては、クライアントの意図を汲んでシステム開発を進め、納期も問題なく納品した後、実際にはクライアントのイメージと違うというトラブルが発生する場合があります。この場合は、クライアントとベンダーの間できちんとした意思疎通ができておらず、完成イメージの認識にズレが生じているということが原因です。

開発したシステムが現場で活用されない

ベンダーがクライアントのイメージ通りのシステムを開発することに成功したとしても、クライアントの現場において、開発したシステムが活用されないといった事例があります。この場合、クライアントが現場の声に耳を傾けていなかったり、きちんとした運用フローを確立できていなかったりすることが原因です。しかし、この場合でも、システム開発が失敗したとみなされてしまいます。

システム開発における3つのリスク

本項目では、システム開発を失敗しないために、覚えておくべき3つのリスクについて解説致します。

認識的リスク

認識的リスクとは、クライアントとベンダーにおいて、開発する新システムの認識がズレたままシステム開発が進んでいくリスクのことです。クライアントにシステム開発の知識が少ない場合に発生しやすいリスクですが、開発早期の段階で認識の違いを発見することで、リスクを軽減することが可能です。

金銭的リスク

金銭的リスクとは、システム開発の最中に予算が不足してしまうリスクのことです。新システムの開発の特徴として、今までにないシステムを作り上げるため、予算の計上を行う段階で必要コストを算出することが困難であるという問題が挙げられます。

また、クライアントが開発が進んでいる最中に、別の機能も追加したい等といった要望をベンダーに申し入れてくることも少なくありません。この場合、システムの仕様変更の度に、開発コスト及び開発期間が膨らんでしまい、金銭的リスクが上がることになります。

技術的リスク

技術的リスクとは、計画段階では開発可能であると判断されていても、実際にシステム開発を進めていくと技術面で機能の実装が困難になるリスクのことです。また、無事にシステムが完成したとしても、実際に運用してみると動かなかったというトラブルも存在します。

万が一、開発途中で機能の実装が困難であることが判明した場合には、ベンダーはクライアントと交渉を実施し、機能の調整を図ることが重要です。

システム開発が失敗する原因11選

システム開発が失敗してしまう原因を押さえておくと、システム開発の成功確率を上げることが可能です。本項目では、システム開発が失敗する原因を11個解説致します。

要件定義がしっかり出来ていない・クライアントの要件提示ミス

クライアント側において、システム開発の要件定義がしっかり出来ていなかったり、要件の提示に誤りがあったりした場合に、システム開発が失敗してしまう場合があります。
この場合では、クライアント側にシステム開発に詳しい人材がいないというパターンや、クライアント側でどのようなシステムが必要なのかということがきちんと定義できていないことが少なくありません。

クライアントの会社にあったベンダー及びシステムを選べていない

クライアント側にシステム開発に詳しい人材がいない場合、クライアントの会社にあったベンダー及びシステムが選べていないという事例が多く挙げられます。
この場合、「有名なベンダーに依頼すれば大丈夫」「ベンダーが勧めるシステムだか間違いない」といったように、ベンダーに依存してしまうことが原因でシステム開発に失敗してしまいます。

クライアント及びベンダーとの連携不足

クライアント及びベンダーの間において、しっかりとした連携が取れていない場合においても、システム開発の失敗を招きます。システム完成イメージの認識に相違がある場合も同様です。

この場合では、システム開発が進んでいく中で、ベンダーがこまめにクライアントに進捗状況等を報告することなく、開発を進めてしまうことが原因であると言えます。

クライアント及びベンダーの間で認識がずれている

前述したクライアント及びベンダーとの連携不足にも関連しますが、クライアントの完成イメージがベンダーの完成イメージと認識が大きくズレている場合に、システム開発の失敗を招く場合があります。
この場合は、クライアント側においてシステム開発に詳しい人材が不足していたり、技術面や予算面で実現不可能な完成イメージを抱いていたりといったことが原因です。

プロジェクトチームの管理体制が甘い

プロジェクトチームの管理体制が甘い場合にも、システム開発の失敗が発生してしまうことがあります。例としては、プロジェクトチームメンバーが多すぎて管理しきれないといったパターンや、クライアント側の人間のプロジェクトチームへの参加が消極的であるパターン、プロジェクトチーム責任者が納期までの進行スケジュールを甘く見積もってしまっているパターン等が挙げられます。

目的が曖昧なままシステム開発をスタート

クライアント及びベンダーの間で、「何のために新システムの開発を行うのか」「新システムの機能の主軸は何であるのか」「新システムの運用の仕方はどうするのか」といった点が曖昧なままシステム開発がスタートしてしまうことも、システム開発の失敗の原因となります。
この場合では、ベンダーがクライアントに対して十分なヒアリングを実施できていなかったり、クライアントがベンダーに任せきりになってしまっていることがほとんどです。

ベンダーに任せきり

クライアントが新システム開発に対して積極的でなく、ベンダーに任せきりになってしまう場合でもシステム開発の失敗を招きます。ベンダーを信頼することも大切なことではありますが、任せきってしまうと、クライアントの想像していた完成イメージとかけ離れたシステムが完成してしまうことが多々発生しているのが事実です。

クライアントにおいて「信頼できるベンダーだから大丈夫」「システム開発についてはよくわからない」といった考えに至っていることが原因です。

システム開発工程の優先順位の曖昧さ

システム開発工程において、「何を最も優先としていくか」という順位付けができていない場合においても、システム開発の失敗を招くこととなります。
ウォーターフォール型」という開発工程を1つずつ終わらせていく方法で開発を進めていく場合においては、何かトラブルが発生した際、一旦プロジェクトチームの進行をストップする必要があります。その結果、納品スケジュールが大幅にズレてしまうことに繋がります。

予算及び納期の見積もりが甘い

新システムを開発するにあたり、どうしても予算及び納期を立てることは困難であることが多いです。そのため、実際にシステム開発を進めていくと、予算及び納期の見積もりが甘かったということが発覚することが少なくありません。
予算及び納期の見積もりが甘いと、結果的に予算が不足し機能が搭載できないといった問題や、納期に間に合わなくなってしまい、システム開発に失敗したことになります。

ベンダーの知識及び技術力不足

システム開発において、ベンダーの知識及び技術力が不足している場合においても、開発の失敗を招きます。ベンダーが新システム開発の工程を甘く見積もってしまっていたり、途中で急遽別の機能を追加したいというクライアントの要望が発生した場合にベンダーの技術力が伴っていないということが原因となることが多いです。

導入後の体制が整っていない

新システムが無事に完成したとしても、クライアント側において新システム導入後の体制が整っていないという場合でも、システム開発が失敗したとみなされることがあります。この場合には、クライアント側で現場と連携が取れていない、運用フローが確立できていないといった問題がある場合が多いです。
また、導入した新システムに何らかの問題が発生した際に、ベンダーのサポート体制が整っていないという場合も同様です。

システム開発を成功させる7つのポイント

前述した通りシステム開発が失敗する原因としては様々なものが挙げられます。本項目ではシステム開発を成功させる7つのポイントについて詳細を解説致します。

システムの目的を明確にする

システム開発を成功させるためには、まず第一に新システム開発の目的を明確にすることが大切です。目的がはっきりしていない場合、本当に必要である機能及び要件を洗い出すことが不可能となり、結果的にスケジュールの遅延及び完成後の追加機能開発へ着手しなければならないといった問題が発生してしまいます。

要件定義、仕様決定にしっかりと時間を確保する

前述したシステム開発の目的を明確にするということと関連しますが、特にクライアントは要件の定義に関して、しっかりと時間の確保を行うことが大切です。さらに新システムの仕様決定までには、クライアント及びベンダーとの間で密な連携の元、しっかりと時間を確保することが大切です。

優先順位を明確にする

特にベンダー側において、「ウォーターフォール型」という開発工程を1つずつ終わらせていく方法で開発を進めている場合においては、何かトラブルが発生した際、一旦プロジェクトチームの進行をストップする必要があります。そのため、スケジュールの遅延等が発生する可能性が高くなってしまうため、最も優先されるべき機能の開発から順を追って開発していく必要があります。

業務内容を理解する

ベンダーは、プロジェクトチームに必ず実際に新システムを運用していくクライアント側の現場の業務内容を理解した人材をメンバーとして加える、あるいは現場のヒヤリングをしっかりと実施し、業務内容の現状を理解した上で開発に取り掛かる必要があります。業務内容を理解できていない場合では、新システムが完成したとしても実際に利用されないという事態になりかねません。

クライアント及びベンダーとの連携

システム開発を成功させるためには、クライアント及びベンダーとの密な連携は必須です。連携がきちんと取れていなければ、システム完成後のイメージの認識に相違が出てしまうことがほとんどです。

契約書を交わす

システム開発を円滑に成功へと導くために、当たり前のことではありますが、取引契約時に、双方が合意した内容等について記載された契約書を必ず作成しておくことで、不要なトラブルを防ぐことが可能となります。

ビジネスマッチングサービスの活用

クライアントは新システム開発のためのベンダーを探す際、ビジネスマッチングサービスを活用することも、システム開発成功への近道となります。自社が必要とするシステムの開発に最も適したベンダーを探すために効率的な手段となり、ミスマッチを防ぐことが可能です。

まとめ

本記事ではシステム開発が失敗してしまう原因をはじめ、システム開発を成功させるためのポイントについて、徹底解説致しました。何度も述べてきたように、システム開発は、クライアント及びベンダー双方の密な連携が必須となります。クライアントはベンダーにシステム開発を任せきりにすることなく、しっかりとプロジェクトチームに主体的に参加し、自社の要望を伝えながら進捗状況を確認し合い、双方にとってよりよいシステム開発に努めることが大切です。

Leave a reply:

Your email address will not be published.