システム開発における発注側のリスクは?リスク管理表の作成方法、大公開【2024年最新版】

システム開発における発注側のリスクは?リスク管理表の作成方法、大公開!

システム開発にはさまざまなリスクが潜んでおり、発注する側はリスク管理することが大切です。

  • システム開発における発注側のリスクとは?
  • リスク管理のために発注側ができることはある?
  • リスク管理表の作り方が知りたい!

リスクをゼロにすることはできませんが、リスク予防とリスクが起きたときの被害を減らすことは可能です。そのためにもリスクについて知り、リスク管理と対策をしましょう。

本記事ではシステム開発を発注する側の視点で、開発会社との間に生じるリスクとリスク管理、対策方法についてご紹介。リスク管理表の作成方法やリスクヘッジのためのチェックリストも大公開しますので、ぜひ参考にしてください。

システム開発会社に依頼する際の注意点や成功事例については、こちらで紹介しています。あわせて確認してみてください。

※システム幹事では専任のコンサルタントがあなたのご要望をヒアリングし、ご予算にあった最適な会社をご紹介します。相談料などは一切かかりません。システム開発会社選びにお悩みの方は、システム幹事へどうぞお気軽にお問い合わせください。

【無料】おすすめのシステム開発会社を紹介してもらう

目次
  1. 1. システム開発におけるリスクとは
    1. 1-1. リスクが発生するとどうなる?
  2. 2. システム開発における4つのリスクと原因
    1. 2-1. 開発費が見積もりを大幅に超える「金銭的リスク」
    2. 2-2. システムが正しく動作しない「技術的リスク」
    3. 2-3. 希望と違うシステムが完成する「品質リスク」
    4. 2-4. システムの納品が遅れる「納期遅延リスク」
  3. 3. システム開発におけるリスクの対策方法
    1. 3-1. 金銭的リスク・納期遅延リスクには見積もり時に綿密な計画を
    2. 3-2. 技術的リスクはシステムの検証を、発注側の協力も大切
    3. 3-3. 品質リスクには受発注間で認識のすり合わせを
    4. 3-4. 開発会社の選定も重要なポイント
  4. 4. システム開発のリスク管理表・チェックリスト
    1. 4-1. リスク管理表に記載する項目
    2. 4-2. リスクヘッジのためのチェックリスト
  5. 5. システム開発のリスクマネジメントの手順
    1. 5-1. 手順1:リスクの洗い出し
    2. 5-2. 手順2:リスク分析
    3. 5-3. 手順3:リスク対応
    4. 5-4. 手順4:リスクコントロール
  6. 6. 【まとめ】リスク管理のためにも適切な会社選びを

システム開発におけるリスクとは

システム開発においても、以下のようなリスクがあります。

  • 金銭的リスク
  • 技術的リスク
  • 品質リスク
  • 納期遅延リスク

工数や要件が複雑なシステム開発では上記のようなリスクが潜んでおり、最悪の場合はプロジェクトが失敗する可能性もあります。

とはいえ、事前に対策をとることでリスクを抑えられますので、後ほど紹介する対策方法を参考にしてみてください。

リスクが発生するとどうなる?

リスクが発生した場合、以下のようなトラブルに発展する恐れがあります。

  • 発注側が希望するシステムが完成しない
  • プロジェクトが中断する
  • 受発注間の関係がこじれる
  • 訴訟問題に発展する

多額の費用を必要とするシステム開発では、開発費の支払いを巡って訴訟問題に発展するケースもあります。システム開発における訴訟問題の事例や原因、発注側ができる対策方法については、以下の記事を参考にしてください。

関連記事システム開発訴訟の事例と原因!発注側ができる対策方法は?

システム開発における4つのリスクと原因

リスクの種類

原因

金銭的リスク
(予算オーバー)

  • ・見積もりが甘い

  • ・開発工数が増えてコストが膨らんだ

技術的リスク

(動作の不具合)

  • ・要件が複雑

  • ・プログラミングの構成が複雑

品質リスク

(性能が不十分)

・システム像が共有できていない

  • ・優先順位が共有できていない

納期遅延リスク

(リリースできない)

・開発チームに欠員がでた

  • ・事業計画の修正が必要になった

システム開発においてトラブルになりやすいのは上記の4つです。最低限、4つのリスクが起きないように注意しましょう。

開発費が見積もりを大幅に超える「金銭的リスク」

見積もりよりも費用がかかり、当初の予算を大幅にオーバーしてしまう「金銭的リスク」。

単価×工数で費用が計算されるシステム開発では、修正などを考慮して費用を見積もりしなければなりません。見積もりが甘かったり、プロジェクトの修正や変更により想定以上に工数が増えたりすることで、金銭的リスクが生じる恐れがあります。

システムが正しく動作しない「技術的リスク」

システムが正しく動作しないのが「技術的リスク」。
開発可能と判断されていたのに途中で技術的に開発困難に陥るケースや、いざ稼働してみたら正常に動作しないケースです。

発注側の希望を盛り込みすぎたことによる、要件の複雑さやプログラミングの構成の複雑化が主な原因です。

希望と違うシステムが完成する「品質リスク」

希望していた機能や性能が備わっていないシステムが完成してしまうのが「品質リスク」。

開発の目的となるシステム像や備えたい機能の優先順位が受発注間で共有できていないと品質リスクが高まります。受注側がていねいにヒアリングをしない、発注側が希望を伝える努力を怠るなど、受発注間のコミュニケーション不足が原因です。

システムの納品が遅れる「納期遅延リスク」

希望する納期までにシステムが完成しないのが「納期遅延リスク」。

原因になるのは、不慮の病気や事故などによる開発側に欠員が出た場合
他にも発注側の予算削減や仕様変更の希望により開発が予定通りに進まず、事業計画の修正が必要になる場合などがあります。

【無料】システム開発の依頼について相談する

システム開発におけるリスクの対策方法

開発リスクの対策方法

リスクコントロールには事前に対策できることと、トラブルが発生した事後に対策することがあります。システム開発におけるリスクを減らすために、事前にできる対策方法を紹介します。

金銭的リスク・納期遅延リスクには見積もり時に綿密な計画を

金銭的リスク・納期遅延リスクを回避するためには、見積もりの段階から受発注間で綿密に打ち合わせすることが重要です。見積書には必要な工数、エンジニアの人数、開発期間、開発工程などの項目が明確に記載され金額が算出されているか確認しましょう。

システム開発ではさまざまな項目費用から見積もりを算出します。プロジェクトや開発会社により変わりますが、一般的な見積もり項目は以下の通りです。

要件定義費用

開発するシステムの仕様の調整・方針を具体的に決定する際にかかる費用

設計費用

基本設計・詳細設計・プログラミング設計等にかかる費用

デザイン費用

UI※などデザインをカスタマイズする際にかかる費用

開発費用

プログラミングにかかる人件費・技術費

進行管理費用

作業スケジュールの管理や調整のための費用

テスト費用

開発システムがエラーや不具合なく稼働するかテストする際にかかる費用

導入費用

システムを導入するときの初期設定に必要な費用

受入支援費用

既存システムのデータを新システムに移行する作業にかかる費用

導入支援費用

新システム導入のためのマニュアル作成、操作を説明するための説明会や研修にかかる費用

購入費用

システム開発に必要なサーバーやソフトウェアなどを購入するための費用

交通費用

打ち合わせで発生する費用。交通費や宿泊費など

保守費用

システム導入後に起きた不具合の修正や機能の改善にかかる費用、

システムの操作がわからなかったときの問い合わせサービス費用

※UI(User Interface/ユーザーインタフェース):ユーザーがPCとやり取りをする際の入力や表示方法などの仕組み。表示されるデザイン、フォントなど、製品であれば製品そのものや外観など、ユーザーの視覚に触れる全ての情報。

「トラブル時の責任の所在があやふや」「見積もり金額の算出根拠が不明確」など、見積もりがあいまいな場合は金銭的リスクが高まります。金銭的リスクを回避するためにも、見積もり時は以下のポイントを必ず確認しましょう。

開発期間が妥当か

見積もりで設けられた各フェーズ「要件定義、設計、開発、テスト、導入」の期間が妥当であるか確認しましょう。設定されたスケジュールで実現可能か、遅延が発生した場合にも備えているか確認します。

関連記事システム開発のテスト工程を徹底解説!システムテストと受け入れテストの違いは?

開発範囲を明確に

見積もり時に開発範囲を明確にしておくことは非常に重要です。開発範囲が明確でなければ正確な工数を算出することはできません。開発会社がどこからどこまでの範囲の開発をするのか、請け負う範囲を明確にし、責任の所在をはっきりさせることで未然にトラブルを回避できます。

やることを決めるのと同時にやらないことも決めておきましょう。データ移行や問い合わせ対応、導入後の操作説明など、開発会社が請け負う業務範囲を詳細まですり合わせることが大切です。

トラブル発生時を想定しているか

システム開発では仕様変更やシステムの不具合により、見積もりの段階では想定できなかったトラブルが発生する可能性があります。見積もりの段階からトラブルを想定して余裕ある予算・納期の計画を立てることが大切です。またスケジュールや見積額にゆとりがあることで、進捗に遅れが出た場合も開発側に人員を増やすなどの対応をしてもらえる可能性があります。

関連記事システム開発で炎上しないために発注者が注意すべきポイント

技術的リスクはシステムの検証を、発注側の協力も大切

システム開発の工程は「要件定義、基本設計、詳細設計、開発・実装、テスト・レビュー、リリース」に分かれています。開発側の技術的リスク対策になりますが、要件定義の前に1つ1つの要件について実現可能かシステム検証を行うことが大切です。早い段階で開発の実現性・不実現性を確認することで、開発が進んでから実現困難な状態に陥るのを防ぎます。つまり無駄に工数、コストを費やしてしまうリスクを回避できるのです。

発注側も技術的リスクに備えて気をつけなければなりません。発注側が希望を盛り込みすぎると要件やプログラミングの構成が複雑になってしまい、技術的リスクにつながります。

例えば旧システムから新システムへ移行する場合に、発注側のシステムを使う現場から反発が起きることがあります。新システムにも旧システムと同じような操作性を求めたり、「現状と異なる業務は行いたくない」と現場が現行業務をかたくなに変えたがらなかったりする場合です。

また、何でもシステムに任せようとしたり、例外処理が多い場合も技術的リスクを招く恐れがあります。現場の声に振り回されて要件がどんどん膨らんだ結果、スケジュールの遅延を招く恐れがあります。

発注側がデータを整理してからシステムに渡す、新システムの操作に発注側も対応する努力をする、不要な機能を搭載しないなど、発注側の協力も必要です。

関連記事システム開発の要件定義とは?受託開発における重要性や進め方を解説!

品質リスクには受発注間で認識のすり合わせを

希望と違うシステムが完成する「品質リスク」を抑えるためには、開発会社任せにしてはいけません。受発注間でコミュニケーションを密に取り、認識をすり合わせることが大切です。

開発会社が発注側の要望や質問をていねいにヒアリングすることはもちろん、発注側も希望を伝える努力をしましょう。特に開発の主軸となる「作りたいシステム像」を受発注間で統一することが重要です。

備えたい機能とその優先順位も伝えます。備えたい機能から優先的に開発することで、大幅な修正を防ぐためです。発注側も開発の流れや方法を把握し、不明な点はその都度質問しましょう。

品質管理は言うまでもなく開発側が行うべきですが、リスク回避のために発注側も関わることができます。下の図はシステム開発の工程を図にしたものです。

V字モデル

図だけを見ると少し複雑ですが主に、「要件定義」「基本設計」「受け入れテスト」といった「上流工程」と呼ばれる3つで、発注側は品質管理に関わります。各工程でどんな点に注意すべきかは、システム開発の品質管理を説明した記事で詳しく紹介しています。

関連記事システム開発における品質管理とは?プロジェクトの成否を左右する重要性を解説!

開発会社の選定も重要なポイント

リスクを軽減するには、開発会社選びも非常に重要なポイントです。以下のポイントを参考に、信頼できる優良な業者を探しましょう。

  • 経験・実績が豊富か
  • 担当者の対応がていねいでスピーディーか
  • 得意分野は何か、専門知識があるか
  • 要望や質問を正確に理解し、的確に回答してくれるか
  • 相見積もりを取る

関連記事:システム開発の費用・相場を解説!料金を抑えるコツも紹介!

システム開発をどこへ依頼すればいいのかお困りの方もいるでしょう。会社選びに不安がある場合は、プロに依頼するのもおすすめです。

システム開発会社選びにお悩みの方は、システム幹事へどうぞお気軽にお問い合わせください。
【無料】おすすめのシステム開発会社を紹介してもらう

システム開発のリスク管理表・チェックリスト

リスクマネジメントの主な流れ

リスクを回避するためにはきちんと管理表を作るべきです。リスク管理表によりリスク全体を客観的に把握でき、リスク対策することができます

リスクマネジメントの主な流れは以下のとおりです。多くのトラブルが同時に発生すると、すべてのリスク対応が困難になることも。重要度や優先度を設定することで、どのリスクから回避すればいいのか判断できます

1.リスクの洗い出し:リスクを洗いだす、共有する
2.リスク分析:リスクの重要度や優先度を数値化して評価する
3.リスク対応:リスクの対応方法を挙げる
4.リスクコントロール:対応策を実行する、事前対策と事後対策がある

リスクマネジメントのために、プロジェクトの開始前にリスク管理表を作成しましょう。「リスクの洗い出し」「リスク分析」「リスク対応」を整理できます。いざトラブルが発生しそうなときや発生時に、管理表を活用しながら適切に対処することができます

リスク管理表に記載する項目

リスク状況

どのようなリスクが発生しそうか

プロジェクトに与える影響(遅延日数や金額変更など)

リスク発見日

リスクを発見した日

リスク対応担当者

リスクを対処する担当者名

リスク重要度

リスクの重要度を「高」「中」「低」などで記述

リスク対応優先度

リスクトリガー(リスクが発生間近であることを示す状況)または

リスクが発生したときに回避する優先度

A,B,C」などで順番付けする

リスク対応策

リスクやリスクトリガーが起きたときの対応方法を記述


【主なリスクの対応方法】

  • ・回避:リスクを取り除くための策

   (代替案、スペックのグレードアップなど)

  • ・移転:第三者に責任を移転させる策

   (開発側がIT保険に加入しているか確認する、

        下請けがある場合は責任の所在を明確にするなど)

  • ・軽減:リスクの発生確率や影響を軽減させる策

   (予備費の確保、予防策など)

  • ・保持:リスクが起きても受け入れる、割り切る策

対応期日

課題解決しないとプロジェクトに影響が出る期日

ステータス

未着手/対応中/保留/完了など、状況を記載

リスク管理表はエクセルやGoogleスプレッドシートなどで作成することができます。システム開発プロジェクトのメンバーや社内で情報共有し、常に最新の情報に更新するようにしましょう。

上記以外にも、プロジェクトの内容や状況に応じて追加した方がよい項目がある場合もあります。プロジェクトの関係者で話し合いながらリスクを書き出し、リスクの認識と対応方法を共有しましょう。

またせっかくリスク管理表を作成しても活用しなければ意味がありません。リスクが発生しそうな場合や発生時は利用し、最新の情報に更新・共有することが大切です。

Excelで作成したリスク管理表の例を紹介するので、参考にしてください。

リスク管理表

リスクヘッジのためのチェックリスト

リスクマネジメントに有効なリスク管理表ですが、リスクの洗い出しは簡単な作業ではありません。そこで下記にリスクヘッジ(事前に想定される危険を回避するための予防策)のためのチェックリストを公開します。参考にしながら、自社のリスク管理表を作成しましょう。

スケジュール

開発稼働日が開発会社の都合で変更にならないか

  • ☑複数の関連プロジェクト間で不整合は発生しないか
  • ☑各フェーズの完了条件が明確で達成できそうか

コスト・費用

  • ☑コストと成果物の関係が曖昧で、誤解を招かないか
  • ☑見積もりの前提条件は明確で、第三者が見てもわかるか
  • ☑コストオーバー時、不測の事態に備えた想定はしてあるか


体制・人員

  • ☑プロジェクト担当の責任と役割が明確か
  • ☑担当者のスキルは必要要件を満たしているか
  • ☑担当者の健康面に不安、もしくは退職などの可能性はないか
  • ☑開発会社の窓口が明確で一本化しているか
  • ☑過度な長時間労働になっていないか、労働法は遵守しているか

環境

  • ☑作業スペースや開発環境に問題はないか
  • ☑作業環境のセキュリティに問題はないか
  • ☑バグや問題に関する情報の報告に漏れはなさそうか

品質

  • ☑品質・テストレビューは予定どおり行われているか
  • ☑欠陥への対応方針は明確か
  • ☑現行システムの機能が反映されているか
  • ☑要求が漏れなく反映されているか
  • ☑何でも希望を要件に盛り込みすぎていないか

【無料】システム開発の依頼について相談する

システム開発のリスクマネジメントの手順

先ほど紹介したシステム開発のリスク管理表・チェックリストを噛み砕いて、具体的なリスクマネジメントの手順を解説します。

  • 手順1:リスクの洗い出し
  • 手順2:リスク分析
  • 手順3:リスク対応
  • 手順4:リスクコントロール

上記の流れで順番に解説します。

手順1:リスクの洗い出し

チェックリストを使ってリスクを洗い出します。
事前に想定できるケースをリスト化しておくことで、漏れなくリスクを洗い出せます。

チェックリストがない場合は先ほど紹介した自社の管理表【リスクヘッジのためのチェックリスト】を参考に作成してみてください。

手順2:リスク分析

洗い出したリスクにランクを付けます。
リスクに対して重要度・優先度を設定することで、対処する順番が明確になります。

具体例をあげると以下のようなイメージです。

No リスク 重要度 優先度

1

認識のズレがあった A

2

開発担当者の離職 A

この場合は重要度・優先度が高いリスク1から対処します。

プロジェクトに影響がでないように重要度の高いリスクから対応していきましょう。

手順3:リスク対応

どのようにリスクに対応するか決めます。
以下のように事前に対応方法を用意しておくことで、スムーズに対処できます。

No リスク 対応方法

1

認識のズレがあった

・議事録作成   

・Q&A管理     

・書類に承認印

2

開発担当者の離職

新旧担当者で

・打ち合わせ  

・引き継ぎ     

・進捗管理     

上記のように事前に洗い出したリスクに対して具体的な対応方法を用意しておくことで、冷静に対処できます。

手順4:リスクコントロール

最後はリスクを回避するためのリスクコントロールです。

先ほどまでの「リストの洗い出し」「リスク分析」「リスク対応」で作成したリスク管理表をもとに事前に想定したリスクを回避しつつ、発生したリスクを対処していきましょう。

【まとめ】リスク管理のためにも適切な会社選びを

システム開発にはさまざまなリスクが潜んでいます。開発会社任せにせず、発注側もリスク管理することが重要です。今回紹介したリスク管理方法を参考に、リスク予防とリスクの被害を抑えるためのリスクマネジメントを行いましょう。

開発会社選びも重要なポイントです。信頼できる業者と契約することは、リスクの軽減につながります。受発注間でスムーズにやり取りができる、希望するシステムを作成できる開発会社を探しましょう。

システム幹事では専任のコンサルタントがあなたのご要望をヒアリングし、ご予算にあった最適な会社をご紹介します。相談料などは一切かかりません。システム開発会社選びにお悩みの方は、システム幹事へどうぞお気軽にお問い合わせください。

【無料】おすすめのシステム開発会社を紹介してもらう

Q. システム開発のリスク項目は?

システム開発のリスク項目として「金銭的リスク」「技術的リスク」「品質リスク」「納期遅延リスク」の4つが挙げられます。それぞれの詳しい内容は記事内で紹介していますので、ぜひご覧ください。