システム開発費用の妥当性はどう判断する?
公開日:2023.11.16 最終更新日:2024.09.30
「システム開発費用の妥当性はどうやって判断したらいいの?」
「そもそも、開発費用の内訳は?」
「費用を安く抑えるためにはどうしたらいいの?」
このような疑問を抱えている管理者は多いのではないでしょうか。
安すぎる開発費用では使いにくいシステムができてしまったり、完成まで時間がかかってしまったりトラブルが多い可能性があります。トラブルなく、良いシステムを開発してもらうためには、見積もり時に管理者自らが適正な判断を行うことが必要です。
ここからは、システム開発費用の妥当性の判断方法を紹介します。開発費用を安く抑える方法についても紹介しているので、ぜひ最後までご覧ください。
システム開発費用の構成要素
そもそも、システム開発費用はどんな内訳で構成されているのでしょうか。
ここからは、システム開発費用の構成要素について紹介します。
- 単価
- 作業工数
- 管理費
- そのほかの費用
聞きなれない言葉もあるため、具体的にどんな費用か解説します。
単価
単価とは、実際にシステムを作るエンジニアの稼働単価のことをいいます。
時給のようなイメージで、エンジニアによって単価は異なるため、同じ作業でも単価の高いエンジニアが稼働すれば金額が高くなります。
しかし、スキルの高さと単価の高さは比例するため、単価の高いエンジニアに任せれば三時間時間で作業が終わる可能性があります。
単価の算出方法は、基本的な価格からエンジニアが身に付けているスキルに応じた金額を加算していき、この単価には、労務費や販売管理費も含まれている
作業工数
作業工数とは、作業した時間のこと
システム開発に費やした時間を工数という
上記で説明した単価と掛け合わせた数値が開発費用となる
たとえば、単価1,500円のエンジニアの作業工数が10だった場合、1,500×10で15,000円の開発費用がかかるということになる
ほとんどのシステム開発は数ヶ月の期間作業するため、人月といって1ヶ月分の作業量で算出する場合もある
その場合、作業工数3人月と記載があった場合は、1人が作業すれば3ヶ月かかり、3人で作業すれば1ヶ月で終えられるよと言うことになる
管理費
管理費とは、開発で使うソフトや設備の管理に使う費用のこと
たとえばスマホのアプリを作るとき、デモのアプリを実際にダウンロードする用のスマホが必要になる
ほかにもシステムを作るためには様々な設備が必要
具体的には開発用のたくさんの情報を収集できるサーバーやPC、ソフトウェアやライセンス、オフィスの賃金も該当します。
そのほかの費用
そのほかの費用では、交通費や宿泊費、その他雑費などが含まれる
たとえば、優秀なエンジニアを遠くから招集したときにかかる交通費や、打ち合わせの時に借りた会議室のレンタル費用が該当します。
また、プロジェクトが遅れるリスクも考えて予備費を確保しておく
トラブルはつきものなため、開発が当初のスケジュール通りに進行しない可能性もある
そうすると追加で工数が発生してしまうから追加で料金が発生する
そのため、あらかじめ予備費が組み込まれている場合がある
システム開発の見積もり算出方法
ここからは、見積書の算出方法を4つ紹介します。
- トップダウン
- パラメトリック
- ボトムアップ
- FP法
それぞれ見ていきましょう。
トップダウン
1つ目の算出方法はトップダウン法です。
これは、類推見積ともいいます。
算出方法は、過去の似た開発データを元に、見積もる方法です。
最も多い算出方法で、概算見積もりであればすぐ算出でき、似た開発経験があればより正確な金額を提示できるメリットがあります。
過去の案件と少し違う内容だとしても、ベースはできているため、簡単に算出できるでしょう。
しかし、似た開発経験がないと算出できないデメリットもあります。
パラメトリック
2つ目の算出方法はパラメトリック法です。
係数モデルともいい、特定のモデルを使って各作業を点数化し、見積金額を算出します。
過去の実績やデータをもとに見積金額を算出するため、経験がなくてもある程度の見積もりが作成可能です。
しかし、はじめて行う内容の場合、データがありません。
そのため、見積もりの精度が落ちたり作成に時間がかかってしまったりするでしょう。
トップダウン法と合わせて利用されることも多い算出方法です。
ボトムアップ
3つ目の算出方法は、ボトムアップ法です。
工数積上げともいい、作業を仮定して、工数を算出します。
細部まで想定して工数を確認するため、開発者や依頼者と綿密にコミュニケーションを取ることが必要です。
細かい工数まで算出するため、制度の高い見積書が作成できるメリットがあります。
しかし、見積書を作成するまでに時間がかかってしまうでしょう。
また、大規模なシステム開発では工数の数も多いため、ボトムアップ法での算出はおすすめできません。
FP法
最後の算出方法は、FP法です。
ファンクショナルポイント法といい、パラメトリック法と同じように各作業を点数化して見積金額を算出します。
パラメトリック法と違う部分は、分類の仕方です。
FP方は、作業を「複雑」「普通」「簡単」の3つに分けます。
それぞれ以下のように点数をつけ、必要な工数にこの点数をかけて見積金額を算出するのです。
複雑 | 2 |
普通 | 1.5 |
簡単 | 1 |
3つの分類方法は明確な基準を定めているため、依頼者に見積内容を納得してもらいやすいメリットがあります。
しかし、作業をすべて振り分けるため、開発内容が明確でないと見積書が作成できないというデメリットがのこる算出方法です。
妥当性を判断するための確認事項
管理者は提出された見積もりが妥当な見積金額なのか判断しなければいけません。
ここからは、妥当性を判断するための確認事項を紹介します。
- エンジニアの単価
- 作業工数の過不足
- 前提条件
細かく見ていきましょう。
エンジニアの単価
はじめに確認してほしいのがエンジニアの単価です。
見積書の内訳で多くを占めるのが、エンジニアの人件費でしょう。
そのため、単価の設定方法や背景までヒアリングすることをおすすめします。
単価が高いエンジニアは技術力も高い傾向があるため、開発の成功が見込めるだけでなく、トラブルが起きたときでも心強いでしょう。
作業工数の過不足
次に、作業工数も確認が必要です。
見積書内に記載されている作業範囲に抜け漏れはないか、余分な工数がつけられていないか確認します。
不可解な部分は担当者に質問し、この工数になった理由を明確にしておきましょう。
稀に、開発のために必要な調査や分析、品質チェックに使った工数が作業工数に含まれていて膨大な数字になっている場合があります。
どの作業がどの項目に含まれているかまで確認しましょう。
前提条件
最後に確認してほしいのが前提条件です。
そもそも、システムの開発言語は何か、いつから作業開始するのか、どのようなソフトウェアを使うのか確認しましょう。
これらを確認することで開発途中のトラブルを防ぐことができます。
システム開発費用の見積もり項目
では、実際の見積書にはどのような内容が記されているのでしょうか。
ここからは、見積書の項目について紹介します。
- 要件定義
- 設計
- 開発・実装
- テスト
- スケジュール管理
- 導入サポート
- 運用保守
それぞれ細かく紹介します。
項目①要件定義
要件定義とは、依頼者の要望をヒアリングし、必要な人員や工数などを明確にしていく作業です。
この作業にかける工数の割合は全体の20%前後で、システム開発で最も重要な作業といえるでしょう。
主に、以下の項目を決めます。
- 機能
- 利用ユーザー
- 人員に必要な技術
- 工数
- 納品スケジュール
これらの内容を決めるためには依頼者と開発会社のプロジェクトマネージャーやシステムエンジニアと綿密な打ち合わせが必要です。
案件定義がしっかり定まっていないと後々トラブルにつながりかねません。
そのため、1~2ヶ月ほど時間を取りヒアリングを行います。
項目②設計
設計とは、システムを構築する枠組みを決める作業です。
工数は全体の25%ほどかかります。
作業にかかる期間は2〜3ヶ月で、これから行う作業の土台となる大切な作業です。
この設計には以下の2種類があります。
基本設計 | 案件定義書を提出した後に、機能の洗い出しやデータをまとめた基本設計書を作成します。 |
詳細設計 | 上記でまとめた基本設計書を元に、機能やデータの詳細化を行います。 |
基本設計では依頼者の要望をもとにどんなシステムにするかを明確にする作業を行います。
これには開発会社のプロジェクトマネージャーやシステムエンジニアの人件費が必要です。
そして、詳細設計では基本設計で決めた内容をさらに深堀してプログラマーが作業しやすいような指示書を作成します。
項目③開発・実装
開発や実装とは、設計書や指示書を元に実際にシステムをプログラミングし、確認する作業です。
システム開発のメインとなる作業のため、工数は全体の30%ほどかかり、3ヶ月以上の月日を費やします。
開発会社のシステムエンジニアやプログラマーが稼働するため、人件費が最もかかる作業です。
人件費は稼働人数と開発期間によって変動します。
項目④テスト
テストは、完成したシステムに不具合がないか問題点はないか確認する作業です。
リリースしてから不具合が見つかると大きな損失になってしまうため、リリース前の大切な作業といえるでしょう。
そのため、工数は全体の25%前後で2〜3ヶ月の月日を費やします。
これだけ月日がかかるのは、様々な運用方法を想定した4種類のテストを行うためです。
単体テスト | 画面や機能ごとの動作検証 |
結合テスト | 他の機能やシステムと連携させた動作検証 |
総合テスト | 実運用を想定したシステム全体の動作検証 |
受入テスト | 仕様書通りに完成しているか納品前の最終確認 |
問題が見つかればその都度問題点を修正して再テストを行います。
このテストはシステムエンジニアやプログラマーが検証を行い、プロジェクトマネージャーやプロジェクトリーダーがチェックをします。
そのため、システムエンジニアやリーダーの人件費が必要です。
項目⑤スケジュール管理
スケジュール管理は、全体の作業が当初決めた納期通りに納品できるか管理する作業です。
見積書には「管理費用」と記されていることもあります。
主に、プロジェクトマネージャーやプロジェクトリーダーが管理を行い、システムエンジニアやプログラマーは業務の進捗を逐一報告する流れです。
項目⑥導入サポート
導入サポートとは、依頼者が利用時に困らないようにサポートする作業です。
具体的には、初期設定を代理で行ったりマニュアルを作成したり使い方をレクチャーしたりする作業が該当します。
使い方が簡単なシステムの場合、納品時に説明を受ければ事足りるでしょう。
見積書には「トレーニング費用」や「初期設定費用」と記されている場合があります。
項目⑦運用保守
運用保守費用とは、リリース後にそのシステムの管理や修正を行う作業です。
システム開発は作って終わりではなく、リリース後も運用状況を管理したり監視したりします。
また、システムに不具合が起こったとき、システムの修復や修正も作業の1つです。
運用費はシステム開発の5%が目安で、保守費用は月々5万円前後で取引される場合があります。
そのため、予算を考えるときは運用や保守に必要な費用も含めておきましょう。
システム開発費用を安く抑えるポイント
どの企業も開発費用はできるだけ抑えたいと考えているのではないでしょうか。
最後に、システム費用を安く抑えるためのポイントを紹介します。
- 内容を明確化する
- 自社で開発する部分を残す
- 補助金を利用する
それぞれ見ていきましょう。
ポイント①内容を明確化する
1つ目のポイントは、開発内容を明確にすることです。
費用を抑えることと関係ないように感じるかもしれませんが、開発内容を明確にすることで修正による追加料金の発生を抑えることができます。
また、使用頻度の低いシステムを排除するなど、余計な費用をかけない工夫ができるでしょう。
そのため、解決したい課題や欲しい機能を明確にし、依頼内容をできるだけ具体的にまとめておくことで費用の削減につながるのです。
ポイント②自社で開発する部分を残す
2つ目のポイントは、自社開発も視野に入れることです。
システム開発を依頼する際、全て任せてしまうのではなく、自社で開発できる部分は残す方法もあります。
そうすることで開発費用を抑えることができるのです。
開発が難しくても、システムのデザインや運用など、自社で行える作業は十分にあります。
もし、費用を抑えたいのであれば、案件定義書作成時に開発会社に相談してみてください。
ポイント③補助金を利用する
3つ目のポイントは、国や自治体から出る補助金を利用することです。
国や自治体から、以下のようなシステム開発の補助金が出ています。
ものづくり補助金 | 100万円~1,000万円 |
事業再構築補助金 | 100万円~8,000万円 |
IT導入補助金 | 30万円~450万円 |
小規模事業者持続化補助金 | 50万円 |
それぞれの補助金の採択率は40〜50%と低めです。
さらに、申請には条件があり、このうちの1つしか申請できないため、慎重に検討しましょう。
システム開発費用の地域差
地域によって生活費や人件費が異なるため、システム開発費用もこれらの影響を受け変動します。ここでは、開発費用を左右する2つのポイントを解説します。
- 地域ごとの開発費用の違い
- 海外アウトソーシングの活用
それぞれ見ていきましょう。
地域ごとの開発費用の違い
東京や大阪、福岡などの都市部は生活費や人件費が高くなるため、システム開発費用も高額になる傾向があります。一方、地方では生活費が比較的安価なため、同じ品質の開発をより低コストで依頼可能です。
たとえば、東京の開発費用が予算を超える場合、地方のベンダーに依頼することで、予算内で高品質なシステムを提供してもらえるでしょう。自社のニーズに合った地域のベンダーを選ぶと、コストパフォーマンスを最大限発揮できる可能性があります。
海外アウトソーシングの活用
インドやベトナムなどの東アジアでは優れた技術力を持つエンジニアが多く、費用も比較的安価です。ただし、時差や言語の壁があるため、コミュニケーションが課題となる企業も多いでしょう。
自社で直接海外アウトソーシングを行うことに抵抗がある場合は、オフショア開発を活用しているベンダーに外注する方法もあります。これにより、海外の優秀な人材に開発業務を任せられ、コストを抑えつつ効率的にシステムを構築できるでしょう。
システム開発費用の見積もり精度を上げる方法
予算オーバーや納期遅延を防ぐためには、見積もりが正確であることが重要です。ここでは、見積もりの精度を上げる3つのポイントを説明します。
- 過去事例の活用
- 適切なプロジェクト管理ツールの使用
- 定期的な進捗レビューの実施
それぞれ確認しましょう。
方法①過去事例の活用
類似プロジェクトのデータを分析し、必要な工数や費用を予測することで、見積もりの精度を高められます。
たとえば、以前のアプリ開発プロジェクトのデータを活用し、設計や開発にかかる具体的な時間とコストを見積もりに反映させるとよいでしょう。
また、過去の事例から成功や失敗したポイントを振り返りることで、リスク管理やスケジュール調整の精度も向上します。過去のデータを活用することで、予期せぬ問題を未然に防げ、プロジェクトの成功率を上げられるでしょう。
方法②適切なプロジェクト管理ツールの使用
プロジェクト管理ツールを用いてシミュレーションし、工数やスケジュールを把握することが重要です。
たとえば、ガントチャートやタスク管理機能を備えたツールを活用し、全体のリソース配分や進捗状況を可視化しましょう。これにより、プロジェクトの全体像を把握でき、予定外のコスト発生の可能性を低減できます。
また、リーダーなど適任者がこれらのツールを効果的に使うことで、さらに正確な見積もりと効率的なプロジェクト運営が実現します。
方法③定期的な進捗レビューの実施
問題点の早期発見と修正は、見積もりどおりにプロジェクトを進めるうえで大切です。
たとえば、週次レビューを行い、各チームメンバーの進捗を確認し、必要に応じてリソースを再配分します。これにより、計画どおりにプロジェクトを進行させ、見積もりの精度を維持できるでしょう。
定期的なレビューによりコミュニケーションが改善され、チーム全体の協力体制も強化され、予定どおりにプロジェクトを進行できます。
システム開発費用の妥当性を判断するための外部要因
外部要因を考慮することで、システム開発費用の妥当性をより客観的に判断できます。ここでは、3つの要因を解説します。
- 市場の相場
- 業界のトレンド
- 競合他社の事例
細かく見ていきましょう。
要因①市場の相場
他社が類似システムを開発する場合のコストや、ベンダーが提示する費用の相場を調べることで、妥当な費用の範囲を把握できます。
たとえば、同条件の平均予算をリサーチし、自社の見積もりと照らし合わせることで、適正な予算設定が可能です。
市場相場を知ることで、過剰な出費を避け、無駄なコストの削減にもつながります。これにより、予算超過のリスクを減らし、効率的なプロジェクト運営が期待できます。
要因②業界のトレンド
新しい技術や開発手法が導入されることで、費用が変動することがあります。
たとえば、クラウド技術の普及により、インフラ費用が削減されるケースがあげられます。最新のトレンドに沿った見積もりを行い、競争力を維持しましょう。
また、技術革新に対応することで、最新の市場ニーズに応えるシステムを開発でき、ユーザー満足度も高まります。これにより、長期的な競争力を確保できるでしょう。
要因③競合他社の事例
競合がどのような開発費用でプロジェクトを実施しているかを調査し、自社と比較することで、適正な価格設定が可能です。
たとえば、競合他社が同じ機能を持つアプリをどれくらいの費用で開発したかを確認することで、自社の見積もりを見直せるでしょう。
これにより、予算内で高品質なシステム開発を実現するための選択肢が広がります。
システム開発費用の妥当性は人件費で判断できる
システム開発費用の妥当性の判断方法について紹介しました。
妥当性を判断するためには、見積書に記載されているエンジニアの単価や作業工数の過不足といった人件費の確認が必要です。
これらに過不足があったり不可解な単価が設定されていたりすれば、都度担当者に確認する必要があります。
また、見積書は1社だけでなく複数の会社から相見積もりを取るようにしましょう。
そうすることで選択肢が増え、あなたにぴったりの開発会社を見つけられますよ。
システム開発費用に悩んだ際にはEMEAO!へのご相談を一度ご検討ください。
この記事を書いた人
編集部員 濵岸
編集部員の濵岸と申します。コンテンツ作成と取材を主に担当しております。身長が低いため学生時代は「お豆」と呼ばれていました!豆らしく、皆様の役に立つ記事を「マメに豆知識を!」の意識で作成します!どうぞよろしくお願いいたします!