ソフトウェア開発の見積もりはどのように行う?見積もり費用や要件を確認

最終更新日:2024年01月24日
 株式会社ラテラルリンク
監修者
代表取締役 岩井昌弘
ソフトウェア開発の見積もりはどのように行う?見積もり費用や要件を確認
この記事で解決できるお悩み
  • ソフトウェア開発の見積費用の算出方法が知りたい
  • なぜソフトウェア開発の見積もりは変動する?
  • システム開発会社に見積依頼をする際のポイントとは?

「ソフトウェアの開発依頼をしたい」「見積もりはどのように行う?」とお悩みの企業担当者、必見です。開発依頼では不透明な金額提示を受けることが多く、見積もりに苦手意識を持つ方は多いです。

この記事では、開発依頼の見積もりに慣れていない担当者へ向けて、見積費用の算出方法、見積費用が左右する仕組みを解説します。

依頼時に確認するべき見積要件や見積内容もくわしく解説するため、記事を読み終わる頃には、見積もりの基礎を押さえられるでしょう。

ソフトウェア開発にお困りではありませんか?

もしも今現在、

  • どの開発会社に依頼したらいいかわからない
  • 適切な技術選定ができない
  • 開発手法でどれくらい費用が違うのか知りたい

上記のようなお困りがありましたら、比較ビズへお気軽にご相談ください。比較ビズでは、複数のシステム開発会社に一括で見積もりができ、相場感や各社の特色を把握したうえで業者を選定できます。見積もりしたからといって、必ずしも契約する必要はありません。まずはお気軽にご利用ください。

ソフトウェア開発に対応できる業者を一覧から探す

ソフトウェア開発の見積もり金額はなぜ変動する?

複数のソフトウェア開発会社に相見積もりを依頼すると、依頼内容は同じはずなのに見積もり金額が倍以上違っていた、ということは珍しくありません。

これは、クライアントごとのオーダーメイドが基本であるソフトウェア開発では、事前に正確な見積もりを算出することが非常に困難だからです。

もっとも低い見積もり金額を提出する会社に依頼すればいいのか?

これは非常に危険な考え方です。なぜなら、見積もり時点で想定した機能が充分ではないことが多く、追加の開発が必要になる、結果的に予定した納期に間に合わない、開発コストが膨らむといった、いわゆる「炎上」プロジェクトになってしまう可能性が高いからです。

ソフトウェア開発コストの8割は人件費

ではソフトウェアの開発コストとはなにか?これはほぼ「人件費」だといってもいいでしょう。一般的に、ソフトウェアの開発コストに占める人件費の割合は「8割程度」だといわれています。

たとえば、ソフトウェア開発プロジェクトには「PM(プロジェクトマネージャー)」「SE(システムエンジニア)」「PG(プログラマー)」など、役割の異なるさまざまなエンジニアが参加します。

それぞれのエンジニアには、「人月単価」という「エンジニア1人が1か月作業した場合の人件費」が設定されています。どのようなエンジニアがどのくらい稼働したのか?を元に人件費総額を算出すれば、ソフトウェア開発コストの8割になるという計算が成り立つのです。

参考元:人月単価についてもっと詳しく知りたい方は下記リンクも併せてご覧ください。

正確な見積もりを算出するには正確な工数算出が必要

ソフトウェア開発会社が見積もりを算出する際に基準としているのも、エンジニアごとの人月単価です。具体的には以下の手順で算出されます。

  1. エンジニアごとの人月単価を1/20にして「人日単価=1日の人件費」を割り出す
  2. 工数=開発が完了するまでの日数」を掛けると「総人件費」が算出できる

上記の算出方法で出した見積もりの例は以下の通りです。

  人月単価 人日単価 工数(日数) 小計
PM 100万円 5万円 10 50万円
SE 80万円 4万円 10 40万円
PG(3名) 60万円 3万円 10 × 3 = 30 90万円
総計       180万円

このように算出された総人件費に必要経費などをプラスしていけば、ソフトウェア開発の見積もりを算出できることがおわかりでしょう。

ただし、正確に見積もり金額を算出するためには、それぞれのエンジニアの工数を「正確に算出」しなければなりません。ソフトウェア開発会社によって見積もり金額が大きく変動するのは、さまざまな要因で「工数の算出」が大きくブレてしまうからです。

ソフトウェア開発の概算見積もりは意味がない?

WordPressでWebサイトを構築する、既存ソフトウェアをカスタマイズするなど、ソフトウェア開発会社が過去の経験・ノウハウを活かせるような案件であれば、見積もり金額はある程度の範囲に収まるかもしれません。

しかし、ソフトウェア開発は多くの場合「独自性の高い業務で使用するため」や「革新的なサービス・体験」の提供・実現が目的であり、参考になる過去の実績・経験が無いことも少なくありません。

こうしたブレをなくすため、要件や設計の各要素を点数化して積み上げる「パラメトリック見積もり」などを採用する会社もあります。しかし、そもそも要件が定まっていないのでは見積もりを正確に算出できません。

プロジェクト初期段階で、概算見積もりの金額が2倍以上も異なることがあるのはこのためです。概算見積もりに意味がないわけではありませんが、あくまでも「予算感を探るための参考資料」として考えておくべきです。

ソフトウェア開発の見積の算出方法とは?

ソフトウェア開発の見積を算出する方法は、以下の通り4通りあります。

  • トップダウン見積
  • パラメトリック見積
  • ボトムアップ見積
  • プライスツーウィン法

ここでは、それぞれの算出方法の概要や特徴を紹介していきます。まず最初にそれぞれのメリット・デメリットを簡単にまとめました。

算出方法 メリット デメリット
トップダウン見積 正確性の高い見積を素早く算出できる 類似事例がないと算出できない
パラメトリック見積 知識や経験に左右されず数値を算出可能 データとサンプルがないと精度が落ちる
ボトムアップ見積 開発工程や工数ごとに見積を算出しやすい 大規模な開発案件には不向き
プライスツーウィン法 設定した予算の過不足を防ぎやすい 予算によっては品質に影響を受ける

トップダウン見積

トップダウン見積は、過去に対応した類似案件やプロジェクトの事例を元に見積を算出する方法です。過去の実績を参考にするため、イメージが付きやすくスピーディーに見積を算出することができます。また、算出する工数や費用に大きなズレが生じにくいので正確に算出できることも特徴の一つです。

デメリット

過去に類似案件に対応したことなく、新たなシステム開発の見積を算出するというケースにおいては、トップダウン見積は不向きです。過去の実績を拠り所にして成り立つ算出方法だということを意識しましょう。

パラメトリック見積

パラメトリック見積とは、ある数式モデルを活用して、各タスクを数値化していき見積を算出する方法です。数字を元に算出する方法のため、担当者の知識や感覚に結果が左右されないのが特徴です。

例:「ある製品Aを10個作る」タスクを見積もるケース

まず、過去の情報を参考にし「製品Aを1個作るのにかかったコスト」を割り出します。それが、「1個100円のコストで製造できる」とすれば、「製品Aを10個作るコストは1万円」という見積の算出ができます。

デメリット

これまで累積したデータやサンプルに依存してしまうため、情報が不十分だと、見積の精度が下がってしまうこともあります。

ボトムアップ見積

ボトムアップ見積とは、開発するシステムとそのシステムの構成内容や要素を想定し、見積を算出する方法です。各タスクの工数をもとに見積を算出していくので、抜け漏れがなく正確な見積もりをしやすく精度の高い点が特徴です。

デメリット

大規模プロジェクトにおいては、要件が変更する、納期が早まることも多々あるため、工数が読みづらく不向きな方法です。

プライスツーウィン法

プライスツーウィン法は、ユーザーの予算に合わせて見積を算出する手法です。ユーザーの予算を軸に見積もるので予算の上振れなどを防げる特徴があります。限られた予算で開発を実施するケースにおいては、プライスツーウィン法は優れた手法と言えるでしょう。

デメリット

限られた予算での見積になるため、実現したい機能を全て開発するのが難しいケースもあります。不足した機能を補うために二次開発や三次開発をするとなると結果的に追加コストがかかってしまうので注意が必要です。

ソフトウェア開発の見積もり:依頼時のポイント

ここまでの解説で、見積もり金額が「フィックス」されるのは「依頼先のソフトウェア開発会社が決定し、要件定義が確定してから」だということが理解していただけたと思います。

しかし、これでは予算を確定させないまま開発会社を決めなければなりません。なるべく「ブレの少ない見積もり」を取れないものかと悩む方に向け、ソフトウェア開発の見積もりを依頼する際のポイントを以下の2つから解説していきます。

  • 複数のソフトウェア開発会社への見積もり依頼が大前提
  • 提案依頼書(RFP)を作成して見積もり要件を統一

複数のソフトウェア開発会社への見積もり依頼が大前提

ソフトウェア開発会社を選定するためには、3〜4社程度の候補をピックアップしたうえで相見積もりを依頼するのが大前提。なぜなら、ソフトウェア開発会社によってエンジニアの人月単価も異なれば、技術力・提案力も異なるからです。

たとえば、仮に工数が同じであれば、エンジニアの人月単価の高い会社の開発コストは高くなります。見積もり金額が同じであれば、技術力・提案力に優れた会社に開発を依頼したいと考えるのが当たり前です。こうしたソフトウェア開発会社のコスト・実力を見極めるためにも相見積もりは非常に有効なのです。

提案依頼書(RFP)を作成して見積もり要件を統一

rfp-image-768x308

それでは、ソフトウェア開発会社のコスト・実力を見極めるのに有効な見積もりは、どのように依頼すべきなのか?それぞれの依頼先担当者が、まったく同じ条件で見積もりを作成できるよう「統一された見積もり要件」を伝えることがポイントです。そのために有効なのが「提案依頼書(Request For Proposal = RFP)」なのです。

提案依頼書とは、開発したいソフトウェアに関する正しい情報を伝え、よりよい提案・見積もりを得るための手法・文書です。記載する内容は「全体像」「見積もり要件」「その他」の3つ。

全体像 ソフトウェア開発の目的・背景、ターゲット、目標、予算感、スケジュールなど、プロジェクトの概要を理解できるもの
見積もり要件 ソフトウェアの機能要件、開発手法、依頼の範囲、保守・研修要件など、満たして欲しい具体的な要件
その他 決定していないが検討している要件など、伝えておきたいその他のこと

提案依頼書をしっかりと作り込めば、自社と依頼先担当者との認識のズレを防げます。相見積もりのツールとして提案依頼書を活用すれば、ブレの少なく比較検討のしやすい見積もりを入手できるでしょう。

ソフトウェア開発の見積もり要件とは?

提案依頼書のなかでも、ブレの少ない見積もりを取るために重要になるのが「見積もり要件」です。ハードルの高い項目があるのも事実ですが、できる限り内容を具体化しておくことが肝心です。以下からは、5つの項目を簡単に紹介していきます。

  • ソフトウェア開発の範囲・範囲外
  • ソフトウェア開発の使用技術
  • ソフトウェアの機能要件
  • ソフトウェアの保守・研修要件
  • ソフトウェアの開発期間・納期

ソフトウェア開発の範囲・範囲外

依頼したいソフトウェア開発の範囲、および範囲外の領域を明確にします。たとえば、システム開発の一環として、特定のOSで動作するソフトウェアだけを開発して欲しい、サーバを含めたインフラ構築は依頼しないといった形です。

保守を継続して依頼したいのか?導入研修は必要なのか?などを最初に明確にしておくことで、見積もりの対象範囲を絞り込めます。

ソフトウェア開発の使用技術

ソフトウェアを開発するにあたって、使用したい技術が決まっているのであれば指定します。特定のプログラミング言語を使って開発して欲しい、Win / Mac用のパッケージとして開発して欲しい、ウォーターフォールなのが?アジャイルなのか?などが挙げられるでしょう。

Webシステムや業務システムの一環として開発するなら、クラウドなのかオンプレミスなのか?インフラ環境も明確にしておく必要があります。

ソフトウェアの機能要件

開発を依頼したいソフトウェアにはどのような機能が求められているのか?想定できる範囲内でできる限り具体的にしておくことが重要です。ただし、機能を実現する方法・技術にまで言及する必要はないかもしれません。

たとえば、ソフトウェア開発会社の独自技術を活用した、よりよい実現方法の提案が得られる可能性もあるからです。ソフトウェア開発会社の技術力・提案力を比較できるポイントです。

ソフトウェアの保守・研修要件

ソフトウェアのリリース後も継続して保守を依頼する、サポート要員の育成のために研修・講習などを依頼するのであれば、保守期間や内容、研修の範囲やスケジュールなどの要件を明確にしておきます。マニュアル作成も含めた導入時の依頼内容も明確にしておくといいでしょう。

ソフトウェアの開発期間・納期

ソフトウェアの見積もり要件として非常に重要なのが、開発期間・納期です。なぜなら、納期がタイトであっても工数は減らせないからです。工数が減らせないのであれば、納期に間に合わせるためにエンジニアを余計に確保する必要があるため、場合によっては受託できないソフトウェア開発会社も出てきます。

納期に余裕を見ておくのも、ソフトウェア開発コストを抑えるのに有効です。開発期間だけでなく、テスト期間も含めてスケジュールを考えておくことが重要です。スケジュールが遅延した場合にどのような対策を取るのか?要望を明確にしておくのもおすすめです。

ソフトウェア開発見積もりの内容・項目

ベストだと思われる会社を絞り込む際に重要となるのが、見積もり書に必要な項目がキチンと記載されているか?ということです。

作業ごとの明細が記載されていない「ソフトウェア一式」といった見積もりを提出するような会社は避けた方が無難です。一般的なソフトウェア開発の場合、以下の8つのような項目が記載されているはずなのでチェックしていきましょう。

  • 要件定義費用
  • 設計費用
  • UIデザイン費用
  • ソフトウェア開発費用
  • テスト費用
  • 導入支援費用
  • 購入費用・経費
  • 保守費用

要件定義費用

要件定義とは、提案依頼書の見積もり要件を元に、ソフトウェア開発会社が必要な要件をまとめ、最終的な仕様として落とし込んでいく作業のことです。この作業にかかる費用が要件定義費用です。一般的には、PMが担当することが多い、もっとも重要な作業だといえるでしょう。

設計費用

設計費用とは、文書としてまとめられた要件定義を元に、ソフトウェアを開発するための設計図が作成する作業にかかる費用のことです。ユーザーの目に触れるインターフェースレイアウトなどを図式化する基本設計、プログラマーへの具体的な指示書となる詳細設計があり、PMやSEが主導して進められます。

UIデザイン費用

ユーザーインターフェース(UI)を独自デザインで制作する場合は、デザイナーに支払うUIデザイン費用が必要です。ゲームソフトを開発したい場合などは、UIを含めた多数のデザイン制作が必要になります。ユーザーの使い勝手を重視するソフトウェアであれば、UX(ユーザーエクスペリエンス)デザインが必要になる場合もあります。

ソフトウェア開発費用

ソフトウェア開発のメインともいえる、エンジニアの人件費がソフトウェア開発費用です。上述したように、開発に参加するエンジニアの人日単価に、工数(日数)を掛ける形で表記されることが一般的です。見積もり書を見ても単価・工数がわからないのであれば、見積もり作成者に確認しておくべき項目です。

テスト費用

開発中のソフトウェアが設計通りにキチンと動作するのか?確認するために必須のテスト費用です。ソフトウェアの種類・規模にもよりますが、パーツごとに動作検証する単体テスト、パーツを結合させて検証する結合テスト、依頼者にも検証してもらうユーザーテストなど、多数のテストが必要です。

テスト費用もイコール人件費

SEやPGがテストを担当する場合もありますが、ソフトウェア開発会社によっては「テスター」を起用するケースも。テスト費用もイコール人件費だと考えて間違いありません。

導入支援費用

開発したソフトウェアをスムーズにリリース・導入するための支援費用です。たとえば、パッケージソフトウェアであれば、ユーザー向け・サポート担当者向けに、システムの一部としてのソフトウェアであればクライアント向けに操作マニュアルを準備する、クライアント向けに研修・講習を実施する費用だと考えればいいでしょう。

購入費用・経費

ソフトウェアのみの開発であれば、既存パッケージを活用するなどがなければ購入するものはありません。一方、システム開発の一環としてソフトウェアを開発するなら、ハードウェアやフレームワークの購入が必要な場合もあります。こうしたソフトウェア開発に必要な機器・ソフトウェアなどの費用が購入費用です。

また、見落としがちな費用として、打ち合わせや研修などの移動に必要な交通費、諸経費などもあります。

保守費用

開発したソフトウェア・システムのメンテナンス・アップデート・改修などにかかるのが保守費用です。リリースしたソフトウェアは、ユーザーの声を反映させたアップデートが欠かせません。クライアント自身が活用するシステムの場合でも同じです。オプションとして複数の保守プランを用意するソフトウェア開発会社もあります。

ソフトウェア開発の見積もり:チェック時のポイント

ここまでで紹介した内容・項目が見積もり書に記載されていれば、提案書とあわせてソフトウェア開発会社の実力・コストを簡単に比較検討できるでしょう。ただし、見積もり書をチェックする際には、まだまだ注意しておきたいポイントがあります。以下の3つから簡単に解説していきましょう。

  • 見積もり要件が反映されているか?
  • 開発時のリスクが考慮されているか?
  • 管理工数は含まれているか?

見積もり要件が反映されているか?

まずチェックすべきポイントは、提案依頼書の見積もり要件がしっかりと見積もり内容に反映されているかどうか?です。依頼の範囲・範囲外が明確になっているか?使用技術が明確になっているか?開発期間・納期は記載されているか?など、提案書ともあわせながら確認していくことが重要です。

スケジュール遅延など、想定外の事態に対する責任の所在を明確にしているのか、検収方法・条件なども明記してもらうのがおすすめです。見積もりの段階でトラブルの芽を摘み取っておくことが肝心です。

開発時のリスクが考慮されているか?

開発中に想定されるリスクが見積もりに反映されているかも、チェックが必要なポイントです。修正費・トラブル対応費などの名目で、リスクに対するのりしろを設けているソフトウェア開発会社も少なくありません。

管理工数は含まれているか?

個々のエンジニアがバラバラに作業を進めるだけではソフトウェアは完成しません。参加するスタッフを取りまとめる進捗管理、クオリティを担保する品質管理、変更・障害管理などの費用が必要です。こうした管理工数が見積もり書に含まれているのか?確認しておきたいポイントです。

システム開発会社への見積依頼をする際のポイントとは

システム開発会社へ見積を依頼する際は、一社だけでなく複数の会社から見積をとるのがポイントです。3社以上のシステム会社に見積を依頼し、必要な情報を確保しましょう。

極端に安い見積もりがある場合、追加費用を要求するような内容などがあり結果的にコストがかかるだけでなく、品質の低い成果物が納品されるケースもあるので注意が必要です。システム開発を依頼する際は、事前に費用相場を把握し見積の妥当性をある程度、自分で判断できるようにしておくことが得策です。

ソフトウェア開発の見積をする際の注意点とは?

システム開発の見積もりをする際に、「想定外のコストがかかってしまった」というトラブルもよく発生します。ここでは、見積で失敗しないための注意点を2つまとめています。

  • 前提条件を明確にする
  • 詳細な仕様を事前に認識合わせをしておく

前提条件を明確にする

まず、見積を出す際は、システム開発会社側がどんな制約や仕様をもとにして見積を行っているのか前提条件を把握しておきましょう。

前提条件の認識合わせが不十分だと相違が発生するリスクがあります。こうしたトラブルに巻き込まれないようにも、前提条件をしっかりと把握しておくことが大切です。

詳細な仕様を事前に認識合わせをしておく

システム開発がスタートする前に、使用するハードウェアやソフトウェアはどれにするかなど、細かい仕様について認識合わせをすることが大切です。

この工程を怠ると、あとで認識の相違が発生する可能性があります。こうしたリスクを抑えるためにも、詳細な仕様を事前に認識合わせをしておきましょう。

まとめ

ソフトウェア開発の見積もりに悩みを抱える企業担当者に向け、算出方法・仕組みを含めたソフトウェア開発における見積もりの基本、見積もり依頼時・チェック時のポイントなどを解説してきました。ソフトウェア開発には、ある意味、雲をつかむような部分が多く、担当者としてもITの知識を得ておく必要があります。

そんなときに頼りになるのが、経験・実績豊富なソフトウェア開発会社。費用面だけではないサポートの得られる優良な1社を選定することが重要です。しかし、多種多様なソフトウェア開発会社が存在するなか、依頼の候補先を選ぶことすら迷ってしまうことがあるかもしれません。

「比較ビズ」なら、必要事項を入力する2分程度の手間で、優良なソフトウェア開発会社をスピーディーに探せます。複数の会社に無料で相談できるのもポイントです。ソフトウェア開発会社の選定に迷うようなことがあれば、是非利用してみてください。

監修者の一言

提案依頼書を作成する場合には、必ずビジネス要件、つまり開発を通じて達成したいビジネス上の目標を明確にしましょう。目的通りのソフトウェアが完成しても、これが明確ではないと、本来の目的を達成できないリスクが高くなるためです。これを明確にするためには、業務フローの定義が非常に重要です。現場の担当者を巻き込んだり、社内の業務マニュアルを確認したりして、課題を洗い出し、ソフトウェア開発会社と情報を共有しましょう。

業務フローの定義においては、今の業務がどうなっているのか、課題は何かを可視化することから始めます。課題が明らかになったら、これを解決するソフトウェア導入後の業務フローを作成します。

ソフトウェア開発会社の選定においては、開発のスキルはもとより業務への理解が十分かどうかも重要なポイントとなります。業務への理解度は、要件定義に大きく影響します。記事にもあるとおり要件定義は最も重要なフェーズで、要件定義書の出来映えがプロジェクトの成否を左右するといっても過言ではなくこの見極めは重要です。

 株式会社ラテラルリンク
代表取締役 岩井昌弘
監修者

徳島県出身 名古屋大学情報文化学部卒業。同大学院人間情報学研究科修士課程修了。2006年有限会社ラテラルリンクを設立。名古屋市で、Webシステム開発を中心に、Web構築全般、Web活用支援に従事。クライアントは、中小・零細企業から東証一部上場企業、国立大学まで幅広いニーズに対応。経済産業省認定「スマートSMEサポーター」。

比較ビズ編集部
執筆者
比較ビズ編集部では、BtoB向けに様々な業種の発注に役立つ情報を発信。「発注先の選び方を知りたい」「外注する際の費用相場を知りたい」といった疑問を編集部のメンバーが分かりやすく解説しています。
ソフトウェア開発にお困りではありませんか?

もしも今現在、

  • どの開発会社に依頼したらいいかわからない
  • 適切な技術選定ができない
  • 開発手法でどれくらい費用が違うのか知りたい

上記のようなお困りがありましたら、比較ビズへお気軽にご相談ください。比較ビズでは、複数のシステム開発会社に一括で見積もりができ、相場感や各社の特色を把握したうえで業者を選定できます。見積もりしたからといって、必ずしも契約する必要はありません。まずはお気軽にご利用ください。

ソフトウェア開発に対応できる業者を一覧から探す