「ここでいい」を「ここがいい」へ。発注先探しなら比較ビズで

システム開発の見積もりは何をチェックすべき?適切な依頼先を選定するには?

最終更新日:2022年05月12日
合同会社なまけもの
監修者
代表社員 金谷 道
システム開発の見積もりは何をチェックすべき?適切な依頼先を選定するには?
この記事で解決できるお悩み
  • システム開発の見積もりを比較するには何をチェックすればいい?
  • なぜシステム開発の見積もり金額は会社によって大幅に違う?
  • 見積もりを比較して適切なシステム開発会社を選定するには?

システム開発プロジェクト立ち上げにあたって、相見積もりを依頼したことのあるIT担当者の方であれば、上述したような疑問・悩みを感じているはず。システム開発の見積もりは、一般の方には内容がわかりにくいうえ、場合によっては100万円単位で見積もり金額が変わってくることもあるからです。見積もりを見ても、依頼先をどう選べばいいかわからなくなってしまったという方も少なくないでしょう。

そんな方に向け、本記事ではシステム開発の見積もりは何をチェックすべきなのか?見積もりの具体例や見方、チェックポイントを解説するとともに、なぜ見積もり金額が大きくブレるのかを検証!適切なシステム開発会社を選定するためにすべきことも紹介していきます。

システム開発の見積もりはなぜブレが大きいのか?

ただし、開発体制や得意分野の違いというだけでは説明がつかないほど、システム開発会社によって工数が大きく異なる場合も少なくありません。システム開発の見積もりに大きなブレが生じてしまう要因はまさにここにあります。

これは、最終的に具体的なイメージのできる「モノ」を作る製造業などとは異なり、人間の作業プロセスを効率化する「システム」を作るシステム開発ならではの難しさがあるからです。以下から簡単に解説していきます。

システム開発のステージで見積もり金額は異なる

すでに解説したように、ウォーターフォールモデルによるシステム開発では、上流工程の作業結果を成果物としてアウトプットし、その成果をインプットとして次の工程の作業に取り掛かります。

つまり、ピントのぼやけていた「最終的な形」が、開発工程の進捗に応じて明確になってくるイメージであり、開発初期段階では「正確な見積もりを算出するための充分な材料・情報がない」状態なのだといえます。

出典:IPA「ソフトウェア開発の標準プロセス」

依頼側がシステム開発会社に見積もりを依頼する目的は、多くの場合「依頼先のベンダーを選定するため」であり、ベンダーは材料・情報が乏しいまま見積もりを作成せざるを得ません。

プロジェクトが開始してもいない時期の見積もり金額がベンダーによって大きくぶれてしまうのは、ある意味当然のことだともいえるのです。

見積もり計算方法まで知る必要はない

システム開発会社が見積もり金額を算出する際は、

  • トップダウン
  • パラメトリック
  • ボトムアップ

などの計算方法を使いますが、依頼側が意識する必要はありません。なぜなら、どの計算方法を使うのにしても「材料・情報」が少なければ、見積もりの精度を上げることはできないからです。

受注するシステム開発会社側としても、精度の低い見積もりでプロジェクトが炎上してしまうことを避けるため、その時々で得られる材料・情報を使って、もっとも精度を高められる計算方法を採用しています。

見積もり金額を算出するプロセスに、依頼側がかかわる必要はないのです。

開発ステージの進捗に応じて要求が増える

システム開発に必要な材料・情報を整理することで、見積もりの精度を高めることは可能ですが、一般的には、プロジェクトの開発ステージ進捗に応じて「システムに求める要求」が増えてしまう場合がほとんど。材料・情報が整理されることで「見えていなかった要件が見えてくる」からです。

出典:IPA「エンタプライズ系事業/見積もり手法」

当初想定していた仕様に変更・追加が生じれば、見積もり金額に変更が生じるのは当たり前。当初のシステム開発見積もりを決定事項としてしまうと、その後のプロジェクトの進行に支障が生じてしまう可能性が高いといえるでしょう。

システム開発の見積もりでは「要件定義」が重要

システム開発の見積もりに課題が多いのは事実ですが、依頼側の関心事は「提出された見積もりから、いかに自社に最適なシステム開発会社を選ぶか?」です。

しかし、ここまでの解説でもおわかりのように、単価・工数のブレが大きな見積もりでは、内容を比較すること自体が困難です。つまり、適切なシステム開発会社を選定するためには、比較の前提となる依頼条件を統一し、ブレに少ない見積もりを取ることが肝心。

そのためには、すぐに要件定義のステージに取りかかれる程度の「材料・情報」を揃えてから見積もりを依頼することが重要。上の図をご覧いただいてもわかるように、「システム化の方向性」「システム化計画」ができていれば、見積もりの誤差を最小限にとどめられます。これこそが「要求定義」です。

要件定義について

記事の後半にて詳しく解説しています。要件定義について知りたい方は本記事の「システム開発でもっとも重要な要求定義」をご確認いただけると幸いです。

発注者なら知るべき4つの見積の算出方法

システム開発会社が費用を見積もる際は以下のいづれかの算出方法を使います。それぞれメリット・デメリットがあるため、発注者としてしっかりと押さえましょう。

  • 類推見積(トップダウン)
  • 係数モデル(パラメトリック見積)
  • ボトムアップ(工数積上げ)
  • プライスツーウィン法

類推見積(トップダウン)

過去に行った開発プロジェクトの事例をもとに見積もりを算出するのが類推見積です。

メリット ・類似ケースをもとにスピーディーに算出可能
・類似ケースがあれば精度が高い
デメリット ・初めての開発の場合は算出が不可

係数モデル(パラメトリック見積)

過去の開発事例から係数を設けて工数や費用を算出する見積方法です。例えば、製品を10個作った事例があれば1個あたりの制作期間と費用が分かります。これを踏まえて、同じ製品を100個作る場合の期間と費用を算出するのが係数モデルです。

メリット ・機械的な算出できる
・見積担当の経験値に左右されない
デメリット ・データが少ないと正確性が欠ける

ボトムアップ(工数積上げ)

求められるシステムや開発作業を分解。分解された要素ごとに必要な費用・工数を見積もり最後に全体の見積もりを出す方法です。

メリット ・抜け漏れがなくせる
・精度の高い見積もりが出せる
デメリット ・見積もりに時間がかかる

プライスツーウィン法

発注者が要望している開発予算に合わせて見積もりを出すのがプライスツーウィン法です。

メリット ・開発予算の超過は防げる
・予算が限られている場合は便利
デメリット ・予算ありきのため必要な機能を実装できない可能性

システム開発の見積もり具体例

まずは、システム開発の見積もりがどのようなものなのか?具体的な例を紹介しておきましょう。見積書に決まったフォーマットはありません。依頼先によっても見積もり内容は異なりますが、項目・工数・概算金額を記載しているケースがあります。

項目 工数 概算金額
要件定義費用 80 4,000,000円
基本設計(外部設計)費用 50 2,500,000円
詳細設計(内部設計)費用 30 1,500,000円
プログラミング(開発・実装)費用 120 6,000,000円
テスト(結合テスト・システムテスト)費用 70 3,500,000円
進行管理費用 30 1,500,000円
機器(購入)費用 1 1,000,000円
諸経費   実費
導入支援費用   500,000円
合計   20,500,000円

システム開発の手法にはいくつかがありますが、見積もり例も含め、本記事では日本でもっとも採用されることの多い「ウォーターフォールモデル」を想定しながら解説を進めていきます。

工数や人月単価について

近年では工数からひと月あたりの人件費を算出する人月単価の算出が減ってきています。工数の項目がない見積もり珍しくありません。

ウォーターフォールモデルとは

ウォーターフォールモデルとは、文字通り「水が上流から下流に流れ落ちるように」開発工程・プロセスを進めていくシステム開発手法のこと。

具体的には、「要件定義」「基本設計」「詳細設計」「プログラミング」「テスト」という開発工程を経て、納品・受入テストへといたる開発手法です。

要件定義・設計を「上流工程」、プログラミング・テストを「下流工程」と呼び、上流工程でアウトプットされた成果を、次の下流工程のインプットとして活用していくことが特徴。そのため、ウォーターフォールモデルでは原則として「工程の後戻り」は想定されていません。

見積もりの内訳・費用項目

それでは、見積もり例で紹介した費用項目は、それぞれどのようなことにかかる費用なのでしょうか?簡単に表で紹介しておきましょう。

システム開発の見積もり内訳・費用項目 概要
要件定義費用 クライアントの要求を要件を落とし込み、システム概要・機能要件を定義して要件定義書としてまとめる費用
基本設計(外部設計)費用 要件定義書をもとに、開発するシステムの基本的な仕様・機能を定義し、基本設計書としてまとめる費用
詳細設計(内部設計)費用 基本設計書をもとに、システムの内部仕様・機能を定義し、詳細設計書・プログラム設計書としてまとめる費用
プログラミング(開発・実装)費用 設計書をもとにプログラムを開発・実装していくための費用
テスト(結合テスト・システムテスト)費用 開発されたプログラムに不具合がないかテストするための費用
進行管理費用 システム開発工程の進捗状況をマネジメントするための費用
機器(購入)費用 サーバなどの必要なハードウェア、ミドルウェアなどの必要なソフトウェアを購入する費用
諸経費 交通費・移動費などの実費でかかる費用
導入支援費用 納品後のシステム活用を支援するための費用。マニュアル・手順書作成なども含む

これ以外にも、クライアント側のニーズに応じて、既存システムからのデータ移管・マイグレーション費用、システム稼動後のシステム運用・保守費用が見積もりに含まれる場合もあります。

システム開発の見積もりチェックポイント

ここまでで、システム開発の見積もり例とともに、各項目がどのような作業にかかる費用なのか?何にかかる費用なのかを解説してきました。

それでは、提出された見積もりが妥当なものなのか、相見積もりの場合に比較すべきなのはどこなのか、チェックしておくべきポイントを紹介していきます。

見積もりの各項目

ウォーターフォールモデルの項目でも解説したように、システム開発は完成までにさまざまな工程を経る必要があります。これらの作業項目がしっかりと見積もりに網羅されているのか、最初のチェックポイントです。

なぜなら、システム開発の各工程でどのくらいの作業が必要なのか、概算で見積もらなければ大まかな費用を算出することさえできないからです。

特に重要なのは「要件定義」で、IPA(情報処理推進機構)でも開発費用全体の20%以上は要件定義にかけるべきだと提唱しており、極端に費用が少なくないか?チェックが必要となります。

見積もり項目ごとの単価・工数

システム開発会社によってフォーマットは異なります。工数の記入のある場合は想定人月単価をベースに、記載のない場合はスケジュールと投入リソースを確認しましょう。納得できる説明を求めることが重要です。また、説明がきちんとできることが良いベンダーを見抜く助けにもなります。

工数が記載されていた場合のチェック

見積もりの各項目ごとの単価・工数をチェックしておくことも重要なポイントです。この場合の単価は「人件費」を、工数は開発にかかる「作業量」を意味します。

たとえば、上述したシステム開発の見積もり例では、要件定義の工数が「80」となっているため、人件費となる単価は「4,000,000 ÷ 80 = 50,000円」となり、1日8時間で人件費50,000円のエンジニア1名が80日間、4名なら20日間かけて要件定義工程を担当するという意味。これを「人日単価」といいます。

また、エンジニアの単価を1か月で表した「人月単価」という算出方法もあり、この場合は「1日8時間で20日間稼動した場合の金額」になります。エンジニアの平均人月単価はおおよそ100万円といわれているため、上述した見積もり例の人月単価は「妥当」だといえるでしょう。

システム開発会社の質問・提案

要件定義や企画について指摘・質問を行ってくれる会社かどうかみると良いでしょう。「指摘・質問を行う」=「クライアントのニーズに応えるシステムの開発を具体的に考えている証」と言えるためです。

また、システム開発の見積もりに、独自の提案があるかどうかもチェックしておきたいポイントです。システム開発プロジェクトはベンダーとの協力関係が不可欠であり、コミュニケーションを円滑にするためにも積極性が重要です。

見積もり依頼に対して独自の提案をしてくれるシステム開発会社なら、プロジェクト開始後にも良好な関係性を築けると期待できます。

見積もりのチェックポイントからわかること

システム開発の見積もり項目からは、ベンダーの概算見積もりに対する姿勢が、提案からはベンダーの積極性がわかります。

一方、項目ごとの単価・工数からは、エンジニアの人件費・作業量がわかりますが、それだけではないシステム開発に係る要素も推測可能。以下から簡単に解説していきましょう。

工数から開発体制・得意分野を推測できる

システム開発費用の多くは人件費であり、見積もり金額は「各項目の人日単価(人件費)× 工数」で決まるといっても間違いではありません。

複数のベンダーから相見積もりを取った場合、金額が大きく異なる要因になるのも人件費と工数ですが、工数からはベンダーの開発体制・得意分野を推測可能です。

一般的に、スキルの高いエンジニアが揃えられる、過去の資産(プログラム)を流用できるなど、開発体制が整っているシステム開発会社ほど、同じ作業項目でも工数が少なめになる傾向にあります。開発するシステムの分野を得意とするベンダーなら、その傾向はより強まるでしょう。

見積もりから適切なシステム開発を選ぶ方法

「見積もりはもらった。どの開発会社に依頼したほうが良いのか」これが発注者の悩みどころではないでようか。ここでは適切なシステム開発会社を選ぶ方法を解説します。具体的には以下の2つのポイントを見ると失敗しないでしょう。それぞれ解説します。

  • 十分なサポート体制はあるか
  • 開発に必要なスキルとリソースはあるか

十分なサポート体制はあるか

開発後のサポート体制はもちろんですが、開発時のサポート体制があるかチェックしましょう。「要件定義からサポートしてくれるかどうか」はとても重要です。

記事の前半でもお伝えしましたが、開発の良し悪しは要件定義にかかっていると言っても過言ではありません。開発会社が要件定義の工程でサポートに入ることで開発のトラブル防止になりますし、期待どおりのシステムを手に入れることができます。

発注したいシステムと類似した実績があれば、開発における知見があります。適切なサポートを行ってくれる可能性が高いでしょう。「要件定義からサポートしてくれるか」「類似の開発実績はあるか」をとくにチェックしてみてください。

開発に必要なスキルとリソースはあるか

当たり前ではありますが、開発会社に要望しているシステムを開発しているスキルとリソースがなければ発注しても開発が頓挫してしまいます。発注者としてしっかりと見極めないといけません。

見積もり書に記載されている作業項目やスケジュールに具体性や妥当性があるか確認すると良いでしょう。具体的には「なぜこのスケジュールなのか?」といった質問を重ねて、開発会社が論理的に説明できるかどうかが一つの目安と言えます。

システム開発でもっとも重要な要求定義

システム開発プロジェクトの多くは、システム化の方向性・計画を「ヒアリング」というステージで済ませてしまう傾向がありますが、これではその後の開発工程に大きなブレが生じてしまう可能性が高くなります。

なぜなら、上流工程のアウトプットを次の工程のインプットとするウォーターフォールモデルでは、もっとも上流の工程となる「要求定義」が、システム開発プロジェクトでもっとも重要な工程となるからです。

出典:IPA「ソフトウェア開発の標準プロセス」

IPAでも、要件定義を含めたシステム化の方向性・計画を「超上流プロセス」と位置づけており、点線で囲まれた「企画」に該当する工程こそが「要求定義」です。

要求定義の責任は依頼側

それでは、要求定義はだれの責任において定義付けられるものなのでしょうか?システム開発プロジェクトの目的は、依頼側の「ビジネスの成長」に寄与する「事業・業務プロセスの効率化」です。

当然、それを決定できるのは依頼側だけであり、要求定義は依頼側の責任において策定されるべきものです。

出典:IPA「ソフトウェア開発の標準プロセス」

それでは、要求定義ではどのようなことを策定すべきなのでしょうか?原則としては、第三者であるシステム開発会社がプロジェクトの意図を理解でき、目的・ゴールのブレのない協力関係を築ける情報を与えることです。以下から簡単に解説していきましょう。

システム開発の目的・ゴール

まず明確にしておきたいポイントは、ビジネスを成長させるため開発するシステムで

  • どのような事業・業務プロセスを効率化させるのか?
  • それによってどのような状態になれば成功といえるのか?

がシステム開発の目的・ゴールです。<システム開発に限らず、プロジェクトが迷走してしまう要因の多くは目的・ゴールが明確ではないこと。プロジェクトの方向性を定めるためにも、シンプルかつわかりやすい目的・ゴールを設定する必要があります。

現状の課題・理想の姿(業務設計・業務要件)

システム開発の目的・ゴールを達成するためには、システム化によって事業・業務をどのように効率化・合理化するのかを定義する必要があります。

そのためには、解決すべき現状の課題(As-Is)を明らかにし、あるべき理想の姿(To-Be)とのギャップをどう埋めていくかを明確にしなければなりません。

これが業務設計であり、As-IsとTo-Beのギャップをシステムで埋めるために求める要件が業務要件です。完成したものの「使われないシステムになってしまった」といった失敗を避けるためにも、現場の声も反映しながら現実に即した解説策をまとめることがポイントです。

システムへの要求(機能要件・非機能要件)

業務設計・業務要件をもとに、開発するシステムに求める具体的な要求を「機能要件」「非機能要件」にブレイクダウンしていきます。

  • 機能要件

    システムに実装したい具体的な機能のこと

  • 非機能要件

    システムに求める機能要件以外の要素のこと

具体的には、検索機能・登録機能などが「機能要件」であるのに対し、システムのパフォーマンス、セキュリティ要件、アベイラビリティ(可用性)、保守性などが非機能要件です。

依頼範囲・範囲外

外部のシステム開発会社に依頼したい範囲、依頼しない範囲を明確にしておくこともポイントのひとつです。

たとえば、システム運用・保守を自社でまかなうのであれば、システム・ソフトウェアの開発のみ、自社システム部で要件定義までカバーするのであれば、設計・実装・テストのみが依頼範囲になります。

ハードウェア・ソフトウェアなどを自社調達するのであれば、機器導入は依頼しないことを明確にしておくといいでしょう。

予算・納期・自社体制・役割

システム開発の予算・納期、システム開発に関連する自社の体制や役割を明確にしておくことも重要です。

  • プロジェクトの規模やスケジュールはどうか?
  • プロジェクトに関係するステークホルダーはだれなのか?
  • だれがどのような役割を担うのか?

などが明確になっていれば、見積もりを依頼するシステム開発会社の側でも、自身の役割を明確にできるからです。

RFP(提案依頼書)にまとめる

ここまでに策定した要求定義は、RFP(提案依頼書)として取りまとめ、システム開発会社から提案を募る形にすることがベストです。

見積もりの前提条件となる「要求定義」をRFPで提供することにより、ブレの少ない見積もりが期待できるとともに、システム開発会社の提案力も見極めることが可能だからです。

要求定義をシステム開発会社にサポートしてもらう方法も

システム開発の超上流工程に位置付けられる要求定義は、システム開発会社からの見積もり精度を高めるだけではなく、プロジェクトの成否を左右する重要な工程です。

しかし、自社の現状を見直して業務設計するのはともかく、それをもとに業務要件を策定する、機能要件・非機能要件を設定することは簡単ではないかもしれません。

ITリソースが不足している企業であれば、業務目線で業務プロセスを言語化することはできても、開発目線で要求定義に落とし込むことは難しいからです。

そんな悩みを抱える企業であれば、要求定義プロセスのみをシステム開発会社にサポートしてもらうという方法があります。実際のシステム開発に着手する以前からコストが発生することにはなりますが、プロジェクトが迷走して収拾がつかなくなるリスクを最小化できます。

まとめ

見積もりは取ったものの、システム開発会社をどう選べばいいかわからないという方に向け、本記事では、システム開発の見積もりは何をチェックすべきなのか?見積もりの具体例や見方、チェックポイントを解説するとともに、なぜ見積もり金額が大きくブレるのか、適切なシステム開発会社を選定するためになにをすべきかを紹介してきました。

人間の作業プロセスを効率化することを目的とするシステム開発では、見積もりを依頼するベンダーによって金額が大きく異なる理由が理解できたのではないでしょうか?本来、システム開発と相見積もりは馴染まない面があることも事実ですが、前提条件となる要求定義を徹底することで、各社の見積もりを比較しやすくなり、プロジェクトの迷走も防げます。

どうしても自社だけでは要求定義をまとめられないのであれば、開発者にわかりやすく書面化するサポートのみ、システム開発会社に依頼することがおすすめ。「比較ビズ」なら、必要事項を入力する2分程度の手間で、要求定義策定をサポートしてくれる、優良なシステム開発会社をスピーディーに探せます。どのベンダーに相談すべきなのか?迷うようなことがあれば、是非利用してみてください。

自社にぴったりのシステム開発会社を探すには?

システム開発会社選びでお困りなら「比較ビズ」が解決します!

  • 費用相場がわからず不安...
  • 発注先選びを失敗したくない…
  • 忙しくて探す時間がない...

今年で運営17年目の「比較ビズ」は、仕事を”依頼したい人”と”請けたい人”を繋ぐマッチングサービスです。これまでWEBシステム、スマホアプリ、業務システムの開発など多くのご相談を頂き1万社以上もの企業様の発注をサポートしてまいりました。

まずは下記のボタンより、お気軽にご相談ください。

監修者の一言

システム開発の立ち上げ時はプロジェクトの成否のほぼ全てがかかっていると言っても過言ではありません。

そのため、見積もりを通しての開発会社の選定は非常に重要です。コラムでも触れている通り、適切な見積もりを出してもらうためには「何を作ってもらいたいか」をきちんと 整理・伝えることが重要です。

そうはいっても、開発に入る前に全ての情報や状況を網羅しきることは中々現実的ではありません。要件定義自体をサポートしてもらう事も視野にいれた方が全体的なコストは下がる事が多いです。開発会社が要件定義に加わることで開発の見積もりの精度や見通しも改善されます。

また、開発中にどういった事を期待するかによっても選定基準は変わります。類似実績が豊富な開発会社であればノウハウも豊富なため開発中も柔軟な対応が期待できますし、 新規性が高かったり期間が短いプロジェクトであれば技術力が高い会社が良いでしょう。

「何を作るか」と「開発会社に何を求めるか」の整理をした上で、見積書や提案についてきちんと説明をしてくれる開発会社を選ぶことがシステム開発の成功の第一歩といえます。

合同会社なまけもの
代表社員 金谷 道
監修者

組み込みエンジニアからキャリアをスタートし、Techベンチャー数社と大手SIerで技術責任者と事業開発を経験。技術とデザインの両面から設計が出来ることが強み。現在は各社の経営層の相談相手・新規事業企画をメイン業務としている。大手金融機関のポータルサイト、AIを使用したタレントマネジメントツール、ウェビナーメディアの立ち上げなどの実績がある。

Webシステム開発を一括見積もりで発注先を楽に探す
Webシステム開発を一括見積もりで発注先を楽に探す
比較ビズへ掲載しませんか?

一括見積もりで発注先を探す