システム開発の見積もり手法と費用の内訳、チェックするときのポイントまで解説!
システム開発では少しでも見積もり金額の安い会社に依頼したい気持ちがあっても、「この費用には何が含まれているのか?」「何を根拠に費用が産出されたのか?」などさまざまな観点から検討することが失敗を回避するコツです。今回はシステム開発における見積もりの手法や費用の内訳、見積もり内容の妥当性を判断するためのポイントなど解説します。
システム開発で見積もりを取る重要性
同じシステム開発でも、開発会社によって算出される見積もり金額が変わることが珍しくありません。システム開発の知識やノウハウがない発注者の場合、システム開発の相場そのものが分からず提示された見積金額が適正かどうか判断することは困難です。
システム開発は自身の専門外でも、適正な価格で希望通りのシステムを提供してもらうためには見積もりを取ることが重要になります。
システム開発で見積もりを取る際の前提知識
会社ごとに見積金額が異なる理由
そもそもなぜ開発会社ごとに見積金額が異なるのでしょうか。その大きな理由としては、以下の2つが挙げられます。
開発範囲に加えている機能や範囲が異なるため
同じシステムの開発を依頼しても、「どこまでの機能を実装するか」「どの程度のクオリティに仕上げるか」は会社ごとの方針によって異なります。安価でも実装する機能は必要最低限で提案されることもあれば、やや費用はかかるものの機能の充実性や使いやすさを意識したクオリティで提案されることもあります。
余裕を持って見積金額を算出する場合があるため
システム開発は基本的に数ヶ月の期間と複雑な工程を要し、工程が進むにつれて当初の予定から仕様が変わるケースが多いです。途中の仕様変更による金銭的なトラブルの可能性を抑えるため、あえて余裕を持った見積金額を出している会社もあります。
2段階見積もりが増えている
近年、システム開発を受託するにあたって「2段階見積もり」という方式で見積を出す会社が増えています。
2段階見積もりとは、最初に見積もりを取ってから要件定義や基本設計などの工程を経て設計書を作成し、その後に改めて見積もりを取り直すという方式のことです。事前に発注者から希望をヒアリングした段階で開発会社は大まかな見積金額を算出し、その後に設計図を作成のうえ正確な見積金額を提示します。これにより、発注者は契約前の段階で大まかでも必要な費用を把握することが可能です。
もちろん1回目の見積もりはあくまで概算となるため、2回目の見積もりで金額が多少なりとも変わることは理解する必要があります。
根拠があるシステム開発の見積もり手法
類推見積もり
類推見積もりは過去の類似した開発事例を参考に、作業に要するコストや工数などから金額を算出する手法です。具体的な事例を参考に算出するため納得のある金額になりやすく、他の手法よりもスピーディに見積もりを出せます。
ただし類似した開発事例がない場合、開発会社の経験からコストや工数を見積もることになります。その場合、見積もりの精度は担当者の知識に大きく左右するため信頼性に欠けるというデメリットも潜んでいます。
係数モデル見積もり
係数モデル見積もりは、各作業を点数化して金額を算出する手法のことです。例えばある製品を100個作成するという案件の場合、過去に同じ製品を作成した際にかかった1個あたりのコストを計算します。そのうえで「1個あたりのコスト×100個」と計算し、見積金額を出します。
機械的かつ数学的に算出されることから、担当者の経験にかかわらず正確な金額が出しやすいというメリットがあります。ただし、会社に蓄積されたデータに依存する手法でもあるためサンプルが少ないと精度が低くなります。
ボトムアップモデル見積もり
ボトムアップモデル見積もりは、そのプロジェクトで完成するシステムやその構成要素を想定し、それを元に金額を算出する手法です。作業1つひとつにかかる工数を元に計算するため、他の手法よりも精度の高い見積もりを算出できます。その反面、工数が想定しにくい大きなプロジェクトには向いておらず、中小企業のシステム開発案件におすすめな手法です。
プライスツーウィン法
プライスツーウィン法は、クライアントの予算に合わせて金額を算出する手法です。事前に予算が決定している案件に向いている手法ですが、予算によっては機能が不足したシステムが完成しやすいことに注意しましょう。その場合、新たに機能を追加するとなると結果的にコストがかかり予算をオーバーする可能性があります。
システム開発の費用相場
システム開発を外注する場合の費用相場は開発会社や開発するシステムの種類によって変動しますが、Webシステム別に開発費用の相場を分けると、以下の通りです。
Webシステム | 費用相場 |
---|---|
ECサイト | 500万円~1,500万円 |
予約システム | 500万円~1,500万円 |
求人サイト | 700万円~2,000万円 |
なお、同じシステム開発でもその作業を手掛ける人材のスキルレベルによって金額は大きく変わります。
システム開発の見積もり費用の内訳項目
要件定義費用
システム開発では、まず「要件定義」としてシステムの方針や大まかな仕様を決定する必要があります。その際にかかる費用が、要件定義費用です。
要件定義費用は、基本的に定義の作業にかかった時間と人材の役職・スキルから算出されます。より多機能で複雑な仕様のシステムを開発するとなれば、工数や所要時間が増えるため費用も高くなりがちです。
設計費用
設計とは、要件定義で決定した内容をシステムとして実現するために必要な環境を考える工程です。具体的には、サーバーなどのインフラ整備やプログラミング言語の検討などが行われます。これにかかる費用が、設計費用です。
設計は発注者が見ても分かるような設計書を作成する「基本設計」と、技術者向けに詳細が記載された設計書を作成する「詳細設計」の2つに分けられます。基本設計は、発注者がシステム開発前に関わることができる最後の工程です。
UIデザイン費用
UI(ユーザーインターフェース)のデザインを決める際にかかる費用です。UIとはユーザーがシステムを使用するときの画面のことで、アイコン作成・ワイヤーフレーム画像作成・操作マニュアルのデザインなどが行われます。
ユーザーにとって視認性・操作性の良いデザインを考える工程なので、デザイナーやエンジニアの人件費とも言えます。
進行管理費用
発注者・受注者双方のやり取りや定例ミーティング、資料作成といった開発スケジュールの進行管理に関わる費用が、進行管理費用です。開発会社によっては、プロジェクト進行費やディレクション費と呼ばれることもあります。
プロジェクトの全体を管理するディレクターやプロジェクトマネージャーの人件費であり、プロジェクトの規模が大きいほど高くなります。開発費用の総額に対し、およそ10%前後が目安です。
開発費用
システムの開発に携わる、エンジニアやプログラマーの技術費・人件費にあたる費用です。システム開発にかかる費用の大部分は、この開発費用が占めています。
1ヵ月あたりの作業に必要な人員の数を「人月」という単位で表し、費用が算出されます。人月単価は技術者のスキルや経験によって変動しますが、初級技術者であれば最低60万円程度、上級技術者となれば最低でも100万円程度が相場です。
開発会社は人付単価の中から技術者たちに給与を支払うため、割高な金額となっています。
テスト費用
システム開発では工程ごとに、システムが設計した通りに動くかどうかをテストします。システム開発におけるテストの種類は、主に以下の4つがあります。各テストに必要な費用が、テスト費用です。
・単体テスト(画面や機能ごとの動作テスト)
・結合テスト(他の機能やシステムと連携させながら動作をテストする)
・総合テスト(本格的な運用を想定したシステム全体の動作テスト)
・受入テスト(仕様書の通りに完成しているかを確認する最終テスト)
導入費用
完成したシステムを導入する際の初期設定にかかる費用を、導入費用といいます。また、旧システムとの連携・移行といった作業の費用も含まれます。
導入支援費用
発注者はシステムのすべてを熟知しているわけではないため、開発会社側から導入サポートを行う必要があります。システムの操作マニュアルを作成したり、操作方法の説明会を開いたりといった導入サポートに関わる費用が、導入支援費用です。
導入サポートが必要な機能が多いほど、導入支援費用も高くなります。
購入費用
システム開発に必要な設備は異なり、案件によっては新たなソフトウェアやサーバーの購入も検討しなければなりません。その購入にかかる費用も、開発費用として計上されることがあります。
旅費・交通費用
システムを開発するにあたって、「どんなシステムを開発したいのか」について何度か打ち合わせが行われます。打ち合わせのため開発会社側が発注者の会社や会議スペースなどに足を運ぶ場合、交通費も費用に含まれます。
また、遠方の開発会社に依頼した場合は交通費に加え数日分の宿泊費もかかる可能性があるため、注意が必要です。
保守・運用費用
導入したシステムの保守・運用にかかる費用のことです。例えば運用はシステムの監視や日常メンテナンス、保守は発生した障害の原因特定・復旧や機能の改修提案・実施などが挙げられます。
システムは1度完成したら終わりではなく、リリース後も安定して稼働させるにはこのような保守・運用が必要になります。そのため、単純な開発費用だけではなくリリース後にかかる費用も見通しを立てたうえで予算を決めておくことが大切です。
見積もり書が妥当であるかチェックするときのポイント
見積もり費用に沿った形で作成されているか
自身であらかじめ見積もった予算に沿った内容で見積もりが作成されているか、しっかりと確認しておきましょう。見積もりの時点で提示されたコストや工数について、「不自然な箇所」や「過剰に大きな数字」がないか注目することが大切です。少しでも疑問に感じた箇所を見つけた場合は遠慮なく担当者に質問し、その数値になる根拠を把握しましょう。
なお、システム開発は途中の仕様変更により追加料金が発生する可能性があります。見積もりの段階で費用に満足できても、後から追加料金が必要となり結果的に予算をオーバーすることがないようあらかじめ費用の上限も定めておきましょう。
詳細の仕様の見積もりまで含んでいるか
システム開発は、はじめに大まかな部分を設計してからユーザーにとっての操作性などを考慮し、細部の仕様を設計・デザインしていくケースが一般的です。その性質上、工程がある程度進んだ段階で細部の仕様について見積もり費用が追加されることもあります。
先述した「費用の上限設定」だけでなく、細部の仕様まで含んだ見積もりを初期段階から作成されているかチェックすることもまた思わぬ予算オーバーを防ぐためのポイントです。
また、仕様に加えてシステムのクオリティを左右する進捗・品質管理などにかかる工数も見積もりに含まれているか確認することも大切です。
予想外の変更をバッファとして含んでいるか(リスクを考慮できているか)
先述の通り、システム開発では工程が進むにつれて仕様変更やトラブルによる修正が必要になるケースが珍しくありません。場合によっては、開発し直さなければならないこともあります。
例え予算に対して余裕をもった金額で見積もりを作成してもらっても、途中で起きたトラブルの対応に工数が増え、追加費用が発生する恐れがあるため注意が必要です。
見積もりの時点で安価な費用を提示されてもすぐに承諾せず、ちゃんと予想外のリスクを考慮して作成されているかを確認しましょう。
自社と開発会社で責任の範囲が明確になっているか
システム開発に限らず、どんな契約でも責任が及ぶ範囲を明確に決めておく必要があります。万が一システムのリリース後に重大な障害が起きた際、「この場合はどちらが責任を取るのか」という範囲が明確に決まっていないとトラブルの原因になるからです。
具体的にどの範囲まで開発会社に依頼し、どのような責任が発生するのかがはっきりしているかどうか、見積もりの時点で確認しておきましょう。
見積もり書を他社に作成してもらうときの注意点
開発会社が見積もりを実施する前提条件を把握しておく
システム開発の見積もりにおける前提条件とは、システムの対象範囲や開発言語などのことを指します。
システム開発では発注者から営業担当者へ見積もりが依頼されたあと、営業から依頼を受けたエンジニアが見積もりを行い、その見積もりを管理者が確認したうえで営業に見積もりを提出します。こうして、発注者のもとへ見積もりが届く流れが一般的です。
しかしエンジニアは見積もりを作成した際、自身がイメージしている要件を「当たり前のこと」と考え詳細までは明記しないケースもあります。システム開発の知識がない発注者にとっては要件が曖昧になるため、やがて認識の齟齬によるトラブルへと発展することが珍しくありません。
双方のイメージにギャップが生じないためにも、見積もりを作成する会社は前提条件を明記し、発注者はそれを確認することが求められます。
見積もりを取る会社と詳細の仕様まですり合わせる
先述の通り、システム開発ではプロジェクト途中で仕様の追加・変更・修正などが加わることが珍しくありません。後から思わぬ追加費用の発生を抑えるためにも、見積もりを作成してもらう会社とあらかじめ仕様の詳細について入念に打ち合わせをしておきましょう。
複数の会社に見積もりを取る
システム開発の見積もりは、複数の会社に依頼することが基本です。会社ごとにどんな前提条件で、どれくらいの費用がかかるのかといった特徴の違いを比較しやすくなります。
ただし、あまりに多くの会社から見積もりを取ることはおすすめできません。選択肢が多いと依頼先を検討する際に混乱しやすく、自社に合った開発会社を選ぶことが難しくなるからです。3~4社程度を目安に見積もりを取り、じっくりと吟味しましょう。
ハイブリッドテクノロジーズの提供サービス
ハイブリッドテクノロジーズでは、ビジネスデザイン、UIUXデザイン、設計、実装、テスト、リリース、運用、保守まで一気通貫してサービスを提供しております。500名以上の経験豊富なエンジニアにより、迅速かつ高品質なシステム開発が可能です。 アジャイル開発、ウォーターウォール開発、ハイブリッド開発と言った様々な開発手法に対応しており、契約形態に関しましてもラボ型契約と受託型契約の2つから選択いただけます。お客様の状況や開発内容に応じて、開発手法と契約形態を柔軟にご指定いただけますが、それぞれの開発手法、契約形態の特徴の親和性から、アジャイル開発ではラボ型契約が、ウォーターウォール開発とハイブリッド開発では受託型契約を選択されるクライアント様が多数を占めます。
ラボ型開発について: ラボ型開発 サービス
受託型開発について: 受託開発 サービス
ハイブリッドテクノロジーズが選ばれる理由
弊社ではクライアント企業様及びエンドユーザー様の声を聞き、UIUXを意識したビジネスデザインを行なっております。 テーマを決めて分析し、仮説を立ててビジネスデザインを行い、プロトタイピング、検証、フィードバックを受け、再度分析から始める。 この一連の流れを、アジャイルスクラム開発に精通した500名以上のエンジニアが高速で回していくことにより、最速でより良いものを実現していきます。 ハイブリッドテクノロジーズには市場の声を現実にするための仕組みとメンバーが揃っています。
システム開発の成功事例
システム開発での成功事例をご紹介します。
外国人の方の利用に特化した就職・進学ポータルサイト(株式会社GIG)
サービス内容
外国人の方の利用に特化した就職・進学ポータルサイト
サービス上の課題/目指したいサービス
課題
今まで運用していたサイトが古く、メンテナンスが困難な状況だったことに加え、手作業で行っている部分が多くあるという背景からフルリニューアルで刷新することが課題であった。
目指したいサービス
今回開発する外国人向け就職・進学ポータルサイトにより、管理側および利用ユーザーにおいて以下の価値の提供を可能にすること。
・管理側は、アカウント情報の管理をシステム化し業務効率化を図ることができること。
・利用ユーザーは、多言語に対応した的確な情報をもとに就職・進学の手厚いサポートが受けられること。
クライアントの課題/要望
・開発部分のリソースが不足している
・予算やスケジュールに柔軟に対応していきたい
当社を選択していただいた理由
当社の幅広いリソースとスピード感を持った開発体制を評価いただいたこと
当社ご提案内容
外国人向け就職・進学ポータルサイトの開発
デザインや設計といった上流部分は、GIG社を中心に担当し、実装フェーズに移った際、円滑なスタートができるよう要件定義フェーズの一部において、日本人PMをアサインし、サポートしました。
実装フェーズではGIG社のライブラリを活用しつつ、ベトナムBrSEを中心にバックエンド、フロントエンドの開発を行いました。
まぐまぐ!リーダーアプリ (株式会社まぐまぐ)
https://www.mag2.com/app/reader/
サービス内容
まぐまぐ!で登録したメルマガコンテンツとまぐまぐ社が運営するメディアを手軽かつシームレスに閲覧できるスマートフォンアプリ「まぐまぐリーダー」
サービス上の課題/目指したいサービス
課題
メルマガはメールのみ、メディアもそれぞれ独自のWebを持っているためユーザービリティが良くない点
目指したいサービス
まぐまぐ!で登録したメルマガコンテンツとまぐまぐ社が提供する4つのニュースメディアを横断して手軽かつシームレスに閲覧できるサービス
クライアントの課題/要望
・新規アプリ開発リソースの不足
当社を選択していただいた理由
内製での開発リソースを保持されていないことと、当社の幅広いリソースとスピード感を持った開発体制が、まぐまぐ様の開発ニーズに合致したため、当社を選ばれました。
当社ご提案内容
ラボ型(ストック)開発+保守にて提案
1.メルマガやニュースメディアといった多様なユースケースに、細やかに対応する開発体制
メールマガジン配信プラットフォーム事業の理解と学習から始まり、要件定義・設計・開発までをアジャイルスクラム開発で担当し、1週間ごとにクライアント様と成果物のレビュー会を行うことで、フィードバックを早いサイクルで受けることで、ユーザーの期待を超える価値体験を追求いたしました。 記事を読むという観点ではニュースサイトなどのメディアに分類されるサービスではありますが、既存の媒体がメールであるためにユースケースには多様性がありました。
2.毎日読む情報収集アプリとしてのファインダビリティとユーザービリティを考慮したUX・UI設計
メールアプリで閲覧するものだったメルマガをスマートフォンアプリで軽快に閲覧できる機能と、まぐまぐ社が提供する4つのニュースメディアを横断して閲覧できる機能を両立しつつ、スムーズに情報収集を行えるUX・UI設計を行いました。メインペルソナである多忙なサラリーマンの方の情報収集アプリとして、短時間での閲覧でも読みやすい視認性や可読性を重視した白基調の配色とタイポグラフィの設定を行い、ボタン類のアクション要素は見落とされない配色設計や、押しやすいサイズ設計、リアルタイムデータベースを使用した同期的な処理、まとめ読みや読み返しが快適にできるようにローカルデータベースを使用したオフラインファーストな設計をすることで既存サービスのユーザー体験をスマートフォンアプリでも損なわないように配慮しました。
Fimple Credit (H.I.F.株式会社)
https://www.hifcorp.co.jp/fimple-credit/
サービス内容
与信における企業信頼度を可視化するWEBサービス
サービス上の課題/目指したいサービス
課題
難解な債権回収リスクの与信判断を、AIを活用して効率化・高精度化できるかという点
目指したいサービス
H.I.F社が独自に収集したデータを元に各企業の与信における信頼度をスコア化し、Web上で手軽に検索・確認することを可能にするサービスを目指しました。
クライアントの課題/要望
・開発リソースの不足
当社を選択していただいた理由
別案件での提案の際のデザイン案が非常に良かったことがあり、短納期の中でも充分に任せられるスピードとクオリティと判断頂き、当社を選ばれました。
当社ご提案内容
ラボ型(ストック)開発にて提案
密なコミニケーションで最適な上流設計を提案
デザイン作成と合わせて画面遷移図と、各画面の要件定義資料の作成を実施。開発フェーズを担当するベンダーへの詳細説明まで弊社が行うことでお客様のシステム開発全体が滞りなく進むよう配慮いたしました。 また短納期ということもあり、お客様からフィードバックをいただく機会を通常以上に密に設けました。早い段階での問題発見・方向修正を心がけ、最適なユーザー体験をクライアント企業様と一緒に、練り上げることができました。
Web 相談予約システムの新規構築(大手物流会社)
サービス内容
窓口相談を事前に予約できるWebアプリ
窓口での相談日時を利用者が事前に予約できるようにし、企業と顧客双方にとって利便性を向上するWebアプリの開発案件です。
サービス上の課題/目指したいサービス
課題
利用者からの問い合わせは、常に窓口で対応している背景があり、
窓口で順に受け付けていたが、待ち時間が長く、顧客から不満の声が上がっていた。
目指したいサービス
・顧客の利便性(満足度)を向上すること。
・システム導入の周知により金融相談業務の認知度を向上させること
・システム導入による効率的な要員配置を目的として、顧客がWeb 上で事前に金融商品に関する相談日時を予約できるシステムを新たに構築すること
クライアントの課題/要望
・社内で開発体制を保持していないこと
・Salesforceを業務の基幹システムとして利用されているため、Saleforceでの機能開発が必須
・金額をミニマムに抑えながら安定的な運用を実現したい
当社を選択していただいた理由
・日本国内での開発より大きな価格メリットがあったこと
当社ご提案内容
受託型開発(フロー)にて提案
1.Salesforceを活用し、ミニマムコストでスピード感を持った機能開発
Salesforceを活用することで0からインフラを構築せずに素早く開発環境を作成することが出来ます。Salesforceの標準機能を基に必要な機能をカスタマイズして開発することで、スピーディな開発〜実装を可能としました。
2.プログラム実装前にプロトタイプ作成し、スピードを保ちつつ認識ギャップを防止
プログラム実装前にプロトタイプを作成することで、リリースというゴールまでスピード感を保ち、的確にコミュニケーションをおこないながら、認識ずれが生じないよう努めました。
3.Salesforce準拠のセキュリティ基準を担保
開発と合わせ、Salesforce準拠のテストコードを作成し、テストを実施することで、リリース後の不具合が発生しにくく、運用保守コストも抑えることができます。またすでにクライアント様が使用されているSalesforceの機能拡張のため、セキュリティー面は今までと同様のものが担保されます。安心感を持ってシステムをご使用いただき、クライアント様、エンドユーザー様双方からご好評いただいています。
その他システム開発事例
ハイブリッドテクノロジーズでは、その他にもモバイルアプリや業務用アプリケーションまで、多種多様な290社以上の制作実績がございます。
システム開発をご検討の方はぜひ一度お問い合わせください。
まとめ
システム開発を外部の開発会社に依頼する際、同じシステムの開発でも会社によって費用が大幅に異なる場合があります。そのため、複数の会社に見積もりを依頼したうえで前提条件やリスク対策などを確認しつつ依頼先を慎重に選ぶことが大切です。なお、システム開発には単純な開発費用だけでなくスケジュール管理やデザイン、保守・運用などに伴う費用も必要です。それを把握したうえで、今回ご紹介したポイントを踏まえながら見積もり書の内容が妥当であるかを判断しましょう。