アプリ開発を外注した際の費用は?メリットや外注の選び方を解説
スマホの普及により、アプリを活用したマーケティングが当たり前のものになりました。BtoB、BtoCを問わずユーザーに有益なアプリを提供することは、企業のマーケティングにおいて重要な課題になりつつあります。このような状況にあるなか、アプリ開発に手を焼いている企業は少なくありません。自社開発で失敗することもあれば、外注して後悔することも・・・。今回はアプリ開発にフォーカスして、外注と自社開発のメリット・デメリットや、外注時の費用相場、外注先の選び方などについて解説していきます。
CONTENTS
アプリ開発を外注する主なメリット・デメリットについてご説明します。
●アプリ開発を外注するメリット
▼メリット01:エンジニアがいなくても開発できる
アプリを自社開発しようと思ったら当然、アプリ開発のスキルを持った人材が必要です。継続的にアプリの開発・運用を進めていくならエンジニアを採用して開発チームを発足させてもいいでしょう。しかし、単発のアプリ開発であるなら外注するのが現実的です。外注なら、社内に専門知識を持ったエンジニアがいなくてもアプリを開発できます。
▼メリット02:コストを変動費化できる
アプリを自社開発する場合、当然ですがエンジニアの給与・賞与や社会保険料といった人件費が発生します。どんな企業でも、人件費は固定費のなかで大きな割合を占めていますが、外注を選択すれば固定費を変動費化することができます。必要なときにだけ発注すれば済むので、コスト面で大きなメリットがもたらされるでしょう。
▼メリット03:アプリ開発費を安く抑えられる可能性がある
アプリの開発機能を持たない企業が社内に開発チームを発足させるには、エンジニアの採用や環境整備などで決して少なくない投資が必要になります。アプリ開発の費用は幅がありますが、社内に開発チームを設ける場合に比べれば外注したほうが安く抑えられる可能性は高いでしょう。
●アプリ開発を外注するデメリット
▼デメリット01:当たり外れがある
アプリ開発会社の実力は、会社によって大きな差があるのが現状です。また、フリーランスのエンジニアに外注することもできますが、やはり人によってスキルに差があります。外注先のレベルを見極めるのは簡単なことではなく、特にアプリ開発が初めての場合はなおさらです。ですが、外注先選びを誤ってしまうと目的に適ったアプリを開発できないおそれもあります。業者選定で当たり外れがあるのは、外注のデメリットだと言えるでしょう。
▼デメリット02:知見・ノウハウが蓄積されない
アプリ開発を外注していると、自社にアプリ開発に関する知見やノウハウが蓄積されていきません。社内にエンジニアがいる場合や、将来的に自社開発に切り替える可能性がある場合などは、アプリ開発の経験値が得られないことはデメリットになるでしょう。
▼デメリット03:情報漏えいのリスクがある
アプリ開発に限った話ではありませんが、アウトソーシングをするということは、自社の情報を外部の第三者に引き渡すということです。その際に、どうしても情報漏えいのリスクが生じます。通常、アプリ開発を外注する際は機密保持契約を締結しますが、機密保持契約を交わしたからと言ってリスクがなくなるわけではありません。自社でセキュリティ対策を講じるのはもちろん、外注先にも然るべき対策を求め、情報漏えいを防がなければいけません。
アプリを自社開発する主なメリット・デメリットについてご説明します。
●アプリを自社開発するメリット
▼メリット01:柔軟な対応ができる
アプリ開発の工程では、仕様変更や機能追加などの要望が出ることが多々あります。その場合、外注していると対応の可否や追加費用の問題が生じて、開発がストップしてしまうケースも少なくありません。
その点、自社開発であればスケジュール調整や仕様変更などに柔軟に対応できます。また、アプリはリリース後も機能改善やアップデートが必要になりますが、その際も自社開発のほうが臨機応変に対応できるはずです。
▼メリット02:開発スピードが早い
アプリ開発を外注する場合、見積もりや契約、仕様の擦り合わせなどで何かと手間や時間がかかります。また、外注先のエンジニアは複数の案件を担当していることも多いので、開発に入ってからも時間がかかりがちです。
一方、自社開発の場合はすべての手続きが社内で完結するため、スピーディーに開発を進められます。エンジニアも自社案件に集中できるので、外注する場合より早くアプリをリリースできる可能性があります。
▼メリット03:エンジニアの成長につながる
アプリを自社開発することでエンジニアの経験値が上がり、スキルアップにつながります。また、プロジェクトごとに蓄積されたノウハウは、新たなアプリ開発の際に活きてきます。将来的にアプリの開発・運用に力を入れていくのであれば、自社開発でエンジニアに経験を積ませ、知見やノウハウを獲得していくのがいいでしょう。
●アプリを自社開発するデメリット
▼デメリット01:コストがかかる
アプリを自社開発するには、社内にエンジニアが必要です。エンジニアがいない場合は採用する必要がありますが、採用活動には決して少なくないコストがかかります。また、経験に乏しいエンジニアを採用した場合は、入社後の教育コストもかかります。自社にエンジニアがいない場合や、スポットでのアプリ開発の場合は、外注を活用したほうがコスト的なメリットが大きいでしょう。
▼デメリット02:優秀なエンジニアを獲得するのが難しい
今、アプリ開発のスキルがあるエンジニアは市場価値が高まっており、多くの企業がアプリケーションエンジニアを探しています。それなりの条件でなければ、優秀なエンジニアを獲得するのは難しいでしょう。経験の浅いエンジニアほど獲得しやすくなりますが、求めるアプリを開発できるかどうかは分かりません。ある程度の期間を育成に充てないと、戦力になれない可能性もあります。
▼デメリット03:エンジニアの退職リスクがある
自社でエンジニアを抱えている場合、どうしても退職リスクは避けられません。比較的多くのエンジニアがいる会社であればチーム内でバックアップすることもできますが、少人数でアプリ開発をおこなっている会社の場合、一人が退職することで開発が困難になるケースもあります。
アプリ開発を外注する場合の費用相場と、自社開発する場合にかかる費用についてご説明します。
●アプリ開発を外注する際の費用相場
アプリ開発を外注する際の費用は、そのほとんどがエンジニアの人件費です。エンジニアの人件費は、「人月 × 人数 × 期間」で決まります。人月(にんげつ)というのは作業単価のことで、エンジニアの1ヶ月あたりの人件費を表します(システム系・Web系の業界では、慣例的に作業単価のことを人月と言います)。
アプリ開発に携わるエンジニアには、主に設計やディレクションをおこなうシステムエンジニア(SE)と、実際にプログラミングをおこなうプログラマ(PG)がいます。同じシステムエンジニアや同じプログラマでも、その人のスキルによって人月は変わってきます。
アプリ開発エンジニアの人月の目安は以下のとおりです。
・上級システムエンジニア:100万円~150万円
・中級システムエンジニア:70万~120万円
・初級システムエンジニア:50万~100万円
・プログラマ:30万円~100万円
たとえば、あるアプリ開発に1人月100万円のSEが1人と、1人月60万円のプログラマが2人必要で、開発するのに2ヶ月かかるとします。その場合のアプリ開発費用は以下のように算出されます。
100万円 × 1人 × 2ヶ月 = 200万円
60万円 × 2人 × 2ヶ月 = 240万円
200万円 + 240万円 = 440万円
アプリ開発費は、「人月いくらのエンジニアが」「何人で」「何ヶ月働くのか」によって決まるということです。大手のアプリ開発会社に所属するエンジニアほど人月が高くなる傾向にあり、逆に中小・ベンチャーのアプリ開発会社のエンジニアは人月が安めになります。フリーランスのエンジニアは、その人のスキルや実績によって大きく変わってきます。
なお、アプリ開発は企画からリリースまで丸ごと外注するケースもあれば、自社で企画や仕様書の作成をおこない、開発工程から外注するケースもあります。丸ごと外注するのか開発から外注するのかによっても、費用は変わってきます。
●アプリを自社開発する際にかかる費用
外注する場合と同様に、自社開発の場合も費用の大半を占めるのは人件費です。自社エンジニアの人件費と開発期間によって費用が決まります。
エンジニアが足りない場合や、自社エンジニアのスキルが不足している場合などは、新たにエンジニアを雇用したり、フリーランスや派遣のエンジニアを活用したりする必要があります。そうなれば当然、採用コストや報酬などが発生します。
アプリ開発を外注する際はどんなトラブルが多いのでしょうか。トラブルの原因や対策も交えて解説していきます。
●トラブル事例「こんなアプリは頼んでいない・・・」
アプリ開発を外注したときにもっとも多いトラブルが、「イメージしていたアプリと違う・・・」というものです。このようなトラブルが起きるのは、大きく3つの原因が考えられます。
▼原因01:アプリ開発の目的が明確になっていなかった
アプリを作る目的が明確になっていないと、アプリ開発は失敗に終わる可能性が高くなります。「何のためにアプリを作るのか?」「アプリ開発によって何を実現したいのか?」といった課題や目的がはっきりしていないと、外注先も要件を定義するのが難しくなります。その結果、中途半端なアプリができあがってしまうのです。
▼原因02:費用だけで外注先を選んでしまった
アプリ開発は、エンジニアの技量が優れているほどプロジェクト全体の費用が高くなります。逆に言えば、相場を大きく下回る費用でアプリ開発を請け負っている会社は、エンジニアの質が疑われます。「安いから」という理由だけで外注先を決めてしまうと、まったく使えないシステムが生まれてしまう可能性があります。
外注先を決める際は相見積もりをすべきですが、相見積もりはアプリ開発の相場を把握したり、業者ごとの特徴を把握したりするのが目的であり、いちばん安い業者に発注することが目的ではありません。相場に比べて開発費が安すぎる業者は避けたほうが賢明です。
▼原因03:外注先に丸投げしてしまった
外注先が決まったら、あとは「丸投げ」という会社もありますが、これも失敗のリスクが高くなります。もちろん丸投げできれば楽ですが、丸投げしてイメージどおりのアプリができるほどアプリ開発は簡単ではありません。
発注者側もプロジェクトに積極的に関与して、開発中もコミュニケーションを欠かさないことが重要です。密なコミュニケーションをとっていれば、認識のズレがあってもすぐに軌道修正ができますし、トラブルが生じたときもスピーディーな対応が期待できます。また、外注先も緊張感を持って開発に取り組めるので、結果的にアプリの品質も高くなります。
●バグがあるのに修正してくれない・・・
アプリのリリース後に、バグなどの不具合が見つかるケースが多々あります。むしろ、不具合が見つからないケースはほとんどありません。見つかった不具合が法律上の瑕疵(かし)に当たる場合は、原則として、外注先に対して瑕疵担保責任(契約不適合責任)を問うことができます。具体的には、バグを修正するように請求できたり、バグがあることによって被った損害の賠償を請求できたりします。
ただし、これはあくまでも原則であり、認められないケースもたくさんありますし、契約内容によっても変わってきます。程度にもよりますが、アプリ開発でバグが出るのはある意味、当たり前のこと。トラブルを回避するために重要なのは、「不具合が出たときにどうするのか」ということを契約の段階で細かく規定しておくことであり、それに双方が納得したうえで契約することです。
●大幅な予算オーバーに・・・
仕様変更や機能追加などで追加の費用が発生して、予算をオーバーしてしまうケースも少なくありません。原因としては、必要な機能を整理しきれていないことや、予算の上限を設定していないことなどが考えられます。
アプリに求めるものを整理しきれておらず、「この機能もほしい」「あの機能も必要」となってしまうと予算オーバーは避けられません。このようなとき、発注した側は「予算をオーバーしてまで作ったんだから絶対に良いアプリになる」と考えがちですが、残念ながらそうなるとは限りません。逆に、無駄な機能ばかりで使いにくいアプリになるケースも多くあります。重要なのは、アプリに求める仕様・機能を整理して、それに優先順位を付けておくことです。
また、予算は上限額を決めておいたほうがいいでしょう。経験豊富な外注先であれば、予算の範囲内で最大限にクオリティを追求したアプリを設計・開発してくれるはずです。
アプリ開発の外注先は「アプリ開発会社」か「フリーランスのエンジニア」のいずれかになるでしょう。それぞれの特徴や選び方をご説明します。
●アプリ開発会社
続々とアプリ開発会社が登場していますが、会社によって得意分野が異なります。ショッピング系、ゲーム系、メッセージ系、業務系など、アプリには様々なカテゴリがあるので、開発実績からその会社の得意分野を把握したうえで発注するようにしましょう。
アプリ開発はリリースしたら一区切りになりますが、どんなアプリでもリリース後の修正や機能改善が必要です。アプリ開発会社を選ぶ際は、「リリース後のサポート体制は充実しているか?」「具体的にどんなサポートをしてくれるのか?(どんなサポートは含まれないのか?)」といったことを、料金も含めて確認しておくようにしましょう。
●フリーランスのエンジニア
フリーランスのエンジニアもアプリ開発会社と同様に、人によって得意分野が異なります。開発を予定しているアプリと同じ分野、もしくは近い分野の実績があるかどうかを確認したうえで、発注するようにしましょう。
大規模なアプリ開発には向きませんが、比較的規模の小さいアプリであれば、フリーランスに依頼したほうがコスト的にもクオリティ的にも満足のいくケースは多々あります。また、リリース後の運用サポートに関しても、フリーランスのほうが小回りが利くので迅速な対応が期待できます。
フリーランスのエンジニアを探すには、検索してホームページやSNSから問い合わせるのが一つの手です。また、クラウドソーシングに登録しているエンジニアも多いので、クラウドソーシング上で募集をかけてみるのもいいでしょう。
1人のフリーランスに1つのアプリ開発を任せることもありますが、たとえば、自社開発のエンジニアが不足している場合や、すでに開発が進んでいるプロジェクトでネックになっている部分がある場合などに、戦力・スキルを補うためにフリーランスにジョインしてもらうケースもあります。柔軟に活用できるのが、フリーランスのエンジニアの良いところです。
アプリ開発を外注する際の一般的な流れをご説明します。
●Step01:外注先の選定
まずは外注先を選びます。上述のとおり、外注先はアプリ開発会社かフリーランスのエンジニアになるでしょう。相見積もりをとって比較・検討してみましょう。
●Step02:企画
外注先が決まったら、「どんなアプリを作るのか?」という企画を立案していきます。基本的なことですが、外注先としっかりコミュニケーションを図り、アプリ開発の目的や課題を明確に伝えることが大切です。
●Step03:設計
企画に基づいて、アプリを開発するうえで必要になる詳細部分を決定していきます。外部設計(基本設計)では、アプリのデザイン・構成や画面のレイアウト、実装する機能や操作方法などを具体的に決めていきます。内部設計(詳細設計)では、ユーザーからは見えないシステム内部の設計をおこない、どのようにプログラミングをしていくのかを決定します。
●Step04:開発
設計に則ってプログラミングをおこないます。アプリの種類や搭載する機能によっては、開発にかなりの時間がかかります。開発中は外注先に任せっぱなしにするのではなく、定期ミーティングなどで綿密なコミュニケーションを図り、進捗や品質をしっかり管理していきましょう。
●Step05:テスト
まず、外注先にてアプリが設計どおりに動作するかをテストします。その後、発注者側でもテストをおこない、目的に合ったアプリになっているか、使いにくい点はないかなどを確認します。
●Step06:ストア申請
アプリが完成したら、App StoreやGoogle Playなどのアプリストアへ申請します。App Storeは審査完了までに時間がかかり、場合によっては改修を要求されることもあります。なお、外注先によってはストア申請を代行してくれる場合もあります。
●Step07:運用
アプリのリリース後は、不具合が起これば修正したり、ユーザーからの問い合わせに対応したりします。継続的に改善・ブラッシュアップを重ね、アプリの完成度を高めていきます。
■まとめ~開発会社とフリーランスを使い分け、柔軟なアプリ開発を!
クオリティの高いアプリを開発するには、パートナーとして信頼できるアプリ開発会社を選ぶことが重要です。また、気軽に相談できるフリーランスのエンジニアがいると何かと助かります。開発会社とフリーランスをうまく使い分け、柔軟にアプリ開発を進めていきましょう。
フリーランスとの取引が多い企業には、フリーランスに特化した発注・請求管理システム「pasture」がおすすめです。毎月の発注・請求業務を大幅に効率化できるほか、フリーランスごとに仕事内容や書類を保存でき、スキルや社員からの評価も一元化できる「pasture」の詳細はこちら。
※ pastureでは通常、企業と取引するフリーランスや協力会社を「パートナー」と呼称しますが、本記事中では説明のために便宜、外注(外注先)などの用語を使用している箇所がございます。