開発会社にシステム開発を依頼する際、このような疑問をお持ちの方もいるのではないでしょうか。
システム開発を依頼するには、事前に知っておきたいポイントがいくつかあります。
この記事ではマイナビTecTus Engineeringのエンジニアが、システム開発を依頼するために知っておきたいポイントを網羅的に解説します。
自社でシステム開発の依頼を検討している方は、ぜひ当記事をご参照ください。
INDEX 目次
システム開発を依頼する際は、事前の準備が成功の鍵となります。ここでは、システム開発を依頼する時の準備のステップを説明します。
まずは、システム開発の依頼前に自社の課題を整理しましょう。
要望通りのシステムを開発するためにも、現状起きている問題点・解決したい課題点を明確にする必要があります。そのためには、従業員などの関係者にヒアリングを実施するのが効果的です。
ヒアリングする際は、問題点・課題点だけでなく、どのような影響を及ぼしているか把握することも意識しましょう。
たとえば、「顧客情報の入力に時間がかかっている」という課題があった場合、他の重要な業務に時間が割けなかったり、時間がかかるから顧客情報が詳しく入力されていなかったりする問題が起きているかもしれません。
特に、複数部署が関わるシステム開発を行う場合は、それぞれの立場から見える問題点・課題が異なるでしょう。
開発したいシステムに関わる従業員全員にヒアリングを行えば、解決したい課題点・問題点が明確化され、依頼したい内容を整理することが可能です。
課題を整理する際は、現在の業務プロセスをフローなどで図式化し、どの部分に非効率があるのかを特定することがおすすめです。これにより関係者の認識を合わせやすく、次のステップにつなげやすくなります。
システム開発依頼のステップの2つ目は、課題点・問題点をもとにシステム開発の目的を明確にすることです。
ただ単に解決したい課題・問題点を羅列しただけで依頼すると、結局どのようなシステムを開発して欲しいのか、システム開発会社はイメージが掴みにくくなってしまいます。
何のためにシステム開発を依頼するか具体的にすれば、目的達成のために必要な機能の優先順位が付けられ、想定通りのシステムが開発しやすくなるだけでなく、不要な費用を削減可能です。
目標を設定する際は、抽象的な内容だけではなく、システムを導入することで具体的にどのような状態を実現したいか、可能であれば具体的な数値で明記しましょう。
たとえば、顧客管理システムを開発したい場合、以下のような目的が挙げられるでしょう。
システム開発依頼の際には、必要な機能を網羅的にリストアップし、それぞれの優先度を決めておくことが重要です。「必須機能」「あれば便利な機能」「将来的に追加したい機能」などにカテゴリ分けすると、開発会社との認識齟齬を防げます。
必要な機能を明確にするには、ユースケースシナリオの作成がおすすめです。
たとえば「営業担当者が顧客情報を入力する」「管理者が月次レポートを出力する」といった具体的な使用場面を想定することで、実際にシステムをどのように使用するかのシナリオを複数作成します。
依頼するシステムの機能を検討する際、同様の目的を持つ既存システムや競合サービスを調査し、参考にすべき機能や差別化すべきポイントを洗い出すこともおすすめです。「他社システムにはない独自機能」を明確にすることで、開発の方向性が定まります。
システム開発依頼において、予算と納期は重要な条件です。過度に厳しい条件設定は品質低下を招く恐れがあるため、市場相場を踏まえた現実的な設定が必要です。
また、システム開発では想定外の事態が発生することが少なくありません。予算の10〜20%程度を予備費として確保する、納期に1〜2週間の余裕を持たせるなど、条件に余裕をもつことでトラブル発生時に対応しやすくなります。
大規模なシステム開発は、複数のフェーズに分けて進めることで、リスクを分散できます。例えば、「第1フェーズでは基本機能のみ実装し、第2フェーズで拡張機能を追加する」といった計画を立てることで、予算と納期の管理が容易になります。
システム開発依頼の成功には、社内の関係部署や経営層の理解と協力が不可欠です。開発の初期段階から関係者を巻き込み、定期的な情報共有と意見収集を行うことが重要です。システム開発の各段階で誰の承認が必要かを事前に決めておき、予算変更や仕様変更が発生した場合の決裁権限を明確にしておくことで、プロジェクトの停滞を防ぐことができます。
システム導入によって影響を受ける部署や担当者をリストアップし、それぞれの要望や懸念事項をヒアリングします。例えば、営業部門からは「顧客情報の入力が簡単であること」、経理部門からは「月次レポートの自動生成」といった要望が出ることがあります。
多くの企業では複数のシステムが稼働しているため、新規システムと既存システムとの連携が必要になることがあります。システム開発依頼の際には、連携が必要なシステムと、どのような連携が必要なのかを明確にしておくことが重要です。
システム間連携では、データの機密性や完全性を確保するためのセキュリティ対策が必要です。特に個人情報や機密情報を扱う場合は、暗号化やアクセス制御などの要件を明確にしておくことが重要です。
ここまで準備し、いよいよシステム開発会社に依頼する際は、システム開発会社との密なコミュニケーションを心がけましょう。
システム開発では、最初の見積書や要件定義書通りに開発が進むことがほとんどありません。開発状況によって、開発方法やスケジュールの変更が必要になることが多々あります。
たとえば、顧客管理の入力作業をプログラムする際、具体的にどのように入力するか、細かい入力方法の確認が必要かもしれません。
要求通りのシステム開発が行えているかは、実際に開発を進めないとわかりません。定期的にシステム開発会社とコミュニケーションを取る機会を設け、想定通りのシステムが開発されているか逐次チェックしましょう。
システム開発を依頼する場合の流れは、大きく以下のとおりです。
システム開発を依頼する流れ
システム開発の依頼に必要な準備とポイントで検討した内容をRFP(提案依頼書)にまとめ、システム開発へ提出します。先述のとおり、以下のような内容を記載しましょう。
RFPを作成することで、システム開発会社に開発したい内容が伝わりやすくなり、現状や課題を整理したり開発要件の抜け漏れを防げたりすることが可能です。
また、RFPを作成しておけば、複数のシステム開発会社に相見積もりを依頼する際にも役立ちます。
同じシステム開発でも、各システム開発会社によって見積もり方法や提案内容は異なります。そこでRFPを提出すれば、各システム開発会社に同じ条件を提示できるため、見積もり・提案内容が比較しやすくなります。
システム開発会社にシステム開発の依頼を相談すると、システム会社が要件を把握するための「ヒアリング」を実施することが多いです。
ヒアリングには、主に課題相談型と課題洗い出し型の2パターンがあります。
| 課題相談型 | 課題洗い出し型 | |
|---|---|---|
| ヒアリング方法 | 抱えている課題や問題点を相談しながら、開発するシステムの方向性を決める | 現状を把握しながら、課題や対策を洗い出す |
| メリット | すでに課題が明確な場合に効果的 | システム開発で解決したい課題が明確になっていない場合に効果的 |
| デメリット | 現状の課題とシステム開発の目的を明確にする必要がある | 課題の洗い出しからシステム開発会社が参画するため、課題相談型よりも依頼時の費用が高い傾向 |
顧客管理システムで例えると、「顧客情報の入力に時間がかかって本業の時間が割けない」「入力された顧客情報が把握しにくく提案内容がまとめにくい」「どの顧客からどれくらい売り上げが出ているかわからない」など、課題が具体的に把握できている場合は、課題相談型が向いています。
一方、「従業員の生産性が下がっているが、何が原因か掴めていない」「なんとなく既存システムが使いにくい」など、課題が曖昧な状態なら課題洗い出し型がおすすめです。
RFP(提案依頼書)・ヒアリングの内容をもとに、システム開発会社から提案・見積もりを受け取ります。内容を精査してシステム開発会社を選定し、発注・契約に進みましょう。
提案内容の精査では、主に以下の項目をチェックします。
提案内容の精査する際のチェックリスト
提案・見積もり内容に少しでも不明点・疑問点が見つかったら、1つずつシステム開発会社に確認を取ってください。曖昧なままだと認識の齟齬が生まれてしまい、後々の工程でトラブルが発生する原因となります。
一般的にシステム開発の依頼では、2段階見積もりが一般的です。1回目はRFP(提案依頼書)・ヒアリングの内容を踏まえて大まかな見積書を作成し、2回目で自社の細かい要望を反映させた見積書を作成します。
提案・見積もりからシステム開発の依頼先を決めたら、契約の締結に進みます。
契約書には、責任所在・権利帰属・検査方法などをまとめた「基本契約書」と、作業内容・スケジュール・開発費用など開発案件に関する「個別契約書」の2種類を作成します。
そして「個別契約書」には、一般的に「請負契約」もしくは「準委任契約」があります。
「請負契約」は、成果物の完成・納品を約束する契約です。システム開発においては、仕様書通りのシステムを完成させて納品することが契約の目的となります。
「準委任契約」は、成果物が確定しておらず工数×期間で一定期間の労働力を提供する契約形態です。
一般的には、まず要件定義を「準委任契約」で行ない、その後の開発工程を「請負契約」で締結することが多いです。
本契約が締結できれば、実際にシステム開発会社がシステムを開発します。
開発の流れは、主に以下の流れです。
システム開発の手順
上記のなかで、システム開発の成功を左右する最重要プロセスが「要件定義」です。要件定義では、RFPや見積書で記載されていた機能や要求条件を具体的に定義します。
要件定義に相違があると、想定とは異なるシステムが納品される可能性が高くなり、開発の延期やトラブル発生の原因になります。
そのため、要件定義で気になる点や不明点が見つかったら、納得できるまで確認し、必要に応じて改善の依頼を出すことが大切です。
要件定義が完了すれば、システム開発会社が具体的なシステムの設計を行い、設計書に基づいてエンジニアがプログラミングをしてシステムを開発していきます。
プログラムが完了したら、実際にシステムが稼働するかテストを実施し、問題がなければ開発したシステムがリリースされます。
テストが完了したら、自社への納品作業に進みます。
納品物には開発されたシステムにくわえて、設計書やマニュアルなどの各種書類が含まれているので、あわせて確認しましょう。
必要に応じて、システム開発会社からシステムの操作方法や運用方法の説明会・セミナーを実施してくれる場合もあります。
開発されたシステムが納品されたら、運用を始めます。
運用開始後、利用するなかで不具合が生じたり、定期メンテナンスが必要になったりするケースも少なくありません。
そのため、リリース後の保守もシステム開発で重要な工程となります。
保守作業を外部に依頼する場合は、開発を依頼したシステム開発会社か、保守を専門とする事業者に別途依頼することも可能です。
システム開発を依頼する際は、リリース後の運用・保守も想定して予算や開発スケジュールを考慮しましょう。
システム開発の費用相場は、依頼するシステムの種類や内容によって変わります。とはいえ、おおよそどれくらいの費用がかかるか、相場感を把握しておきたいですよね。
今回は、以下のシステムの種類別にシステムの費用相場を解説します。システムの種類はさまざまな軸で分類できますが、ここでは「業務・目的」を軸とする種類を挙げます。
システム開発の種類
それぞれの開発費用の相場は、以下のとおりです。
| システム種類 | 費用相場 | 開発例 |
|---|---|---|
| 基幹系 | 数千万~数億円 | 販売、請求、受注管理 |
| 在庫管理 | ||
| ERP | ||
| 業務系 | 1000万円~ | 文書管理 |
| 顧客管理 | ||
| 経費精算 | ||
| ユーザー系 | 500万円〜 | ショッピングサイト |
| マッチングアプリ | ||
| ゲーム系アプリ |
上記は、あくまで目安です。システム開発費用の相場は、実装する機能の数や複雑さによって大きく変わります。
比較的シンプルな機能であれば数十万円で開発可能ですが、大人数が利用したり複雑な機能を盛り込んだシステムだと、数千万円以上の費用がかかる可能性があります。
さきほどシステム開発の費用相場を種類別で解説しましたが、具体的にどうやって費用を算出しているか気になるでしょう。
システム開発の費用は人件費が8割を占めているため、人月単位で計算するのが一般的です。具体的には、以下の計算式で算出します。
システム開発の費用計算式
開発関係者の人月単価は、以下のように役職によって異なります。
| システム開発に関わるエンジニアと人月単価の相場 | ||
|---|---|---|
| 役職 | 担当業務 | 人月単価 |
| PM(プロジェクトマネージャー) PL(プロジェクトリーダー) |
システム開発全体の進捗管理 | 70万~200万円程度 |
| SE(システムエンジニア) | 要件定義や仕様書の作成など | 初級:80万~100万円程度 中級:100万~120万円程度 上級:120万~200万円程度 |
| PG(プログラマー) | コードの記述 | 40万~80万円程度 |
例えば、開発期間が6ヶ月で、開発体制がPM1人(150万円・6ヶ月)・SE2人(100万円・2ヶ月)・PG3人(70万円・4ヶ月)の場合、人件費は以下のように計算できます。
合計:900万円+400万円+840万円=2,140万円
実際の開発費用は、人件費だけでなくサーバーレンタル代や端末購入費・出張費なども加わります。
最低限の費用で求めているシステムが開発できるか判断できるためにも、システム開発の費用内訳や計算方法を理解しておきましょう。
想定通りのシステムを開発するには、自社に適したシステム開発会社を選ぶことも重要です。
ここでは、依頼するシステム開発会社を選ぶ方法と、選ぶ際に、どのような点を意識すれば良いかを解説します。
開発を依頼するシステム会社の探し方は、主に以下があります。
| 依頼先の探し方 | メリット | デメリット | おすすめの方 |
|---|---|---|---|
| 専門のマッチングサイト | ・複数社の一括見積もりが可能 ・相場感を把握しやすい ・最適な会社を紹介してくれることもある |
・複数社とやりとりする必要がある ・質の低い会社も混在している |
・初めてシステム開発を依頼する ・相場を知りたい ・複数社を効率的に比較したい ・小〜中規模プロジェクト(数百万〜数千万) |
| クラウドソーシング | ・コストを抑えやすい ・柔軟な対応、契約が可能 |
・品質、信頼性など個人に依存する ・大規模開発は難しい可能性が高い |
・予算が限られている ・短期開発、プロトタイプ作成などの軽微な依頼 ・小規模プロジェクト(数万〜数百万) |
| 知人やビジネスネットワーク | ・信頼性が高い ・実際の評価を事前に聞ける ・隠れた優良企業に出会える |
・選択肢が限定される ・紹介者への配慮が必要 ・人脈がないと利用できない |
・信頼性を重視 ・長期的なパートナーシップを求める |
| 展示会・セミナー | ・最新技術や動向を把握できる ・担当者と直接面談できる ・会社の雰囲気を感じられる |
・時間とコストがかかる ・開催時期が限定される ・地方では機会が少ない |
・業界特化システム ・最新技術の導入など技術的な相談が必要 ・中〜大規模プロジェクト(数千万〜数億) |
システム開発会社と発注者をマッチングする専門プラットフォームを利用する方法です。複数社の一括見積もりが可能なので、初めてのシステム開発で相場感を知りたい、複数社を効率的に比較したい場合などにおすすめです。
フリーランスや個人開発者に直接発注できるプラットフォームを利用する方法です。コストを抑えやすいですが、品質にばらつきが発生することがあります。
既存の人脈を通じて信頼できる開発会社を紹介してもらう方法です。紹介先がない場合もありますが、信頼性の高いシステム開発会社へ依頼できる可能性が高いでしょう。
IT関連の展示会やセミナーで直接開発会社と接触する方法です。開催場所や時期が限定されますが、担当者と直接面談でき、会社の雰囲気を感じやすいです。
システム開発の依頼先の選択肢には、主に3つあります。
それぞれの概要とメリット・デメリットを見ていきましょう。
| 依頼方法 | メリット | デメリット | おすすめの方 |
|---|---|---|---|
| フリーランス | ・開発コストを削減しやすい ・小回りが利き、柔軟な対応がしやすい |
・品質や納期などが個人に依存する(体調不良等によるプロジェクト停止など) ・大規模開発には対応が難しいことがある |
・予算が限られている ・部分的な業務を短期間で依頼したい |
| 国内のシステム開発会社 | ・日本語でのスムーズなコミュニケーション ・日本の商習慣に精通 |
・開発コストが高い ・開発期間が長くなる場合がある ・最新技術への対応が遅い場合 |
・品質と信頼性を優先する ・複雑な要件定義が必要 |
| オフショア開発会社 | ・開発コストを削減しやすい ・豊富な技術者リソース ・最新技術への対応力が高い |
・言語・文化の壁によるコミュニケーション課題 ・時差による連絡の遅れ ・政治・経済情勢の影響 |
・コスト削減を優先する ・大規模な開発リソースが必要 |
クラウドソーシングなどを利用して、個人の開発者に直接システム開発を委託する方法です。
品質にばらつきがある場合もありますが、コストを抑え小回りが効きやすいため、〜100万程度の小規模なシステム開発におすすめです。
日本国内のシステム開発会社に委託する方法です。
開発コストがかかったり、日本のIT人材不足に伴い人材確保や開発期間に時間がかかったりする場合がありますが、コミュニケーションなどの点でも安心感はあるでしょう。複雑で大規模なシステムの開発におすすめです。
海外の開発会社や開発者にシステム開発を委託する方法です。日本のシステム開発会社と比較するとコミュニケーションに気をつける必要がありますが、大規模なシステム開発においてコストメリットがあることが多いです。
システム開発会社を選ぶ際に確認するべきポイントを以下に挙げました。
基盤の安定性とは、依頼するシステム開発会社のプロジェクト途中での倒産や事業撤退リスクが低いことを指します。資本金や従業員数、設立年数、主要取引先などを目安とすることも方法のひとつです。
また、安定した基盤のうえでプロジェクトに必要なメンバーを適切に用意できることは、品質管理やスケジュール管理を適切に行える組織体制が整っていることを意味します。組織体制を確認し、安心してシステム開発を依頼できるかを確認しましょう。
システム開発会社を選ぶ基準は、開発技術の高さ・ノウハウ・実績はもちろん、自社の業界・業務内容に対する深い理解を持っていることも含まれます。
自社の業界・業務内容への理解が深ければ、自社が抱えている課題点・問題点を整理し、どのようなシステム開発を行えばいいか、納得できる見積もり・提案を出してくれる可能性が高くなります。
もし自社が解決したいことが曖昧な状態でも、システム開発会社が汲み取ってくれて、課題点・問題点を整理してくれる場合もあります。
そのため、見積もりを依頼する際は、自社の業界・業務内容への理解が深いシステム開発会社を優先して選ぶのがおすすめです。
システム開発を依頼する際は、複数会社から相見積もりをとることがおすすめです。
システム開発の見積もりは、システム開発会社によって見積もり項目や費用計算が異なります。同じ依頼内容でも、提案内容や費用が全く異なることも少なくありません。
自社の要求内容を適切に応えてくれるシステム開発会社に依頼できるためにも、2〜3社の相見積もりを取るようにしましょう。
また比較する際は、ただ単に1番費用が安いシステム開発会社を探すのはおすすめしません。費用が安い代わりに、要求した機能が盛り込まれておらず、想定していないシステムが納品される可能性があるからです。
「予算内で必要な機能だけ見積もっているか」「期限内のスケジュールか」「見積もり・提案時のコミュニケーション能力は十分か」なども比較検討し、費用対効果が最も高いと判断したシステム開発会社に依頼しましょう。
システム開発では仕様のすり合わせでやりとりをすることが多いため、コミュニケーションの円滑さは依頼先を選ぶうえで重要なポイントです。
コミュニケーションの取りやすさとして、具体的には以下のような点をチェックすると良いでしょう。
システム開発は納品で終わりではなく、運用開始後の保守・サポートも重要です。納品後のシステム稼働時に発生する不具合対応、操作方法の問い合わせ、機能追加や改修の相談、定期的なメンテナンスなどに継続的に対応可能なシステム会社かを確認しましょう。
優良なシステム開発会社は、保守契約やサポート体制を明確に提示し、障害発生時の対応時間や連絡手段、定期的なシステム点検スケジュールなどを事前に取り決めます。
要件定義、設計、開発、テスト、導入支援などの各工程で「何を実施するか」の認識が異なったり、最終納期に対する理解が食い違ったりすると、あとでトラブルになる場合があります。
曖昧な部分を残さずに細部をすり合わせることで、後々のトラブルを防ぎ、品質の高いシステムを予定通りに開発することができます。
システム開発のセキュリティマネジメントは、企業の機密情報や個人情報を守る重要な要素です。開発プロセス全体を通じて情報漏洩や不正アクセスを防ぐ体制が整備されているシステム開発会社を選びましょう。
具体的には以下のような点を確認することをおすすめします。
システム開発を依頼する際の失敗として、一般的にはおもに以下があります。
上記のような失敗の根本的な要因は「システム開発会社と依頼者のコミュニケーション不足」であることが多いです。特に、システム開発の初期段階で開発するシステムの仕様が曖昧な場合、あとから認識齟齬や追加が発生し、開発費用やスケジュールが当初の予定よりも上振れやすいです。
このような失敗を防ぐためにも「要件定義の段階で、開発するシステムの仕様を明確にすりあわせる」ことが大切です。
上記のようなシステム開発依頼の失敗を避けるためにも、そもそもシステム開発とは何か、全体像を理解しておくことが大切です。
システム開発とは、一言で言うと「仕組みづくり」を指します。自社が抱えている課題に対してIT技術を活用することで、業務の効率化・最適化することが目的です。
システム開発と聞くと、エンジニアがプログラミングするイメージがあるかもしれません。
ただ、仕組み化という意味ならExcel・Googleスプレッドシートなどの業務ツールや、OneDrive・Googleドライブなどのオンラインストレージで、業務改善・最適化をおこなうこともシステム開発の1つと言えます。
システム開発会社に依頼することは、システム開発を行う1つの手段に過ぎません。自社の課題によっては、わざわざシステム開発会社に依頼しなくても、少ないコストで解決できる可能性があります。
「システムが古い・使いにくいから新しくしたい」や「DX・AIが注目されているから何かツールを導入しよう」といった、システムの導入自体を前提で考えると、本来解決したい課題が解決できないまま、余計なコストが発生したり新たな課題が発生したりするかもしれません。
そのため、システム開発を依頼する際は、解決したい課題を明確にすることが重要です。その上で、新しいシステムの導入が最適解かを検討すると良いでしょう。
システム開発と一言で言っても、開発できるシステムはさまざまです。システムの種類を把握しておくと、自社の課題解決に必要なシステムが何か把握できるでしょう。
| 種類の軸 | 種類 | 具体例 |
|---|---|---|
| 業務・用途 | 基幹系 | ・販売、請求、受注管理システム ・在庫管理システム・ERP |
| 業務系 | ・文書管理システム ・顧客管理システム ・経費精算システム |
|
| ユーザー系 | ・ショッピングサイト ・マッチングアプリ ・ゲームアプリ |
|
| 技術・プラットフォーム | オープン系 | ・顧客管理システム ・ショッピングサイト |
| 汎用系 | ・証券取引システム ・大企業の基幹業務システム |
|
| 業務系 | ・文書管理システム ・顧客管理システム ・経費精算システム |
|
| Web系 | ・動画配信サイト ・オンライン学習サイト |
|
| 組み込み系 | ・IoT機器 | |
| モバイル系 | ・SNSアプリ ・ゲームアプリ |
上記のような開発の種類に応じて、開発手法を選択します。開発手法には以下があります。
| 開発手法の軸 | 種類 | 概要 |
|---|---|---|
| 開発アプローチ | フルスクラッチ | ゼロからオリジナルのシステムを開発する方法 |
| パッケージ | 既存のサービスや決まったフォーマットに沿ってシステムを開発する方法 | |
| 開発プロセス | ウォーターフォール | 順番通りに工程を進める手法 |
| アジャイル | 短期間の開発サイクルを繰り返す手法 | |
| プロトタイプ | 試作品の改良を繰り返す手法 | |
| スパイラル | 段階的に試作品を作成する手法 | |
| DevOps | 開発と運用を統合する手法 |
この記事では、システム開発の依頼方法や費用相場を解説しました。
下記にシステム開発を依頼するポイントをまとめておきます。
システム開発を依頼する際に避けたいのは、システム開発会社に丸投げをすることです。決して安くない費用と膨大な時間がかかるからこそ、入念な準備とコミュニケーションをとり認識の齟齬をなくすことが、システム開発の依頼を成功させるための一歩といえます。
「自社に合うシステム開発の依頼先を探すのは難しそう」「何社も比較する時間がない」と思われた方はマイナビTecTus Engineeringにご相談ください。予算や目的をヒアリングのうえ、最適なご提案をさせていただきます。
費用相場の情報や自社の最適な開発方法が知りたいなど、ちょっとした質問だけでもかまいません。ぜひ一度当社にご相談ください。
おすすめ資料