システム開発は外注?内製との違いとおすすめ依頼先までご紹介
「システム開発を検討しているが、外注と内製のどちらにすべきか悩んでいる」
「外注する場合、どのような注意点があるか知りたい」
業務システムをはじめとするシステム開発を検討している方のなかには、上記のような悩みを持つ方も多いのではないでしょうか。
そこで本記事では、システム開発の外注と内製のメリット・デメリットや外注時の注意点などを解説します。外注が向いている企業の具体的な特徴も紹介するため、システム開発を検討中の方はぜひご覧ください。
目次
システム開発の外注と内製のメリット・デメリット
システム開発の外注と内製には、それぞれ以下のようなメリット・デメリットがあります。
外注 | 内製 | |
---|---|---|
メリット | ・IT人材の採用や教育が不要 ・開発リソースを柔軟に調整できる ・請負契約なら無料で修正してもらえる | ・社内の開発体制を強化できる ・開発に必要な情報を共有しやすい ・システムの仕様変更などに柔軟に対応できる |
デメリット | ・情報漏えいのリスクがある ・自社事業の共有が必要 ・実践的な開発ノウハウを社内に蓄積しにくい | ・IT人材の採用や教育にコスト・時間がかかる ・開発が計画どおり進まない可能性がある ・システム完成後にエンジニアを持て余す可能性がある |
外注の場合、システムエンジニアやプログラマーなどを自社で採用・教育する必要がないうえ、開発が終われば保守・運用のみを依頼することも可能なため、コストがかかり続ける心配がありません。加えて、成果物に対して報酬を支払う請負契約の場合、完成したシステムに不具合があれば、契約内容を実現できていないとして修正してもらうことも可能です。
ただし外部に依頼するため、システム開発に必要な情報が漏えいしてしまうリスクもあります。特に顧客データ・ビジネス戦略に関する情報などの取扱には注意が必要です。
内製の場合は社内でシステム開発を進めるため、知識・ノウハウを蓄積して開発体制を強化できます。また、自社事業に精通したエンジニアが開発に関わるため、開発に必要な情報の共有が容易なうえ、システムの仕様変更や機能追加、スケジュール変更にも柔軟に対応できます。
システム開発の外注が向いている企業の特徴
ここまでシステム開発の外注・内製のメリット・デメリットを解説してきましたが、ここからは外注が向いている企業の特徴を具体的に紹介します。
システム開発の外注が向いているのは、以下のようなニーズを抱えている企業です。
- システムを開発できる体制・ノウハウがない
- 大規模システムを開発したい
- 既存システムのリプレイスが必要
- 社内リソースや時間が限られている
システムを開発できる体制・ノウハウがない
社内でシステム開発を進めるためには、まず優秀なシステムエンジニアやプログラマーの採用が必要不可欠です。しかし、IT人材の採用競争が激化している昨今では、必要な人材を確保することは容易ではありません。また採用できたとしても、スキルによっては戦力として活躍できるレベルまで育成するには相当な時間とコストがかかります。
また、開発環境の整備も大きな課題となります。各種開発ツールの購入費用やクラウドサービスの利用料など、システム開発に必要な設備投資は決して少なくありません。
一方システム開発会社への外注であれば、豊富な開発実績を持つプロフェッショナルチームにシステム開発を任せられます。なかには、AIエンジニアが在籍しておりAI技術を用いたシステム開発に対応できる会社もあるなど、自社開発では対応が難しい最新技術を取り入れられるケースも。開発体制の構築や設備投資の負担なく、実現したいシステムを完成させることが可能です。
大規模システムを開発したい
複数のコンポーネントやサブシステムが相互に連携しているような大規模なシステムの開発では、プロジェクトの規模に比例して必要な技術者の数も多くなります。すると、技術者を取りまとめるリーダークラスの人材には高度なマネジメントスキルやコミュニケーションスキルが求められ、規模によっては複数のリーダーが必要になることもあります。
しかし、多くのIT人材を抱える大企業でもなければ「多くのIT人材を採用・育成する」「リーダークラスの人材を複数配置する」といった対応は困難です。そのため、大規模システムの開発を検討している場合は、複雑なプロジェクト管理のノウハウを持っている開発会社への外注がおすすめです。
既存システムのリプレイスが必要
自社で使用しているシステムが老朽化したり、ビジネスニーズの変化に対応できなくなったりした場合、既存システムをリプレイスする必要があります。リプレイスはシステム全体を取り換えなければならないケースもあることから、大規模なプロジェクトになる可能性が高いです。加えて、既存機能の再現に加え、新機能の追加やデザインの刷新などにより、想定以上に時間がかかるケースもあります。
システムの新規開発と比べて難易度が高いため、リプレイスの経験が豊富な開発会社への外注がおすすめです。開発会社の知見・ノウハウを活用することで、プロジェクトを円滑に進められるでしょう。
社内リソースや時間が限られている
一時的なプロジェクトや短期間でのシステム開発が求められる場合、新たにIT人材を採用・育成するよりも、開発会社へ外注することがおすすめです。外注であれば、必要な期間だけ必要な分の開発リソースを確保できることが理由です。 また、自社で人材を採用した場合、開発終了後にエンジニアや開発環境を持て余してしまうリスクがあります。
その点、外注であればプロジェクト終了時に契約を解消できるため、無駄なコストがかかる心配がありません。限られた社内リソースや時間しかない場合は、システム開発会社に外注して一時的にリソースを確保することがおすすめです。
システム開発の外注費用の相場
システム開発を外注した場合、かかる費用は「人件費(開発費)」と「設備費」があります。
人件費は、システム開発の各工程にかかる工数×エンジニアの単価で算出します。難しい工程を担うエンジニアほど単価が高い傾向があり、プログラミングを担当するプログラマーは70万円~ / 月、設計を担当する上級エンジニアは100万円~ / 月が相場です。
また、設備費はサーバーやハードウェア、セキュリティライセンスなどにかかる費用です。システムを1から構築して完成させるまでにかかる設備費は、数百万円~数千万円と幅があるのが特徴です。
システム開発の外注費用は、開発するシステムの内容や規模、外注する領域、関わるチームの人数などによって変動するうえ、開発会社によっても差があります。そのため、同じ開発内容で複数社に見積もりを取ったうえで外注先を選びましょう。
外注前の注意点
システム開発の外注前は以下3点に注意しましょう。
- 見積額の安さだけで外注先を選ばない
- 保守・運用費用も含めた予算を設定する
- 開発方法ごとの違いを理解しておく
見積額の安さだけで外注先を選ばない
システム開発の外注先を選定する際、開発会社が提示する見積額があまりに安いケースでは、品質に問題がある可能性があります。また、発注したシステムが一向に納品されなかったり、商談時に対応できるといわれた開発が実際はできなかったりするケースも稀にあります。
したがって、システムの質やスケジュールを担保したい場合は、複数社から見積もりをとり、見積額が極端に安い会社は避けることが大切です。開発会社の技術力や実績、サポート体制なども総合的に判断して、信頼できるパートナーを選びましょう。
保守・運用費用も含めた予算を設定する
システムの開発を外注する際は開発費用だけでなく、保守・運用費用も含めた予算を設定することが重要です。
システムを安定して稼働させるためには、不具合が生じた際に迅速に対応して復旧する必要があります。そのため、自社でシステムの保守・運用体制を整えられない場合は、その業務も含めて見積もりをとったうえで、外注先を選定することが大切です。システム開発と運用・保守を別々の会社に依頼すると、コミュニケーションコストが増えるだけでなく、システムに問題が発生した場合の責任の所在が不明確になるリスクもあります。
システムの保守・運用費の相場は開発費の5%前後です。開発から保守・運用までを同一の開発会社に依頼するためにも、トータルコストを見据えた予算設定に基づいて開発会社を選びましょう。
開発方法ごとの違いを理解しておく
システム開発の方法は、おもにウォーターフォール型・アジャイル型・プロトタイプ型などがあります。開発会社によって得意とする開発方法は異なるため、自社の体制や開発したいシステムに応じて外注先を選ぶことが大切です。
ウォーターフォール型は、要件定義・外部設計・内部設計といった各工程を上流から下流まで順に行っていく方法です。計画どおりに開発を進められるため、組み込みソフトウェアや通信システムといった仕様変更を考慮しないシステムの開発に適しています。
アジャイル型は、要件を素早く反映しながら短い開発期間単位で開発を進める方法です。各機能を小単位で切り分けて開発するため、仕様変更が前提のWebサービスやゲームアプリなどに向いている方法です。
プロトタイプ型は、本格的に開発を進める前に試作品であるプロトタイプを作り、クライアントやユーザーなどのフィードバックを得ながら開発を進める方法です。参考になる前例がない場合や、システムのイメージが明確になっていない場合に向いている一方で、試作品を作るのに時間・費用がかかるため、大規模システムの開発には不向きです。
開発方法 | メリット | デメリット |
---|---|---|
ウォーターフォール型 | ・計画的に開発を進められる ・必要な人材数や作業量が事前に把握できる | ・開発期間が長期化しやすい ・仕様変更に弱い |
アジャイル型 | ・仕様変更に強い ・スピーディーに開発できる | ・開発の方向性がずれやすい ・進捗管理がしにくい |
プロトタイプ型 | ・イメージが明確でなくても開発を進められる ・認識齟齬を避けられる | ・試作品制作に時間・コストがかかる ・大規模なシステム開発には不向き |
たとえばアジャイル型の場合、小単位で実装とテストを繰り返すことからシステムの仕様変更に強い一方で、開発過程での密なコミュニケーションが求められます。そのため、自社の担当者が開発チームの一員として参画できるような体制でなければ、アジャイル型開発のメリットを活かしきれません。
システム開発の外注前に、ウォーターフォール型・アジャイル型・プロトタイプ型の違いを理解し、自社に適した開発方法を得意とする開発会社を選びましょう。
外注後の注意点
システム開発の外注後は以下2点に注意しましょう。
- 自社の要望と要件定義書の内容が合っているか確認する
- 丸投げせずに発注側もプロジェクトに関わる
自社の要望と要件定義書の内容が合っているか確認する
システム開発会社への外注後に開発会社側が作成する「要件定義書」に、自社の要望が正確に反映されているかどうかを確認することが重要です。
要件定義書は、一般的に提案依頼書(RFP)とヒアリングに基づいて作成され、発注者側と開発側の認識を揃えるために作成されます。しかし要件定義書に誤りがあった場合、意図しない機能が開発されたりシステムが期待どおりに機能しなかったりする可能性があります。
要件定義書の内容が自社の要望に合っているか、また誤りがないかを開発前に十分に確認し、必要に応じて修正してもらいましょう。
丸投げせずに発注側もプロジェクトに関わる
システム開発を外注する際、開発会社にすべてを任せきりにしてしまうのは避けましょう。外注先に丸投げしてしまうと、開発が遅れたり完成したシステムが当初の想定と異なるものになってしまったりする可能性があります。 特にウォーターフォール型開発の場合、要件定義・設計・実装・テスト・リリースといった工程を順に進めていくため、後戻りが難しいのが特徴です。各工程でミスなく計画どおりに作業を進めるためには、自社事業に精通した発注者側も積極的にプロジェクトに関わることが大切です。
システム開発を外注する流れ
システム開発を外注する際は、以下の流れで進めるのが一般的です。
工程 | 概要 |
---|---|
外注先を複数選定 | システム開発を依頼する会社を複数選定する |
提案依頼書(RFP)の作成 | 開発したいシステムの概要、希望納期、予算、現状の課題、システムで実現したいことなどをまとめたRFPを作成する |
外注先を決定 | 選定した複数の開発会社に対してRFPをもとに説明し、相見積もりで比較したのちに外注先を決める |
要件定義 | システムに必要な機能、対応ブラウザ・OS、運用方法、予算、スケジュール、人員などを外注先と決める |
外部設計・内部設計 | システムの外部レイアウト・デザインなどの外部設計と、プログラミングに必要な情報・手順などの内部設計を行う |
プログラミング | 内部設計をもとにプログラミングを行う |
テスト | 作成されたプログラムが正常に作動するかをチェックする |
納品 | 完成したシステムが納品されたら発注者側でも動作チェックを行う |
保守・運用 | 安定して稼働するように管理し、問題が生じたら都度対応する |
なお、システム開発の費用は開発したいシステムの規模や外注範囲などによって差が出るため、同じ内容の提案依頼書で複数社から見積もりを取ることが大切です。内容の異なる提案依頼書で複数社と打合せしてしまうと、費用や提案内容などが比較しにくくなり、外注先の選定がしづらくなってしまうため注意が必要です。
システム開発の外注先おすすめ7選と選び方
システム開発の外注先は「大規模システムを開発したい」「自社業界ならではの課題を相談したい」といったニーズに応じて選ぶことが大切です。
ここからは、システム開発の外注先を以下7タイプごとに1社ずつ紹介します。
- 大手向け
- ベンチャー向け
- 特定業種向け
- 業務システム開発向け
- Webシステム開発向け
- 基幹システム開発向け
- スマートフォンアプリ開発向け
なお、以下の記事ではシステム開発会社をタイプ別に28社紹介しています。さらに多くの開発会社を比較して自社にマッチした外注先を選びたい方は、ぜひ併せてご覧ください。
Sky株式会社(大手向け)
Sky株式会社は、全国各地に拠点を持つ大手システム開発会社です。約5,550名のソフトウェアエンジニアを擁し、30年以上にわたり金融・保険・医療分野での業務系システムを開発してきた実績があります。
AWS・Azureなどのクラウド技術やアジャイル開発に対応し、コンサルティングからインフラ構築、保守運用まで一貫したサービスを提供。IPA資格保持者やスクラム開発の専門家が多数在籍しており、大規模プロジェクトの開発実績も豊富です。
株式会社エイチビーソフトスタジオ(ベンチャー向け)
株式会社エイチビーソフトスタジオは、エンジニア主体の体制で顧客のニーズに柔軟に対応しているシステム開発会社です。社員全員がエンジニアで構成され、技術的な視点からの提案や迅速な意思決定が可能。
クラウドサービスを積極的に活用し、小さく作ることを繰り返す開発体制により、変化に富んだ要求にも対応できます。新規事業のプランニングから開発まで、新規事業の立ち上げに必要なあらゆる段階をサポートしている開発会社です。
株式会社システムエグゼ(特定業種向け)
株式会社システムエグゼは、1998年の創業以来、保険業界に特化したシステム開発を手がけてきたシステム開発会社です。損害保険・生命保険分野での開発実績が豊富で、大手損保会社の精算システムや火災保険金システムの構築を多数手がけています。
システム開発では、メインフレームからクラウドまで幅広い技術に対応し、特に汎用機システムのオープン化支援に強みがあります。企画から開発、運用・保守まで一貫したサポートを提供し、保険業務の知識と技術ノウハウを活かした最適なソリューションを実現しています。
TMCシステム株式会社(業務システム向け)
TMCシステム株式会社は、銀行・製造・生命保険・運輸など幅広い業界での業務システム開発実績を有しています。顧客の課題や要望を丁寧にヒアリングしてオーダーメイドでシステムを開発することで、業界特有の細かなニーズにも対応しています。
一般的なシステム開発会社と異なり、機械設計・電気設計の技術者も在籍しているため、制御アプリケーションの開発もワンストップで提供。製造業や大手SIerでの常駐業務経験を持つエンジニアが顧客企業に常駐して開発をサポートすることで、システム導入後の運用面での課題にも迅速に対応できる体制を整えているのも特徴です。
株式会社クロス・コミュニケーション(Webシステム向け)
株式会社クロス・コミュニケーションは、会員管理システムやECサイト、SNS連動システムなど、多彩なWebシステム開発の実績を持つ会社です。電子チケット発行や口座開設申込など、特殊な機能を必要とするシステムの開発にも対応しています。
システム開発では、スクラッチ開発から既存システムのカスタマイズまで幅広く対応し、初期構築から運用、ユーザーサポートまでワンストップで提供。Webデザインにおいては、デザイナーの感性だけでなくデータに基づいた設計を行い、成果につながるサイト作りを実現しているのも特徴です。
株式会社GeNEE(基幹システム向け)
株式会社GeNEEは、基幹システムのフルスクラッチ開発を得意とするシステム開発会社です。在庫管理・流通管理・生産管理など多様なシステムの開発実績があり、最先端のデジタルツールやSaaSサービスを組み合わせた基幹システムを提供しています。
企画・調査から設計・開発、保守運用まで一貫したサービスを展開し、顧客の業務課題を丁寧に分析したうえで最適な技術を提案。将来の運用コストや機能拡張を考慮した仕様設計を行い、長期的な視点でシステムを構築しているのも特徴です。また厳格な品質管理体制により、情報漏えい事故の発生0件を維持しています。
株式会社ガラパゴス(スマートフォンアプリ向け)
株式会社ガラパゴスは、10年以上の実績を持つスマートフォンアプリ開発会社です。iOSとAndroid両プラットフォームに対応し、大手メーカーを含む多くの開発実績があります。企画段階から要件定義、デザイン、開発、リリース後の運用まで一貫したサービスを提供しています。
新規アプリの立ち上げだけでなく、既存アプリのリニューアルや改善、開発引き継ぎにも対応。単なる開発会社ではなく、アプリビジネスのパートナーとして顧客と協働し、UXデザインの改善やグロースハックによる利益拡大まで支援しています。
システム開発の外注の成功事例
ここからは、システム開発の外注で成功した電機メーカーとエネルギーソリューション企業の事例を紹介します。
電機メーカーの事例
本事例では、システム開発を外注することで開発コストの削減やスケーラブルなシステム開発に成功しています。 ある電機メーカーは市からの相談を受け、道路冠水状況を把握するシステムを提案しましたが、センサーデータの処理にAWSの利用を想定していたものの、社内や協力会社にAWSの知見がなく、開発経験も不足していました。
そこで、AWS環境構築の経験豊富なシステム開発会社に開発を依頼し、初期費用を抑えつつ運用コストも従量課金となるサーバレスアーキテクチャの提案を受けました。AWS Amplify、AWS Lambda、Amazon DynamoDBなどを活用して開発を進め、UIはデザイナーと協議しながら、メーカー担当者のフィードバックも反映しながら開発。
その結果、サーバレス化により、従来のサーバー運用と比べコストを5分の1~10分の1に抑制。スケーラブルな設計で、今後のシステム拡張にも対応可能となりました。システム開発の外注により、専門性を活かしたスピーディーな開発とコスト効率の高いシステム構築を実現し、新事業展開を加速させることに成功しました。
参考:株式会社ベンジャミン「お客様の声|岩崎電気株式会社様」
エネルギーソリューション企業の事例
本事例では、システム開発会社の専門性を活かしてシステムへの要望に対し、迅速かつ柔軟に対応してスピーディーな開発を実現できています。
あるエネルギーソリューション企業では、業務プロセスごとにシステムが分散して情報が散在していたため、データの補正作業や改修コストが大きな負担となっていました。システム開発会社は、現場の要望を柔軟に取り入れ、業務に適合した基幹システムを構築。画面項目の追加や修正に迅速かつ柔軟に対応し、販売管理システムではPDFでの納品書や請求書の発行を実現するなど、現場担当者からの要望に基づいて対応しました。 また、物流システムの導入においては、サーバーとIEのサポート終了時期が重なって開発期間が限られるなか、業務委託先からの要望に対してExcelデータの取り込み機能を提案し、2~3日で実装するなどスピーディに対応しています。
その結果、物流業務での出荷計画の入力作業が2時間削減されたほか、会計システムではデータの補正作業が3分の1に減少するなど、各部門で効果が顕著に現れました。この事例では、システム開発会社への外注により、柔軟性、迅速性、そして業務委託先との連携を重視したシステム開発が実現でき、大幅な業務効率化に成功しています。
参考:カコムス株式会社「株式会社NTTスマイルエナジー様導入事例」
まとめ
システム開発を内製で行うと、開発に必要な情報が共有しやすいうえ仕様変更にも柔軟に対応できます。
しかし、エンジニアなどの採用・育成にコストや時間がかかったり、社内人材のスキルによっては開発が計画どおりに進まない恐れもあることから「システムを開発できる体制・ノウハウがない」「大規模システムを開発したい」といったケースでは、システム開発会社への外注がおすすめです。
本記事を参考にしてシステム開発を外注すべきか判断し、自社が抱えるニーズにマッチした開発会社に依頼しましょう。
本記事が、システム開発を外注すべきかどうかの判断に役立てれば幸いです。
b-pos編集部
代行・外注サービスの比較サイトb-pos(ビーポス)の編集部。b-posは、BPOサービスの比較検討時に知っておきたい情報やサービスの選び方について解説するメディアです。サービスの掲載企業の方はこちらから(https://b-pos.jp/)