システム開発は外注すべき?メリット・デメリットや外注先の選び方・相場を紹介【2024年最新版】

システム開発は外注すべき?メリット・デメリット、外注先の選び方を紹介

システム担当者にとって、自社システムの開発を外注するか、社内で内製するかは悩ましい問題。最近は環境変化に素早く対応するため、内製化へ移行する動きもみられますが、社内のIT人材不足などから外注を選ぶ企業が主流です。

この記事では情報システム部を6年経験した筆者が、どんな企業が外注化を選ぶべきか解説します。

さらに、システム開発を外注するメリット・デメリット、外注先の選び方、システム外注の相場など、外注のためのノウハウをまとめました。
失敗しないシステム開発、プログラム開発の参考にしてください。

※すでにシステム開発の外注を決めているものの、どの開発会社へ依頼すればよいかわからない方は、システム幹事にご相談ください。目的・予算にあった最適な制作会社を「人力で」マッチングします。相談料・紹介料は一切かかりません。

【無料】おすすめシステム開発会社を紹介してもらう

システム開発に役立つ記事もご覧ください システム開発とは?工程・流れをプロが解説!発注者が知っておくべきポイント

目次
  1. 1. システム開発の外注化と内製化の違い
  2. 2. システム開発を外注するメリット
    1. 2-1. 採用・育成の手間が省ける
    2. 2-2. 請負契約なら契約不適合責任を負わせられる
    3. 2-3. 開発に必要な設備の投資が不要
  3. 3. システム開発を外注するデメリット
    1. 3-1. 自社事業を自社社員のように完全に把握しているわけではない
    2. 3-2. システム開発のノウハウが社内に貯まらない
    3. 3-3. 外注管理、各種コミュニケーションコストが生じる
    4. 3-4. 情報漏洩のリスクが生じる
    5. 3-5. 雲隠れされる恐れがある
    6. 3-6. 増員や担当者の変更がしづらい
  4. 4. システム開発を内製するメリット
  5. 5. システム開発を内製するデメリット
  6. 6. システム開発を外注したほうがいい企業
    1. 6-1. 自社にシステム開発の専門知識や技術がない
    2. 6-2. 大規模なシステム開発を計画している
    3. 6-3. 小規模開発なら個人への依頼もおすすめ
  7. 7. 失敗しないシステム開発を外注する会社の選び方
    1. 7-1. 開発担当者のコミュニケーション力
    2. 7-2. 開発実績
    3. 7-3. 業績の安定具合
    4. 7-4. 3社ほど相見積もりをする
  8. 8. システム開発を外注する流れ
  9. 9. システム開発を外注する際の注意点【外注前】
    1. 9-1. 「何を作りたいか」を明確に言語化する
    2. 9-2. 見積額だけで外注先を選ばない
    3. 9-3. 保守・運用費用も予算に含める
    4. 9-4. 契約内容を確認する
  10. 10. システム開発を外注する際の注意点【外注後】
    1. 10-1. 要件定義書を徹底的に読み込む
    2. 10-2. 発注者もプロジェクトにコミットする(丸投げしない)
  11. 11. システム開発外注費用の相場と内訳
    1. 11-1. 人件費(開発費)
    2. 11-2. 設備費
  12. 12. システム開発の外注まとめ

システム開発の外注化と内製化の違い

システム開発の外注化とは、自社以外の企業にシステム開発を委託することを指します。通常、複数社の見積もりを比較・検討し、自社の要望と最も合致した企業と契約する流れとなります。

最近の傾向はオフショア開発が主流で、人件費の安い海外の開発企業に依頼するケースもあります。

一方でシステム開発の内製化は、これまでシステム開発を外部に委託していた状況から、自社内で開発する仕組みに変更することです。

内製化を成功させるには、社内でプログラミングに詳しいメンバーを集め、最適な開発環境を整える必要があります。ちなみに内製化は、プロジェクトの難易度が高くなればなるほど、人件費や開発環境の設備費が高騰しやすいです。

システム開発を外注するメリット

システム開発を外注するメリット

採用・育成の手間が省ける

システムに関する専門知識のある技術者の育成には手間がかかります。新たに採用するにも昨今のエンジニア不足では、すぐによい人材が採用できるとは限りません。外注によって、短期的な経費や人件費を大きく削減できます。

請負契約なら契約不適合責任を負わせられる

労働ではなく、成果物に対して報酬を払う「請負契約」では、システムの引き渡し後に不具合があった場合、修正に応じてもらうことができます。2020年4月に民法が改正され、それまでの「瑕疵担保責任(かしたんぽせきにん)」が、「契約不適合責任」という用語に変更になりました。
大きな違いは責任の存続期間です。

従来の「瑕疵担保責任」では成果物の引き渡しから1年後までだったのが、「契約不適合責任」では最長10年間に延長されました。システム開発会社によっては、これによる負担増を加味して、見積もり額を上げている可能性もあります。「契約不適合」となる場合とそうでない場合について、あらかじめ範囲を確認し、合意しておくのがよいでしょう。

システム開発の契約については下記の記事も参考にしてください。
関連記事:システム開発の契約とは?契約形態・契約書の注意点を解説!

開発に必要な設備の投資が不要

社内で内製するとなると、人員のみならず、開発用マシンや周辺装置など新たな設備投資が必要になります。場合によっては開発用の部屋なども必要になるでしょう。外注であれば、開発時にかかる設備投資が不要です。

【無料】システム開発の依頼について相談する

システム開発を外注するデメリット

システム開発を外注するデメリット

自社事業を自社社員のように完全に把握しているわけではない

システムは完成がゴールではなく、むしろスタート。いかに業務に活用して、事業を成功に導くかが重要です。システム開発会社はシステムには強くても、事業にまでは精通していません

発注者が社内できっちりヒアリングをして現場のニーズを把握し、外注先に伝えることが大事です。ヒアリングでは「このシステムでどんな課題を解決したいのか」「実際にどういう業務の流れの中で使うのか」「どういう機能が必要なのか」を明確にしておきましょう。

システム開発のノウハウが社内に貯まらない

ITベンダーなどにシステム開発を外注すると、ノウハウやスキルが自社に貯まりません。デジタル・トランスフォーメーション(DX)が加速する今、ITシステムやデータの活用で競争力を高めることはあらゆる業界で急務です。

システム開発ではスクラッチ開発(ゼロからシステムを開発する)やパッケージにカスタマイズを加えるケースがあり、外注によってブラックボックス化する懸念もあります。経済産業省は2018年の「DXレポート」の中で、既存システムの複雑化やブラックボックス化が経済停滞につながることを「2025年の崖」と呼び、問題視しています。

外注管理、各種コミュニケーションコストが生じる

システム開発を外注したからといって、システム開発会社に作業をすべて丸投げできるわけではありません。進捗管理はシステム開発会社がおこないますが、スケジュールに遅れがないかは発注側も確認する必要があります。

また、課題管理表(ToDoリスト、AI管理表など)を作成し、問題が適切に解決されているかも管理しなくてはなりません。工程ごとにレビュー(会議)を開催し、成果物の仕上がりを確認する必要もあります。

繰り返しになりますが、外注先は事業や業務を完全に把握しているわけではありません。要件を外注先に正しく伝え、仕様に反映してもらうには、自社で内製するより当然時間がかかります。システム開発にもよりスピードが求められている今、コミュニケーションコストは外注のデメリットのひとつです。

情報漏洩のリスクが生じる

システムでは個人情報など、企業秘密となるデータを扱います。必要に応じて外注先にもそれらを開示しなくてはなりません。そのため、情報漏えいによって、本業に損害を被るリスクもゼロではありません。必ず秘密保持契約(NDA)を締結しておく必要があります。また、システム開発会社には再委託先にも同様のNDAを遵守させることを徹底しましょう。

雲隠れされる恐れがある

外注先と連絡がとれなくなってしまう……ということが絶対にないとはいえません。大手のシステム開発会社は元請けから2次委託、3次委託と再委託をする多重下請け構造になっているのが一般的です。そのため再委託先のトラブルが原因でスケジュール通りに進まないこともあります。

増員や担当者の変更がしづらい

プロジェクトの仕様変更や進捗の遅れなどから、エンジニアの増員や担当者を変更したいと思っても、外注先のメンバーを勝手に変更することはできません。とくにフリーランスのエンジニアに依頼する場合は、増員は難しいでしょう。

※以上のようにシステム開発を外注するには多くのデメリットがあります。そのため、開発会社は慎重に選ばなければなりません。ご自身で選びきれない、開発会社を探す時間もない方はシステム幹事にご相談ください。相談料・紹介料も完全無料で最適な会社を選定します。

【無料】おすすめシステム開発会社を紹介してもらう

システム開発を内製するメリット

システム開発を内製化するメリットは、主に下記の4つです。

  • 従業員の成長につなげやすい
  • 開発に必要な情報の伝達・共有が容易
  • システムの仕様変更・機能の追加がスムーズ
  • 社内にシステム開発のノウハウが蓄積される

システム開発を内製化すると、社員自らがシステム開発に携われるようになり、社内全体でITスキルの向上が期待できます。

またシステム開発は本来、複数の部門・社員が関わる複雑なプロジェクトです。内製化により社内コミュニケーションが活性化し、社員同士で情報共有が滞りなく行われれば、難易度の高いシステムでさえも自社内で開発可能です。

さらにシステム開発の現場では、急な仕様変更が起こりやすいですが、内製化で情報のやり取りが社内で完結できれば、外部に業務委託した場合と比べて仕様変更がスムーズに行なえます。

ちなみにシステム開発のノウハウは、経営資源としての価値を有しています。培ったノウハウを活かした新たなシステムの開発や、同業他社へのシステムのパッケージ販売といった具合で、内製化が事業拡大に役立つ場面は多いです。

システム開発を内製するデメリット

一方でシステム開発の内製化には、下記の3つのデメリットも存在します。

  • 計画どおりに開発が進まないと、コストが膨れ上がる
  • 開発に必要なエンジニアを揃えるのが難しい
  • 大規模開発だと全体を管理できる従業員が必須となる

システム開発は「要件定義〜設計〜開発〜テスト〜保守運用」といった工程を踏みながら進める、複雑なプロジェクトです。各工程でミスが生じ計画どおりに進まなくなると、現場対応のために人的リソースが投入され、人件費が膨れ上がる傾向にあります。

またシステムを開発するには、プログラミングに関する高度なスキルが必須です。そのようなスキルを持った経験豊富なエンジニアは希少性が高く、見つけ出すのが困難です。

さらに開発するシステムが大規模になると、規模に見合う多くのエンジニアを揃えなければならず、そのエンジニア達をまとめるリーダー・マネージャーが必須となります。

【無料】おすすめシステム開発会社を紹介してもらう

システム開発を外注したほうがいい企業

システム開発を外注したほうがいい企業

自社にシステム開発の専門知識や技術がない

社内にプログラムやネットワークなどITに詳しい技術者がいなければ、システム開発会社に外注するほうが効率的です。社内で一からエンジニアを育成するには、多大なコストと時間がかかります。自社社員は本業に集中させたいという経営判断もあるかもしれません。

システム開発会社はプロですからスキルや経験が豊富。最新技術やパッケージ商品を活用した提案、さらにセキュリティ対策なども期待できます。

大規模なシステム開発を計画している

大規模なシステムではプロジェクト全体をみる高度なマネージメント能力が求められるため、専門家に任せるのが安心です。中小企業では、情報システムやITの専門部署がなく、担当者が一人しかいない、いわゆる“ひとり情シス”も少なくありません。そうした企業が大規模なシステム開発を導入する場合には、外注せざるを得ないでしょう。

小規模開発なら個人への依頼もおすすめ

予算100万円以内程度の小規模システムの開発なら、フリーランスなど個人のエンジニアへプログラマーに依頼することもできます。一般的に法人に比べて個人は機動力が高く、対応もスピーディ。細かなリクエストにも柔軟に応えてくれます

また直接契約であれば外注費がかからず、費用も安くおさえられます。新規の大規模開発は法人に外注し、機能追加や微調整は個人に依頼する、など法人と個人を使い分けるのもよいでしょう。

【無料】システム開発の依頼について相談する

失敗しないシステム開発を外注する会社の選び方

失敗しないシステム開発を外注する会社の選び方

システム開発会社によっては、他のITベンダーに再委託をしています。それ自体はよくあることですが、委託の比率が高いと、コストが割高になりがちです。また、委託先の管理がうまくいかず、スケジュールにズレがでることも。トラブル時には責任の所在があいまいになる可能性も高まります。

開発担当者のコミュニケーション力

システム開発の成否を握るのは、コミュニケーションといっても過言ではありません。大規模なプロジェクトであれば、外注先でチームが組まれ、コミュニケーションの窓口はプロジェクトを統括するプロジェクトマネージャー(PM)が担います。

発注までの短期間で担当者のコミュニケーション力を評価するのは難しいかもしれませんが、「この人とは話が早い」と感じることはあるはず。ある程度担当者の主観で判断してもよい部分です。

開発実績

システム開発会社によって、得意とする分野や強みが違います。これまでの開発実績をみて、類似のシステムや同じ業界の開発実績が豊富なところを選ぶと比較的スムーズに進むでしょう。ホームページや会社のパンフレットでも確認できますが、RFI(Request for Information/情報依頼書)を送ることもできます。会社の基本情報や提案システムの導入実績などの情報を提出してもらい、内容を確認しておくとよいでしょう。

業績の安定具合

新規に開発したシステムは、使い始めてから不具合がでることもありますし、10年近く使うことも珍しくありません。サポートやバージョンアップの対応を依頼することも考えると、外注先の企業としての安定性は重要です。決算書など財務状況や社歴の長さはひとつの判断材料になります。

3社ほど相見積もりをする

複数の会社から見積もりを取り、価格の妥当性を確認しましょう。「システム一式」などまとめて記載があるものは、きちんと内訳を書いてもらい、比較しやすいようにしましょう。見積もり額を大きく左右するのがエンジニアの単価です。

会社によってバラつきがありますが、大手のシステム開発会社ほど高額になる傾向です。開発するシステムの規模や難易度によって大手の安心感と価格のバランスを見極めることも重要です。

【無料】システム開発の依頼について相談する

システム開発を外注する流れ

システム開発を外注する流れは、主に下記のとおりです。

  1. 外注先の選定
  2. 要件定義
  3. 設計
  4. プログラミング
  5. テスト
  6. 納品
  7. 保守・運用

外注先を選定する際は、RFPと呼ばれる提案依頼書を作成し、システムの概要や希望納期などを最初で決める必要があります。

候補先の会社へ提案依頼書を提出した後は、相見積もりを出してもらいながら、自社に最適な外注先を選定。要件定義の設定後、本格的にシステム開発が始まります。

システムの設計からテストまでの工程は、下記の4つの開発手法によって異なります。

  • ウォーターフォール開発
  • アジャイル開発
  • プロトタイプ開発
  • スパイラル開発

テスト工程で問題なければシステム開発自体は終了ですが、納品後も運用・保守の工程が残っています。システムの安定運用の確保が目的で、開発会社に任されるのが一般的です。

関連記事:システム開発とは?工程・流れをプロが解説発注者が知っておくべきポイントを紹介

システム開発を外注する際の注意点【外注前】

システム開発を外注する際の注意点【外注前】

「何を作りたいか」を明確に言語化する

一般的に発注する企業は、システム開発に必要な要件をまとめた「RFP」(Request for proposal/提案依頼書)を作成します。解決したい課題や誰がシステムを利用するのか、現行システムがあればその概要、希望納期などを記します。

RFPの作成にあたっては、社内にヒアリングをし、現状の業務の整理やシステム化すべき業務の見極めが必要です。大変な作業ですが、会社にとっては業務を見直し、再設計するBPR(Business Process Re-engineering/業務改革)の機会にもなります。

関連記事システム開発の依頼準備8点!プロジェクトを成功に導く外注ガイド
関連記事RFPとは?システム開発の質を高める提案依頼書の作り方を解説!【サンプルあり】

見積額だけで外注先を選ばない

安かろう悪かろう、とは言い切れませんが、見積もり額が安いのには理由があるはずです。要件がきっちり定まっていない状況では、盛り込まれているべき機能が漏れていることもあります。安さばかりを重視して構築すると、その後の保守・運用に費用がかかったり、汎用性に乏しかったりすることもあります

関連記事システム開発の見積書の見方をプロが解説!注意点も紹介【サンプル付き】

保守・運用費用も予算に含める

システムは、リリースしたら終わりではありません。定期メンテナンスやトラブル対応など保守・運用が継続します。社内に担当者がいなければ、保守・運用も外注する必要があります。予算には開発費だけでなく、リリース以降の保守・運用費用も含めましょう。開発から運用保守までワンストップで対応してくれる会社であれば、やりとりの手間は最小限で済みます。

関連記事システム運用とは?開発との関係・保守との違い・重要性・作業内容を解説!

契約内容を確認する

トラブルを防ぎ、気持ちよく外注プロジェクトを進めるには、契約書をきちんと確認する必要があります。おもな契約には、成果物に報酬を支払う「請負契約」と労働自体に報酬を支払う「準委任契約」があります。システム開発は「請負契約」が多く、システム運用保守は「準委任契約」です。このほか機密保持契約(NDA)の締結も必須です。知的財産権の所在や再委託の可否も明記しておきましょう。

システム開発の契約については下記の記事も参考にしてください。
関連記事:システム開発の契約とは?契約形態・契約書の注意点を解説!

【無料】システム開発の依頼について相談する

システム開発を外注する際の注意点【外注後】

要件定義書を徹底的に読み込む

発注側が用意した「RFP」(Request for proposal/提案依頼書)をもとに、システム開発会社でどのようにシステムを構築するかを記した「要件定義書」を作る流れが一般的です。要件定義書はその後の設計のベースになる非常に重要なものですから、発注側もしっかり読み込み、必要な機能が網羅されているか、ドキュメントに不整合がないかなどをチェックする必要があります。

関連記事システム開発の要件定義とは?受託開発における重要性や進め方を解説!

発注者もプロジェクトにコミットする(丸投げしない)

システム開発会社に外注して、丸投げしてしまうと、プロジェクトは失敗します。とくに外注のシステム開発で一般的なるウォーターフォール型(工程ごとに作業を完了させていく開発手法)の開発では後戻りができません。各工程で作業をもれなく完了させていくことが大事です。ちなみに最近は、1つの機能ごとに設計・プログラミング・テストを繰り返すアジャイル型の開発事例も増えてきました。

システム開発では担当者だけでなく、システムを使う現場の社員をいかに巻き込めるかもポイントです。新しいシステムの導入には、現場の社員は後ろ向きになりがち。忙しい現場の社員に、いかに“自分ごと”として関わってもらえるかは、システム担当者の手腕にかかってきます。

関連記事システム開発会社の選び方7ポイント!依頼の準備と注意点も解説

【無料】システム開発の依頼について相談する

システム開発外注費用の相場と内訳

システム開発の費用は、大きく人件費(開発費)と設備費にわけられます。

人件費(開発費)

工数(人月)×単価です。工数とは1人が1カ月(1日8時間、20日)働いたときの作業量を1としたときの数値です。各工程にかかる人月にエンジニアの単価をかけて算出します。開発の上流工程に携わるエンジニアほど、単価は高くなります。

<工数を挙げる項目の例>
※工程にかかる工数はプロジェクトの規模で大きく変わります。

要件定義
基本設計
詳細設計
プログラム作成
テスト
プロジェクト管理費用

<エンジニアの単価の例>
基本設計や詳細設計に携わる上級システムエンジニア 100万円/月前後~
プログラミングを行うプログラマー 70万円/月前後~

設備費

サーバーやクライアントなどハードウェア購入、ネットワーク設定、セキュリティやソフトウェアのライセンス費用などが発生する場合、別途上乗せされます。

システム開発にどれくらい費用がかかるのか、相場情報は下記の記事を参考にしてください。

関連記事システム開発の費用・相場を徹底解説!料金を抑えるコツも紹介!

【無料】システム開発の依頼について相談する

システム開発の外注まとめ

システム開発の外注にはメリットもデメリットもあります。社内にITに詳しい人がいるかどうか、開発したいシステムの規模はどれくらいなのかなども考慮し、総合的に判断する必要があります。

ただ実際には、どちらがいいのか悩ましいケースも多いでしょう。また、自社にあう外注先がわからなかったり、最終的に費用をみて判断したかったりすることもあると思います。そのような場合には、システム幹事にご相談ください。

専門のコンサルタントが、御社の状況を丁寧にヒアリングして、最適な開発会社をご提案いたします。なお、紹介した開発会社に必ず発注する必要はありません。

コンサルタントのご紹介 システム幹事 コンサルタント 岩田真 岩田 専任のコンサルタントが、
お客様の予算と目的を丁寧にヒアリング。
最適な会社をピックアップ・ご紹介させていただきます!
初心者の方でも安心してご相談いただけます。

システム開発の相場の情報から最適な会社選びまで無料でサポートしますので、お気軽にご相談ください。

【無料】外注の相場やおすすめシステム開発会社を紹介してもらう

システム開発に役立つ記事もご覧ください システム開発とは?工程・流れをプロが解説!発注者が知っておくべきポイント

Q. システム開発を外注するデメリットは?

システム開発を外注するデメリットとして「システム開発のノウハウが社内に貯まらない」「情報漏洩のリスクが生じる」等が挙げられます。詳しい内容は記事内で紹介していますので、ぜひご覧ください。