フルスクラッチの開発費用はどれくらい?相場と費用のおさえ方を解説
こんにちは。Wakka Inc.のWebディレクターの安藤です。
システムを導入する際に開発費用をどれくらいかけるかは、企業にとって重要な問題ではないでしょうか。
「フルスクラッチなら仕様の制約がなく、自由度が高いというけれど、開発費用はどれくらいかかるものだろう?」このような疑問をお持ちの方もいらっしゃると思います。
この記事では、システム導入を検討する際に知っておきたい、
- フルスクラッチ開発にかかる費用の相場
- 開発費用をおさえる方法
- フルスクラッチ以外の開発手法との比較
について徹底解説します。
Wakka Inc.ではフルスクラッチ開発を得意としています。
フルスクラッチ開発のちょっとした疑問から お見積もり依頼までお気軽にお問い合わせください
▼関連記事
フルスクラッチにかかる開発費用
まずは、フルスクラッチ開発にかかる費用についてまとめます。
開発費用の相場はどれくらい?
フルスクラッチ開発はゼロからオーダーメイドのシステムを構築するため、機能の数や複雑さによってかかる費用も大きく変わってきます。
一概に相場がいくらと言えないのが難しいところですが、比較的小規模の開発でも300万~500万円程度はかかると考えておいた方が良いでしょう。企業の基幹システムを一新するような大規模な開発になると、2,000万~3,000万円以上かかることもあります。
開発にかかる費用は、主に技術者の人件費です。開発規模が大きくなるほど期間も長くなり、それだけ技術者を確保する費用もかさむでしょう。技術力の高い技術者ほど単価も高額になります。
技術者の月あたりの単価は、以下のような金額が一般的です。
- プログラマー、初級SE:60万~100万円
- 中級SE:80万~120万円
- 上級SE、プロジェクトマネージャ:100万~150万円
もちろん技術者の人件費がすべてではありませんが、システム開発にかける技術者の人数×開発期間(月数)を目安に、開発費用の概算を把握しておくことは可能です。
開発費用をおさえるには?
「フルスクラッチ開発にはそれなりに費用がかかることはわかっているが、それでもできるだけ安くおさえたい」とお考えの方も多いのではないでしょうか?
大きく膨らみがちなフルスクラッチの開発費用ですが、ポイントを押さえて適切に対応すれば、意外と安くおさえられる場合もあります。開発費用を安くするために、押さえておきたいポイントをいくつかご紹介しましょう。
- 既存の部品を採り入れる
- 開発ベンダーとの契約形態を変える
- 事前にリスク要因をできるだけ除去しておく
ほかにも工夫できることはありますが、代表的なところでこの3点について、次のパートでくわしく解説していきます。
開発費用をおさえる3つの対策
既存の部品を採り入れる
ゼロから開発するフルスクラッチですが、すべてにおいてオリジナルが求められるわけではありません。
なかには汎用的な部品を利用できる場面も少なくありません。既存部品で利用可能なものは案外多く、
- 外部サービスで提供されている部品を利用する
- APIが公開されているサービスを利用する
- オープンソースで提供されている部品を利用する
など、自社のシステムで利用できるものがあれば、ゼロから開発せずに済みます。開発規模と費用をおさえるのに有効ですので、利用を検討してみる価値はあるでしょう。ただし、
- 不具合に素早く対応してくれる
- もし部品を利用して損害を被った場合に補償を得られる
などは期待できませんので注意が必要です。事前に入念な検証をしておくなど、安全に利用するための対策を取っておくと良いでしょう。
開発ベンダーとの契約形態を変える
開発を依頼するベンダーとの契約形態を工夫することで、費用をおさえられる場合もあります。大規模なシステム開発をベンダーに依頼する場合は、要件定義からテスト、本稼働までを一括で発注することがあるでしょう。
その場合は一般的に、請負契約を締結して発注することが多いのではないでしょうか?請負契約という形態は、ベンダー側が製造物の完成責任を負う契約ですので、ベンダーは完成責任を果たすために
- 必要なプロジェクト管理の費用
- 品質管理の費用
- リスク対応にかかる費用
などを開発費用の見積もりに含めているのです。
これは、不測の事態が発生した場合にもプロジェクトを完遂させる責任があるため、その責任にかかる費用という考え方もできます。そのため、請負契約でシステム開発を発注すると、開発費用は高額になりやすいのです。
一方、請負契約以外によく使われる契約形態に準委任契約があります。準委任契約とは、特定の業務を遂行することを定めた契約で、特定業務の遂行を目的として締結されます。
請負契約とは違い、準委任契約には製造物の完成責任はありません。
請負契約よりもベンダー側のリスクが少ないため、安い単価で技術者を確保できるのです。準委任契約の場合は、業務を担当する技術者の月あたりの単価から費用を概算できます。請負契約と準委任契約をうまく使い分けるコツについては、長くなりますのでここでは割愛します。
しかし開発費用をおさえる手段として、契約形態を変える選択肢があることはぜひ知っておいてください。
リスク要因を事前に除去しておく
前述したように、請負契約で開発業務を受注した場合、開発ベンダーは製造物の完成責任を負うことになります。そのため、ある程度のリスクが発生しても対応できるだけの費用を、見積もりに含めて提示してきます。
開発ベンダーは、依頼元企業の組織を取り巻く環境や、開発案件の内容などを慎重に評価します。
基本的には依頼内容をもとに、設計・開発・テストを進めるのにどれくらいの工数と期間が必要かを中心に見積もるのですが、
- リスクがどこに存在するのか?
- そのリスクが発現したらどれくらいインパクトがあるか?
といった観点も見逃しません。そして、リスクの大きさとインパクトに応じて、相応の費用が積み上げられるでしょう。
したがって、「見積もりを依頼するにあたって、いかにリスク要因を除去できるか?」は開発費用をおさえる上で重要なポイントになってくるわけです。
では、どのようなことがリスクになり、開発費用に影響を与えるのか?リスクが開発費用に与える影響について、次のパートでくわしく見ていきましょう。
リスクが開発費用に与える影響
ビジネスを優位に進めるうえで、ときにはリスクを取ることも必要です。リスクのまったくない誰にでもできるビジネスでは、成功させたところで大したうま味は得られないでしょう。
しかし、果敢にリスクを取ってチャレンジしても、リスクが現実のものとなり、そのインパクトに押しつぶされてしまっては元も子もありません。やはり可能な限りリスクはおさえ、成功確率を高めながら開発を進めたいものです。
このパートでは、「フルスクラッチ開発にはどのようなリスクがあり、開発費用にどんな影響を与えるか?」についてくわしく解説します。
開発ベンダーは何をリスクと見ているか
開発ベンダーは見積もりをするときに、どのようなリスクがあって、発現したときにどれくらいのインパクトがあるかを評価していると前述しました。では、開発ベンダーは何をリスクと捉えるのでしょうか?
細かく見ると、開発ベンダーがリスクとして着目する部分は多岐にわたりますが、リスクが比較的大きいところで代表的な次の2点を挙げておきます。
- 開発期間の設定は適切か?
- システム要件は明確か?
それぞれくわしく見ていきましょう。
開発期間の設定は適切か?
フルスクラッチ開発では、ウォーターフォール型の開発手法を用いて開発を進めるのが今も一般的です。
▼ウォーターフォール型の開発手法については下記の記事をご参照ください
ウォーターフォール型の開発手法では、ひとつの工程が終わるまでは次の工程へ進まないという特徴があります。
また、工程内の細かい作業の中でも、Aの作業が終わらないとBの作業を開始できないといった、作業の前後関係を守らなければならない場合があるでしょう。並行して同時に進められない作業があると、直列で進めることとなり、それだけ作業期間が延びてしまいます。
つまり、開発プロジェクトには適切な開発期間があり、これ以上は期間を短縮できないという限界が存在することを意味しているのです。その限界を超えて開発期間を短縮することは、どれだけ技術者の人数を増やしてもできません。
たとえば、10人の技術者が1年かけて完成させるプロジェクトがあったとして、120人の技術者を投入して開発すれば1か月で完成させられるでしょうか?
これは極端な例ですが、人を増やせば期間を短縮できると考え、開発規模にふさわしくない短い開発期間を設定するのはリスクが大きいです。
システム要件は明確か?
もうひとつリスクとして大きいのが、システム要件が不明確であることです。たとえば、
「システムでやりたいことはなんとなく見えている。しかしその機能を使って、どうやって業務を回していくかまでは決まっていない」
「将来的に顧客数が増えていくことで、蓄積されるデータ量の増加が見込まれる。
ただし具体的に何年後に顧客数がどれくらい増えるかの見込みは立っていない」
といった悩みはないでしょうか?
もし、要件の不明確な部分が多く含まれたままだとしたら、開発プロジェクトがスタートして次第に要件が明確になってきたところで、仕様変更や機能追加が続出することになりかねません。
そうなると、当初の見積もりより多額の費用がかかることも想定されるでしょう。開発ベンダーとしては、すでに受注した金額の中で仕様変更や機能追加を含めた製造物の完成責任を負うことになるわけですから、このような事態は大きなリスクとなります。
多少の仕様変更や機能追加によって開発費用が増しても利益を確保できるよう、リスク費が積まれるわけです。
フルスクラッチ開発のメリット・デメリット
ここからは、フルスクラッチ開発のメリット・デメリットについて、これまで解説してきた費用の減らし方のポイントも踏まえて整理していきます。
フルスクラッチ開発のメリット
フルスクラッチ開発はオーダーメイドで完全オリジナルのシステムを構築するわけですから、自由度の高さが非常に大きなメリットといえるでしょう。
自由度が高いことで対応しやすくなる部分がいくつも出てきます。たとえば、次のようなことが可能になるでしょう。
- 自社のビジネスに適合したシステムを構築できる
- システム改善のためのPDCAをスピーディに回せる
- 柔軟なカスタマイズが可能
技術力の高い技術者が社内にいれば、内製でスムーズに対応できます。ただし、自由度の高さは一歩間違えると使えないシステム、使いにくいシステムの開発につながりかねません。
自由度の高さをメリットとして活かすためには、確かな技術力が必要です。メリットを得るためには、デメリットの部分をいかに受け入れるかが大切になってくるのです。
フルスクラッチ開発のデメリット
フルスクラッチ開発のデメリットは、高い技術力が必要になることです。ひとつのシステムにはあらゆる技術的な要素が含まれています。
- システム要件を適切に整理する技術
- 利用者にやさしい使い勝手を実現する技術
- プログラミングの技術
- デザインの技術
- ネットワーク、データベースの技術
- セキュリティの技術
挙げるときりがありませんが、完全オリジナルのシステムを構築することは、これらの技術的な要素が総合的に必要となるわけです。
システム開発のためにこれらの技術を持った技術者を集結させるのは、なかなかハードルの高いものです。1社の開発ベンダーだけで、必要な技術力をすべてまかなえるとは限りません。
また、開発にかかる時間と費用が膨大になることもフルスクラッチ開発のデメリットです。
完全オリジナルのシステムをゼロから構築するわけですから、パッケージ製品など既製品を導入するより時間も費用もかかります。
システム要件をまとめるにも、仕様を決めるにも、設計・開発を進めるにも、相応のコストがかかるのです。
デメリットをいかに受け入れるかが成功のカギ
フルスクラッチ開発のメリット・デメリットについて解説してきましたが、実は両者がウラオモテの関係にあることはお気づきになられたでしょうか?
フルスクラッチ開発のメリットを活かすためには、デメリットをきちんと受け入れることが非常に大切なのです。
デメリットを受け入れられず、開発費用や時間を惜しむとどうなるでしょうか?
高い技術力を持つエンジニアを調達するには高額の費用がかかるからと、技術者のレベルを妥協したとしたら?
おそらく、フルスクラッチ開発によるシステム開発プロジェクトを成功させるのは難しくなるでしょう。
つまり、デメリットを避けようとすれば、それがそのままリスクになってしまう可能性があるのです。前述したように、開発期間を無理に短縮しようとすると、開発プロジェクトは混乱します。
時間が足りないため、十分に考慮を重ねることなく仕様を決め、そのまま開発へと発進することになるからです。
開発できちんとバグが除去されないまま時間切れになり、品質を犠牲にして納期に合わせることにもなりかねません。
また、開発費用をおさえるために技術者のレベルを下げると、開発プロジェクトの混乱を招く原因になります。システム要件をまとめるだけの技術力がないと、あとから仕様変更や機能追加が続出するかもしれません。
このようなリスクを抱えてシステム構築を発注すると、当然ながら開発ベンダーは高リスクと評価して見積り額は大きくなります。
高い技術力を持ったエンジニアを調達し、開発期間も費用もしっかり確保して開発プロジェクトに臨む。それが、プロジェクトが成功する確率を高め、結果的に開発費用も安くおさえられるカギなのです。
フルスクラッチ以外の主な開発手法
これまでフルスクラッチ開発についてくわしく解説してきましたが、フルスクラッチ以外にはどのような開発手法があるでしょうか?このパートでは、フルスクラッチ以外の主な開発手法について見ていきます。
パッケージ開発
最近のシステム開発では、パッケージ製品を導入するのが主流です。経理・会計システムや、小売店舗のPOSシステムなどは比較的古くからパッケージの導入が進んでいましたが、最近では
- 建設業界
- 医療業界
- 電力業界
など、業界の専門的な業務に対応したパッケージ製品の普及も進んでいます。パッケージ製品は既製品として販売されているため、はじめから製品の仕様は決まっています。
多くの企業で幅広く利用できるように、標準的な仕様にもとづいた機能が搭載されているのが一般的でしょう。
パッケージ製品を導入する場合、まずは製品が持っている各機能について、導入する企業の業務への適不適を明らかにするフィット・ギャップ分析をおこないます。
フィット・ギャップ分析の結果、ギャップの部分に着目し、このギャップをどのように埋めるかを検討します。
- 機能に合わせて業務の手順を変更するか?
- 業務で使いやすくするためにパッケージの機能をカスタマイズするか?
大きくはこの二択になるでしょう。カスタマイズする箇所と変更仕様が決まったら、それにもとづいて開発を進めます。
これがパッケージ開発の一般的な進め方で、フルスクラッチ開発と違ってゼロから仕様を決める必要はないので、導入までの期間を短縮できるのが特徴です。
パッケージ開発のメリット・デメリット
パッケージ開発のメリットはなんといっても導入期間が短くて済むことです。費用については、パッケージ製品の購入料金とカスタマイズ開発にかかる費用の合計ですが、フルスクラッチ開発と比較すると安くおさえられます。
また、費用と時間をかけなくても高い品質が担保されることもメリットといえるでしょう。
一方でデメリットは、自由度の低さです。
パッケージ製品自体が決まった仕様にもとづいて開発されているため、基本的にはその枠から大きくはみ出るカスタマイズはできません。
カスタマイズなしで使用する場合は、自社の業務とのギャップが大きく、使い勝手がよくないこともありますので、それだけ利用者の満足度も下がる恐れがあります。
ノーコード・ツールを使った開発
最近はノーコード・ツールの製品が多く出回ってきていますので、選ばれるケースも増えてきているようです。
フルスクラッチ開発では基本的にプログラム言語を使用してプログラム開発を進めますが、プログラム言語を使って書かれた処理の手続きをコードと呼びます。
ノーコードとはコードが不要という意味で、ノーコード・ツールによる開発には、プログラム言語に関する知識や技術が必要ありません。
ノーコード・ツールには、コンポーネントと呼ばれる部品群が数多く搭載されており、搭載されている部品を組み合わせて使うことで、簡単にシステム機能を構築できるのです。
高い技術力がなくても扱えるため、プログラミングの経験がない方でも、専門的な知識を身につけることなくシステムを構築できるのが特徴です。
開発の進め方については、ノーコード・ツール特有の決まった形はありませんので、フルスクラッチ開発と大差はないでしょう。
ノーコード・ツールのメリット・デメリット
ノーコード・ツールを使った開発のメリットは、高い技術力を必要としないことです。前述のとおり、プログラミングの経験がなくてもシステムを構築できるので、ツールの使い方を学べばすぐにでも開発をはじめられます。
ただし、システム開発に関する作法を何も知らずに使うのは容易ではありません。
技術者でない方が利用するのであれば、事前に研修などで、システム開発に関する最低限の知識を身につけておくのがオススメです。
ノーコード・ツールもパッケージ製品と同様、搭載されている部品群については品質が保証されていることが、メリットのひとつと考えられます。
デメリットとしては、既存の部品を組み合わせて開発するため、あまり小回りが利かない点が挙げられます。
プログラム言語ならもっとシンプルに実装できるところが、既存の部品だけでは思うような処理の流れを作れず、遠回りを余儀なくされるケースもあるでしょう。複雑な処理を組み込むのにもあまり向いていません。
各システムのメリット・デメリットの比較表
これまで解説してきたフルスクラッチ開発、パッケージ開発、ノーコード・ツールを使った開発、それぞれのメリット・デメリットと開発費用について改めてまとめておきます。
スクラッチ | パッケージ | ノーコード・ツール | |
---|---|---|---|
メリット | ・自社のビジネスに適合したシステムを構築できる ・システム改善のためのPDCAをスピーディに回せる ・柔軟なカスタマイズが可能 | ・短期間で導入可能 ・開発費用が安い ・製品の品質が保証されている | ・高い技術力が不要 ・スピーディな開発が可能 ・ツールの品質が保証されている |
デメリット | ・開発費用が高い ・導入までに長期間が必要 ・高い技術力が必要 | ・カスタマイズの自由度が低い ・自社業務とギャップがあると使い勝手が悪い | ・柔軟性が低く複雑な処理に向かない |
開発費用相場 | 300万~2,000万円以上 ※開発規模によって幅がある | 300万~500万円(製品価格)100万~300万円(開発) | 300万~500万円(製品価格) ※月額数万円程度のサブスクリプションプランも多数あり 70万~200万円(開発を外注した場合) |
リスク要因を減らせば開発費用をおさえられる
開発費用を構成する要素の中でも、リスクは目に見えないので見過ごされがちです。
しかし、リスクは金額に換算して評価されるため、大きなリスクがあると開発費用が跳ねあがる可能性が高いでしょう。
その意味で、開発プロジェクト発足時に可能な限りリスク要因を除去しておくことは、開発費用をおさえる上で欠かせません。
外部の客観的な意見を採り入れるために、いつでもすぐに相談できて、パートナーとして信頼できる開発ベンダーを持っておくこともオススメです。
学生時代にWebサイトを自作したことがきっかけでWebの世界に。制作会社でデザイン、WordPressテーマ開発の実務を経て、テクニカル・ディレクターとして大規模サイト構築のディレクションを経験。2021年からWakka Inc.の日本拠点でWebディレクターとして参画。最近はブロックエディタになったWordPressをもう一度、勉強しています。