受託開発の費用・相場の解説|同じ内容の開発でも費用に差がある理由は?
現在、多くのシステム開発会社が存在します。
ITを導入するべきだという話は聞いたことがあっても、導入するべきではないという話は聞きません。
それだけ、どのような企業でもITは必要とされています。
一方で、
「どこの企業に依頼すれば良いのかわからない」
という疑問を持たれている人も多いのではないでしょうか。
今回は、そんなシステム開発の中でも「受託開発」に絞って、費用の相場などについてお話していきたいと思います。
受託開発とは
受託開発とは、クライアントから「受託」、つまり依頼を受けてシステムやソフトウェアの開発をすることです。
クライアントは、
「〇〇を納品してもらう」
というように、成果物(納品物)ベースで仕事を依頼します。
受託開発により、クライアント側には
・スケジュールどおりに開発が進めやすい
・自社にシステム開発スキルを保有しなくて良い
・自社にはない最新の技術を活用できる
・開発に必要な設備への投資が必要ない
などのメリットがあります。
そのため、
・自社にシステム開発の知識・技術がない
・規模の大きいシステム開発を計画している
企業などに採用されやすい方法です
因みに、受託開発と対象的な契約としては「準委任」があります。
これは、技術者に特定の作業を依頼するような契約方法で、期間内で納品物が完成しているか否かが問われないような契約になります。
大きな違いはこの「仕事を完成させる義務があるか」という点です。
また、受託開発の場合には、あくまで仕事を完成させるための契約です。
そのため、社内で空いている他の人をプロジェクトメンバーにアサインするなど、仕事を受ける側としても融通が効きやすい契約内容となります。
受託開発の相場
開発しようとするシステムの種類、規模などによってシステム開発費用は大きく異なるため、受託開発費用の相場には幅があります。
受託開発の相場について説明します。
基幹システム
基幹システムとは、企業経営のための主要業務を管理するシステムのことです。
・販売管理システム
・生産管理システム
・在庫管理システム
・物流管理システム
・給与管理システム
・顧客管理システム
などが基幹システムにあたります。
基幹システム開発の相場は、600〜1,000万円です。
基幹システムは他のシステムよりも高額になりやすいシステムです。
基幹システムの中でも、物流管理システムや生産管理システムなどは業務の複雑性が高く、特に高額になりやすいシステムです。
情報系システム
情報系システムとは、各種の業務がスムーズに行えるようにするためのシステムです。
・スケジュール管理システム
・グループウェア
・メールシステム
などが該当します。
情報系システム開発の相場は、300〜600万円
情報系システムは、基幹システムと比較して安価です。
Webシステム
Webアプリケーションとは、インターネット上で情報を処理するアプリケーションのことです。
・ECサイト
・CMS
・マッチングサイト
などが該当します。
Webアプリケーション開発の相場は、50〜500万円です。
Webアプリケーションでは、ページ数やデザインで費用が変わります。
システム開発にかかる費用=人件費+諸経費
同じシステムの開発をする場合でも、条件によって大きく費用に幅ができることを説明しました。
さらに、ここまでに説明したのはあくまでも相場ですので、相場よりも安価で開発ができる場合もありますし、高額になる場合もあります。
開発費用のうち、もっとも費用がかかるのは人件費です。
開発費用に大きな幅ができる理由を説明するため、まずは人件費がどのようにかかるのかについて説明します。
人件費の単位は人月
システム開発費のうち、最も多くの割合を占めるのは人件費で、その割合は、6割〜8割程度です。
人件費の単位は、「人月」です。
これは、何人の労働力で何ヶ月かかる作業なのかを表しています。
例えば、3人で2ヶ月かかる作業であれば、6人月となります。
後述しますが、この人月に関して
「誰を何人使うのか」
は非常に重要になります。
例えば、通常
・プログラマー
・システムエンジニア
は別の扱いをされ、システムエンジニアの方が単価が高い事が多いです。
そのため、
1.プログラマー1人/システムエンジニア2人
2.プログラマー2人/システムエンジニア1人
上記の2つのパターンでは1のパターンの方が、料金が高くなる可能性があります。
ただ、単価の設定は業界的な相場に加えて、その企業がエンジニアにいくらの給料を支払っているかにも影響します。
そのため、企業ごとに単価設定はバラバラといえます。
システム開発の流れ
システム開発には、
企画、要件定義、システム設計、プログラミング、テスト
という、決まった流れがあります。
この流れの中で、それぞれに必要な人件費がかかることになります
それぞれの工程の説明をします。
企画
受託開発を依頼する企業で、既存の仕組み等についてシステム化することを企画することです。
具体的には、どのようなシステムを、どのように開発するかを具体的に検討し、システムの価値や投資に対するリターンを明確にする作業です。
要件定義
要件定義では、開発するシステムにはどんな機能や性能が求められているかを明らかにする工程です。
受託者は利用者へのヒアリングを欠かすことができないため、システム開発の流れの中で、利用部門との関わりが1番大きい工程です。
要件を取りまとめた結果を、要件定義書という文書の形で残します。
システム設計
システム設計は、要件定義で明らかになった求められる機能や性能を、システムに落とし込む工程です。
利用者が手を触れることになる、「外部設計」
開発者側から見た設計を行う「内部設計」
プログラムの作り方を設計する「プログラム設計」
の3段階にわけて設計します。
プログラミング
システム設計の内容に従って、プログラムを作成する工程です。
プログラミング言語を使って、設計のとおり動くプログラムを作ります。
テスト
作成したプログラムがシステム設計どおりに動くかどうかを検証する工程です。
1番小さいプログラムであるモジュールレベルで行う「単体テスト」
モジュールを結合させて行う「結合テスト」
システム全体で行う「システムテスト」
実運用と同じ条件で行う「運用テスト」
と複数の段階に分けてテストを行います。
エンジニアの単価
システムの開発には、多くのエンジニアのスキルが必要になります。
システム開発に関わるエンジニアとその人件費について説明します。
プロジェクトマネージャ
システム開発のプロジェクト全体を管理する責任者です。
具体的には、企画の段階からプロジェクトに関与し、各工程の工数の割り出しや人材確保などプロジェクトを遂行するために必要な準備を行う仕事です。
プロジェクトマネージャーの単価は、110〜170万円です。
経験や企業規模によって変わりますが、全工程を通じてプロジェクトに大きく貢献するため、他のエンジニアに比べ高単価です。
システムエンジニア
要件定義、システム設計、テストを行うのがシステムエンジニアの仕事です。
システムエンジニアの単価は、90〜150万円です。
リーダーなのか、サブリーダーなのかや企業規模などで単価が変わります。
プログラマー
システムエンジニアの作成したシステム設計に従って、プログラミングを行うのがプログラマーの仕事です。
プログラマーの単価は、80〜110万円です。
その他
システム開発に関わる技術者は、目的のシステムによってはWebデザイナーやカメラマンなど、多岐に渡ることがあります。
前述のとおりシステム開発の多くは人件費です。
システムの規模とエンジニアの単価を丁寧に積算する必要があります。
どうやって開発するか
システム開発の費用に大きく影響するのが、開発方法です。
開発方法の違いで、数百万円なのか数万円なのかほどの違いがあります。
開発方法の違いについて説明します。
パッケージ製品を使った開発
パッケージ製品=既製品、を使ったシステム開発です。
すでにある製品を、目的とする機能に合わせて開発するため
・予算を低く抑えられる。
・短期間で完成させられる。
というメリットがあります。
既製品のため、細かい仕様を変えることはできないことから
・完全に需要を満たすことができない場合がある。
・操作性はパッケージソフトウェアに依存する。
という点が、デメリットです。
低価格でシステム開発をしたい、必要な処理ができるのであれば細かい仕様を満たす必要はない
という場合に向いている開発方法です。
OSSを使った開発
オープンソースソフトウェア(OSS)を使った、システム開発です。
OSSは、インターネット上にソースが公開されているソフトウェアのことで、誰でも自由に開発に使えるソースコードです。
OSSを使ったシステム開発もパッケージ製品を使ったシステム開発と同様に、開発費用が低く抑えられます。
OSSを使うメリットは、費用面だけではなく
・ソースが公開されているため、信頼性が高い。
・突然の利用停止などがないため、長期間の利用が見込める
などがあります。
しかし、デメリットとして
・不具合や開発継続の補償がない
・維持管理にはプログラミングの知識が不可欠
などがあります。
代表的なOSSには、
・Apache:ミドルウェア
・MySQL:ミドルウェア
・Thunderbird:メールソフト
・WordPress:ブログ、サイト作成ソフト
などさまざまなものがあります。
システム開発として最もわかりやすい部分で言うとWordPressが該当します。
例えば、サイトを作成する際、WordPressを利用すれば、最短数時間でサイトは完成します。
一方で、後述するスクラッチ開発などで作ろうとすると、シンプルなものでも数日から数週間かかります。
更に、WordPressには、プラグインとしてカート機能や問い合わせフォームなどを簡単に導入することが出来ますが、これらもイチから作るとなると、時間がかかります。
自社に合わせた「スクラッチ開発」
スクラッチ開発とは、全てオリジナルのシステムを開発する方法です。
スクラッチ開発では、
・システムの目的に沿った機能・性能を実現できる
・システム開発企業のサポート打ち切りによるシステム終了の恐れがない
というメリットがある一方、
・開発に時間を要する
・開発費用が高い
というデメリットがあります。
スクラッチ開発の費用が高額なため、受託開発の相場に幅があります。
また、スクラッチ開発は、2つの開発方法に分けられます。
・スクラッチ開発:フレームワークを使って行うシステム開発
・フルスクラッチ開発:フレームワークを使わずに行うシステム開発
フルスクラッチ開発の方が、システムに求められる機能・性能をより実現できますが、開発に時間も人件費も多くかかります。
企画・要件定義によって費用が大きく変わる
システム開発の流れの中にある工程は、どれも重要なものです。
しかし、費用に大きく影響するのは上流の工程である、企画・要件定義です。
企画・要件定義が費用にどう影響するかについて説明します。
受託開発の費用に幅を作っているのは開発方法
受託開発の相場に幅があるのは、開発方法の違いが大きな要因です。
開発方法が異なれば、システム開発に必要な期間が変わり、費用で大きな割合を占める人件費が変わります。
スクラッチ開発であれば、開発期間が長いことに加え、上級のスキルを持ったエンジニアを揃える必要があり、さらに人件費が増加します。
企画・要件定義を丁寧に行って必要なシステムを決める
開発方法を決めるのは、企画・要件定義です。
開発するシステムに、どのような機能をどこまでの性能で求めるのか、など大きな方向性を決めているのが企画・要件定義だからです。
企画・要件定義を組織の意向に沿った形で進めるためには、受託業者と綿密な打ち合わせができるITスキルを持った職員が必要になります。
その上で、システムの必要性、目的、要求定義などを丁寧に選定します。
リスク、操作性、費用を勘案しパッケージ開発やOSSで実現可能なのかを判断することで、開発方法が決まります。
企画・要件定義がシステム開発費用を決めています。
企業のスキルによっても大きく費用が変わる
更に、企画や要件定義を終えた際に、企業のスキルによって費用が大きく変わる部分があります。
それは、「調査費用」です。
例えば、
「〇〇のようなシステムを作って欲しい」
という話で要件定義を行います。
この時に、その企業で
「過去に同じような事をしたことがある」
「その分野の知見があるエンジニアが在籍している」
という場合には、簡単に人月が計算できます。
一方で、スキルのない企業に依頼をしてしまうと、
「本当にできるのかを調査する」
という工数が発生します。
この調査費用も人件費としてかかってくるのです。
安価な開発はAMELAに
今回は、一般的な受託開発の相場について見てきました。
「受託開発は、思ったよりも高いな・・・」
と感じられた方も多いのではないでしょうか。
実はそんな開発費用を安くする方法があります。
それが、AMELAが得意とする「オフショア開発」なのです。
オフショア開発とは、海外の安いエンジニアを使うことで、同じ開発内容でも安く開発できる方法です。
例えば、開発に
・プロジェクトマネージャー/1人 × 110万円
・システムエンジニア/2人 × 90万円
・プログラマー/4人 × 80万円
とすると、1ヶ月(7人月)でかかる費用は610万円です。
しかし、仮にシステムエンジニアの1人とプログラマーの4人を、人件費の安い(例として半額で計算)海外のエンジニアにした場合、
・プロジェクトマネージャー/1人 × 110万円
・システムエンジニア/1人 × 90万円 + 1人 × 45万円
・プログラマー/4人 × 40万円
となり、1ヶ月で405万円になります。
今回はあくまで単純計算ですが、このようにオフショア開発では同じシステム開発でも費用を大幅に削減できる可能性があるのです。
これまで、見積もりを依頼して
「こんなに高いなら、依頼をやめておこうかな・・・」
と考えている方であれば、是非オフショア開発を得意とするAMELAにご相談頂ければと思います。