システム開発費用の相場感と妥当性を判断するポイント、安く抑えるコツを解説

システム開発費用の相場感と妥当性を判断するポイント、安く抑えるコツを解説

システム開発費用は、システムの規模や何をどこまでやるのかによって大きく変わりますが、システム発注担当者は費用の相場感を知った上で、見見積もりの妥当性を判断する力が求められます。

そこで本記事では、システム開発の事例と合わせて見積もり金額を紹介します。また費用の算出方法や見積もりの妥当性を判断するポイントを整理しましたい。その上で、システム開発費用を安く抑えるコツや、システム会社の選び方について筆者の見解をまとめました。

システム開発費用の全体感をつかむ

システム開発の費用は、そもそも規模や何をしたいかによって桁が2桁(数十万〜数千万円)は違ってくるので、ぶっちゃけ相場というのはあるようでないようなものということを念頭に置いてください。

なので、他のサイトで書かれているような◯◯〜○◯万円のように具体的な数字で示せるものでは決してないで、注意が必要です。

ここで筆者が伝えたいのは、安易に根拠の怪しいシステム開発の費用の相場感をインプットしてしまい、ITベンダーを選定をしてしまうとイメージしていたシステムとかけ離れたシステムが納品されてしまったり、プロジェクト炎上が起きたりして、御社のI T投資は失敗することになります。そうなればシステム発注の担当者であるあなたが上から詰められるというオチになります。

ここでは、システム開発の具体事例を見ていただくことで、システム開発費用の全体感をつかんでいただくことを目的としています。下記に紹介する見積もりは、事業会社に勤める知人からヒアリングした実際にあった開発事例です。

ぜひ、自社が発注しようとしているシステムの規模と比較して、大体これくらいが相場なんだと類推していただければ幸いです。

見積もり事例① 「スマホアプリ開発」

アプリの概要:マッチングアプリ

対応デバイス:スマホ、タブレット

対応OS:iOS,Android

アプリの機能一覧(代表的なものを抜粋):
・会員登録、ログイン・ログアウト
・課金システム
・検索機能
・コミュニティ
・チャット機能
・メール通知機能
・機能設定
・非表示、ブロック機能
・Web管理画面

■納品成果物
・アプリソースファイル一式(iOS用、Android用)
・デザイン素材(PSD形式)

上記についてシステム開発会社3社に相見積もりをとった。

A社アプリ開発見積もり

■開発期間
約4ヶ月

■開発費
678万円

B社アプリ開発見積もり

■合計費用
2592万円

[開発費2100万円の内訳]
アプリ開発iOS:705万円
アプリ開発Android:665万円
サーバサイド開発:730万円

C社アプリ開発見積もり

■合計費用
540万円

見積もり事例②「情報ポータルサイトの改修・機能追加」

サイトの概要:都内で開催される各種イベント情報を集めたポータルサイト

A社見積もり

■運用保守期間
1年間

■合計費用
348万円

システム要件:
・本プロジェクト専属のエンジニアをアサインする
・コストを重視し、オフショアで開発

開発スタイル:
一定期間中、お客様専用の開発チームをベトナムにつくり、専属のエンジニアがお客様の指示に従って開発。

メリット:
・       一定のリソース(工数)を確保できる
・       フレキシブルに対応できる
・       通常のオフショア開発に比べて、低コスト
・       チーム内にノウハウが蓄積される

開発体制:
(日本)貴社PM

(オフショアラボチーム)コミュニケーター

(オフショアラボチーム)バックエンドエンジニア

■コストについて
・コミュニケーター
スキル:日本語での翻訳・通訳N2クラス
10万円

・バックエンドエンジニア
スキル:PHP(Laravel)
エンジニア経験3年
19万円

いかがでしょうか?

アプリ開発については、3社に相見積もりをとりましたが、3社の見積もりには乖離が見られました。

妥当性判断のポイント

大前提として、額面だけをみただけでは妥当かどうかを判断するのはどんな人でも無理です。基本やシステム開発数社に相見積もりをとる場合はほんとだと思うので、相見積もりをとる過程でいくつか妥当性を判断するポイントがありますので、それをご紹介します。

プレゼン当日に営業だけが来るシステム会社はやめとけ!

えっとですね、ぶっちゃけその営業さんはエンジニアと仲が悪いので、その会社に発注するのはやめましょう。

エンジニアを抱えるシステム開発会社では、エンジニアと営業との間で大きな壁があることが少なくなりません。

と言うのも、営業は自分たちが仕事を取ってくるからエンジニアは飯を食えると考えており、エンジニアは自分たちが仕事ができるから営業の奴らは飯を食えている、と思っているんことがまあ多いこと。。。

筆者も2社システム開発会社を経験して来ていますが、対立はしょっちゅうありました。ではなぜ、こういう会社は要注意なのかというと、「営業が仕事を取るためだけに安くしている」からなんです。

営業は仕事を取ることしか考えておらず、エンジニアにどれくらいの工数がかかるのかヒアリングすらしていません。ともなれば、営業が出してきた見積もりは何を根拠にしているのか?

それは営業の当てずっぽう以外の何物でもありません。

ましてや、ユーザー企業の顔色を見つつ、金額を安くすることもあるでしょう。相見積もりということは営業も承知でしょうから、他社より安くすることで仕事を取りやすくする狙いです。

普通はこういう営業はユーザー企業側が怪しいと見抜く力があれば良いのでしょうが、実際はコストを抑えたいという腹があるので、こういう悪どい営業に引っかかってしまいがちなのが現実です。

私も前職で他部署の人間たこのパターンを喰らっておりました。その時は裁判ざたになったのですが、最終的に先方の代表が音信不通になり姿をくらますという事態に、、、、苦笑

営業が無理に安くして仕事を取ってきても、その仕事を受け取ったエンジニアは連日徹夜しながらコードを書くという事態になり、もちろん営業は嫌われます。そもそもそれでちゃんとした成果物がユーザー企業に納品されれば良いですが、納期は遅れ、バグが出たりと、期待ができないことは容易に想像がつくと思います。

プレゼン当日に営業とエンジニアが一緒に来ているか

システム会社の営業がエンジニアと連れて一緒にプレゼンにきた場合は、まずは安心して良いでしょう。

というのも、エンジニアが隣にいるのに、営業が勝手に算出した見積もりを出せないからです。そんなことをすれば、エンジニアから「これじゃ無理だよ?」「この作業って誰がやる前提?」とツッコミの嵐になるのは必至。

もしプレゼン当日に、営業とエンジニアがこんな会話を始めたら、その会社への発注もやめるべきです。

結局、営業とエンジニアが密にコミュニケーションを取れていない時点で、その会社に発注しても炎上プロジェクトを生産するだけで、貴社のITシステム投資は失敗に終わります。

システムを発注をするユーザー起業からするとなんとも迷惑な話ですが、このようななんちゃってシステム開発会社がいるのは事実なので、キチンを防衛策を取りましょう。

高すぎず、安すぎない会社に注目せよ

上記の見積もり例を見てもらったように、こちらが同じ要件を出しても、システム会社が出してくる見積もりは三者三様です。おさらいすると、

A社:678万円

B社:2592万円

C社:540万円

であったが、B社だけ以上に高いのが目に付く。私自身の経験や周囲の人間にヒアリングした限りでは、B社に発注するということで話は落ち着くだろう。

この場合、各社の評価はこうなると予測される。

A社:678万円
→妥当な落とし所と思われる。ただ、費用のバッファは潤沢に取られていないと思われるので、追加の仕様変更が発生した場合は、追加費用の発生も考慮した方が良い。発注者側の要件定義の力量によほど問題がなければ、納品物もある程度の者ができそう。

B社:2592万円
→高レベルのエンジニアリソースの確保や、開発スケジュールにバッファを持たせていると考えられ、品質の高いシステムを納品してくれる可能性が高い。多少の要件変更なら金額を変えずに吸収対応してくれる可能性がある。ただ、コストが高いので、社内稟議を通すのは発注担当者の腕にかかってくる。

C社:540万円
→安くて不安が残る。エンジニアのリソースやスケジュールにバッファを持たせておらず、納品物の品質は疑わしい。営業が仕事を取るために根拠なない最安値の可能性大。追加の要望はまず受け入れてもらえない。

費用の算出方法

見積もりの費用はどういう風にはじき出されるかについてですが、これはエンジニアの人月単価をベースにしていることがほとんどです。

例として、大手企業と直接取引をしている中規模(売上高50億未満を想定)システム開発会社の人月単価の相場はざっくり以下のようになります。

〜60万:初級PG

60万円〜80万円:中級PG

80万円〜120万円:上級PG、PL

120万円〜:PM

当たり前の話ですが、高スキルであるほど人月単価は高くなります。逆にテスターなど誰でもできる仕事を依頼するときは人月単価の安いエンジニアをアサシンすることになります。

例えば、3名の中級PG(80万円)と、それをまとめるP L1名(100万円)を1ヶ月アサシンした際の見積は、3×80+1×100=340万円となります。

計算方法はとてもシンプルで、人月単価にエンジニアがどれくらいの時間稼働するかを掛ける形で算出されます。

見積もり項目の見方

見積書の内訳でよく見られる項目について説明いたします。

要件定義費用

要件定義とはプロジェクトの最初に必要な工程で、システム会社がクライアントが実現したいことをヒアリングし、どのようなシステムや機能を開発するのかを洗い出す工程のことをいいます。

大規模開発であったりシステムの複雑さにより、要件定義にかかる工数は増えるため、比例して要件定義費用も上がります。

運用設計費用

運用設計とは、要件定義で決まったシステムを実現するために必要なインフラ周りの設計や、データベース・アプリを設計することをいいます。アプリで使用するプログラミング言語もこのフェーズで決定します。

デザイン制作費用

デザイン制作は、U I(ユーザーインターフェース)を制作するのにかかる費用で、エンジニアではなく、WebデザイナーやUI/UXデザイナーが担当することが多いです。

制作するデザインは、モバイル端末やWeb上でユーザーの目に触れる画面のデザインであったり、システムの運用担当者の目に触れる管理画面のデザイン等です。

必要に応じて、ブランドイメージやプロダクトコンセプトに合わせて、フォントやメインカラーの検討と決定もこのフェーズで実施します。

独自のデザインにこだわると、デザイナーとデザインディレクターの工数が増えてきます。

デザインイメージをデザイナーに伝えるときは、できるだけ具体的なモノ(イメージが近い他社Webやプロダクトなど)や言葉でデザイナーに伝えることが重要です。

ディレクション費用

進行管理、スケジュール管理などと言われたりもしますが、主にP MやP M Oなどのマネージメントする立場のエンジニアが、プロジェクトの進捗管理をしたり、スムーズに開発が進むような調整やサポート業務のことを指します。

進捗定例会議などを設ける場合は、先方のP Mと一緒にP M Oも同席することがほとんどで、P M Oの工数(例として150万/人月)も乗ってきます。定例会議が月1なのか、週1なのかで費用も変わってきます。

費用の計上の仕方については、エンジニアの工数を積み上げるタイプと、開発費の5%〜10%を計上するタイプの2パターンを多く見かけます。

システム開発費用

設計された通りにエンジニアがプログラミングをする費用です。大抵の場合は、エンジニアの作業時間に人月単価を掛け合わせて算出されます。

導入・サポート費用

完成したシステムをクライアント企業に納品する際に行うシステムリリース作業費用や初期設定費用、システム納品後のサポート費用を指します。

業務システムをリプレースした場合であれば、マニュアルの作成やシステム操作説明会にかかる費用も計上されます。

テスト設計・実施費用

プログラミングされたシステムをテストするためにかかる費用を指します。品質の高いシステムを実現するために重要なフェーズで、システムのことを熟知したエンジニアがテスト設計書を作成し、そのテスト設計書から洗い出されたテスト項目をテスターがチェックします。

設備購入費用

システムを実現する上で必要なソフトウェアやサーバ費用、各種機器などを指します。

出張・会議費用

クライアントと打ち合わせをする際に発生した費用です。開発会社がクライアント企業に足を運ぶ際には、移動するためにかかった交通費が請求されます。

運用保守費用

システムが納品された後のメンテナンスや機能改善などにかかる費用です。運用保守費用を蔑ろにすると、納品後にバグ対応に時間を取られたり、機能改善したくても保守担当エンジニアのスキル不足で思うようにいかないことがあるので注意が必要です。必ずエンジニアのスキルレベルと、どれくらいの工数を確保しているかを確認しましょう。

失敗しないシステム開発会社の選び方

ここまで見積書にフォーカスして説明してきましたが、ここからはシステム開発会社の賢い選び方や、良し悪しを判断するポイントについて説明します。筆者の実体験や、有識者にヒアリングして有効だと思ったポイントをまとめました。

相見積もりは絶対にしろ!絶対だ!

まあ、これは言わずもがなですが、以下のようなサイトを活用して相見積もりは取りましょう。

https://meetsmore.com/

https://imitsu.jp/

安すぎたり、高すぎたり価格の幅が出てくると思いますが、不思議と中間の価格を提示してきた会社に発注することが多いです。

安すぎるとそもそもシステム会社の営業が根拠なく安く出しているケースが多く、炎上する可能性が高いです。

逆に高い場合は、営業がある程度エンジニアの工数にバッファを乗せているので、開発スケジュールにも余裕がり品質の高いシステムが出来上がる可能性が高いと言えます。

運用保守のことを考えてくれるシステム開発会社か?

実はこれがめちゃくちゃ大事でして、筆者自身もこれを軽視したために失敗したこともありますし、知人からも運用保守面での失敗エピソードをいくつも聞いたことがあります。

その上で、システム発注者が失敗しないための自衛策を3ポイントまとめました。

自家製◯◯◯、独自◯◯◯に気をつけろ!

「弊社が独自開発したC M Sでして、他社製品にはない機能を・・・」という営業トークを聞いたら警戒してください。要はこれ、クライアントを自社製品に依存させる狙いなんです。

自社しかいじれないシステムをクライアントに導入させてしまえば、そのシステムを運用保守できるのは独自システムを開発した企業のみなので、クライアントは嫌でもそのシステム会社に発注をせざるを得なくなります。かつ、他社システムに乗り換えようとしても、乗り換えるための工数やら費用やらがかかるので、そう簡単には踏みきれません。

納品時にソースコードの著作権も委譲してくれるか

開発元しか独自システムをいじれないという話をしましたが、もう少し突っ込んだ話をすると、ソースコードの著作権は誰が持っているのか?という話があります。

独自システムに限らず、システム会社が作成したシステムやアプリ等は基本的には開発元に著作権があります。そのためクライアントや他社が勝手にいじることはできません。

しかしこのままではシステム発注者側としては不便極まりないので、発注する前には

「納品と同時に著作権のクライアントに移譲すること」
「著作者人格権を行使しないこと」

の2点を契約前に合意させることがポイントになります。

著作者人格権はエンジニアやデザイナーなど、クリエイターの名誉を守る権利のことです。開発会社に勤務するエンジニアが職務時間中にプログラムしたソースコードは所属の法人が著作人格権を有します。

◎公表権・・・自分の著作物で、まだ公表されていないものを公表するかしないか、するとすれば、いつ、どのような方法で公表するかを決めることができる権利

◎氏名表示権・・・自分の著作物を公表するときに、著作者名を表示するかしないか、するとすれば、実名か変名かを決めることができる権利

◎同一性保持権・・・自分の著作物の内容又は題号を自分の意に反して勝手に改変されない権利

引用元:公益社団法人著作権情報センター CRIC

コストを安く抑えるポイント

システム開発の必要を安く抑えたいという企業がほとんででしょうが、大抵イニシャルコストを安く抑えようと考えがちです。

大事なのはランニングコストの部分を含めた判断ができるかです。イニシャルコストを無理に値切ると、質の低い使えないシステムが納品されて結果作り直しなんてことに・・・。

クライアントが要件定義をしっかりやること

これをかくと、怒るクライアントさんがいると思いますが、ほとんどのクライアント企業では要件定義ができていません。システム会社におおよその構想を伝えて満足しているケースが多く見受けられます。要件定義って、その構想を実現するために、どんな機能をもったシステムが必要で、それを作るために必要なリソースを割り出して、ということができる人が担当しないと大変なことになります。

ともなれば社内のエンジニアをアサインすべきということになります。クライアント企業がしっかりと要件定義をできれば、システムの品質はある程度担保されるでしょうし、後になって作り直しなんてことも防げるでしょう。結果、無駄なコストを抑えられることにつながります。また、ベンダー選定の時にもクライアント側にエンジニアがいれば各システム会社の見積もりに対して、良し悪しを判断できる力はグッと上がります。

もし、社内にエンジニアのリソースがないという場合は、社内に常駐して一緒に並走してくれるエンジニアリソースを提供してくれる会社に協力を仰ぎましょう。宣伝ですが、情報戦略テクノロジーさんおすすめです。

※(株)情報戦略テクノロジー:https://www.is-tech.co.jp/

協力を仰ぐ会社は下請けシステム開発会社ではなく、クライアント企業のシステム内製を一緒に考えてくれるというスタンスを謳っている会社を選定するのがポイントです。そういう会社の方が、業務知識や提案力が高いエンジニアとマッチングできる可能性が高いです。

あと、効率的にシステム開発会社を探す方法としておすすめなのは、WhiteBox(https://whitebox.vision/)のようにマッチングプラットフォームを利用することです。WhiteBoxは1000社の企業が登録しているので、自社の業務領域が得意な企業とマッチングできる可能性は十分にあります。

運用保守のエンジニアリソースを確保できているか?

見積書の中に運用保守費用を計上してこないシステム会社もあるので、「運用保守」の項目が見積書の中にあるかどうかは注意深くチェックしてください。 

もし運用保守の費用が計上されていたら、運用保守工程にアサシンされる「エンジニアの人月単価」を必ず確認してください。人月単価が50万円のエンジニアをアサシンしても、実力的に機能改修はまずできません。せめて100万円/月レベルのエンジニアのリソースは欲しいところです。

ダメな例)運用保守費用180万円(内訳:50万/月×0.6人月×6)

良い例)運用保守費用240万円(内訳:100万/月×0.4人月×6)

きちんとシステムリリース後の運用のことを親身に考えてくれるシステム会社さんとお付き合いしてください。システムをリリースしたら、運用保守に関しては関わりたがらない会社も少なからずいますので。

筆者も過去経験したプロジェクトでは発注先がアサインしたエンジニアが若手の方だったようで、jQueryやJavaScriptsのカスタマイズをお願いしたのですが、半年たっても要件(モバイルサイトの読み込み速度改善)が満たされませんでした。そのうち、間に入っていた先方のディレクターの方も「エンジニアと直接やりとりしてください」と言い出す始末。。。

<まとめ>

システム開発会社に発注する際には、本記事でご紹介したポイント踏まえて、システム会社と対等な立場で開発を進めることが重要です。

しかし、結局1番重要なことは、システム発注を任されたあなた自身がプロジェクトを遂行する長として、どこまで責任感をもって取り組めるかだと筆者は考えています。

場合によっては、社内の圧力に対してNoと言える力が必要になるシーンもあります。プロジェクトの責任者はあなたであって、社長や取締役ではないのです。プロジェクトのことを一番把握して、舵取りをできているあなたであれば、外野のヤジに対して「うるせー、何も知らないくせに口だすな」と言えることができる日が絶対に来ると筆者は信じています。

あなたのプロジェクトが成功することを祈り応援しています!