システム開発の外注ガイド|依頼の流れと失敗の防ぎ方
この記事では、システム開発の外注を検討している方に向けて、依頼から納品までの流れ、失敗が起きやすい原因とその防ぎ方、発注先を選ぶときの確認点を整理します。特に、新規事業のように仕様が固まりきらない状況での外注を想定し、全体像をつかめるようにまとめました。
システム開発の外注とは:最初に押さえたい基本
システム開発の外注とは、自社の外にいる開発会社やエンジニアに、システムの設計・開発・テストなどを依頼することです。社内にエンジニアがいない場合や、特定の分野に強い技術者が必要な場合に選ばれます。
外注の主な形態
一口に外注といっても、関わり方にはいくつかの型があります。
- 受託開発:要望をもとに、開発会社がシステムを設計・開発して納めます。契約は後述する「請負」か「準委任」のどちらかが多く、範囲と成果物を決めて依頼します。
- SES(システムエンジニアリングサービス):エンジニアの技術力を一定期間提供してもらう形です。作業の指示は発注側が出すことが多く、成果物の完成ではなく、業務の遂行に対して対価を支払う契約(準委任)が一般的です。
- ラボ型(オフショア開発などで多い形):一定期間、専任の開発チームを確保し、継続的に開発を進めてもらう形です。
何を作るかがある程度見えていて、成果物の納品を求めるなら受託開発が選ばれやすくなります。自社に開発を指揮できる人がいて、人手を補いたい場合はSESやラボ型が検討されます。
内製・パッケージ・外注の違い
システムを用意する方法は外注だけではありません。内製は自社で開発する方法、パッケージは既製のソフトウェアやSaaSを使う方法です。既製品で目的を満たせるなら、それが早くて確実な場合もあります。
一方、新規事業では「システムそのものが商品やサービスの中核になる」ことがあります。この場合は既製品で代替しにくく、事業に合わせて作る外注が現実的な選択肢になります。
新規事業の外注で特に意識したいこと
新規事業のシステムは、走りながら仕様が変わることが前提になります。市場の反応を見て機能を変えたり、優先順位を入れ替えたりするのは珍しくありません。
そのため、最初に仕様と費用を細かく固めて一括で発注する進め方は、新規事業では合わないことがあります。この点は、後半の失敗例でも触れます。新規事業全体の進め方は、新規事業のシステム開発の進め方|構想から運用までの全体像でも詳しく整理しています。
依頼から納品までの流れ
外注の一般的な流れを、順に見ていきます。会社や案件によって前後しますが、大枠は共通です。
1. 目的と課題を整理する
最初に、「なぜシステムが必要か」「誰のどんな課題を解決するか」「何が実現できたら成功か」を整理します。ここが曖昧だと、あとの工程すべてがぶれます。機能の一覧よりも、目的と成功の基準を先に言葉にしておくことが大切です。
2. 依頼内容をまとめる(RFP)
発注先に伝える資料として、RFP(提案依頼書)をつくることがあります。RFPには、目的、背景、必要な機能の概要、希望する時期、予算感などを書きます。立派な書式である必要はありません。仕様が固まっていない段階では、未定の点を「未定」と明記したうえで相談することも現実的です。
3. 相談・提案・見積もり
複数の会社に相談し、提案と見積もりを受け取って比較します。金額だけでなく、提案の中身を見ます。目的を理解したうえでの提案か、前提条件や含まれない作業が明記されているか、進め方が具体的か、といった点です。
4. 要件定義
要件定義とは、システムで何を実現するのか、どの機能がどの程度必要なのかを決める工程です。外注の成否を分けやすい工程で、認識のズレや抜け漏れはここで生まれます。後の工程で直すほど手戻りが大きくなるため、丁寧に進める価値があります。
5. 契約
要件や範囲が固まったら契約します。主な契約形態は「請負」と「準委任」です。
- 請負契約:仕事の完成を約束し、成果物の引き渡しに対して対価を支払います。
- 準委任契約:業務の遂行そのものを委任します。原則として、成果物の完成までは約束しません。
どちらが優れているということではなく、案件の性質に合うかどうかで選びます。要件が固まっているなら請負、試行錯誤しながら進めるなら準委任という使い分けが一般的です。
6. 設計・開発・テスト
画面や機能、データの持ち方を設計し、実装し、テストします。この間、発注側が進捗や途中の成果物を確認できる機会があるかどうかが重要です。完成まで何も見えない進め方は、認識のズレが終盤で発覚するリスクを高めます。
7. 受け入れ検査・納品
納品されたシステムが、合意した要件どおりに動くかを発注側が確認します。これを受け入れ検査といいます。確認の観点や合格の基準は、できれば契約や要件定義の段階で決めておきます。
8. 運用・保守
納品後には、不具合の修正、サーバーの維持、利用状況を見た改善などが続きます。システムは、納品して終わりではありません。運用・保守をどの範囲で、誰が担うのかを、依頼の前の段階から確認しておくと安心です。
システム開発の外注でよくある失敗の原因と防ぎ方
外注の失敗には、いくつかの典型的なパターンがあります。原因を知っておくと、事前に手を打てます。
失敗1:目的が曖昧なまま、機能の話から始めてしまう
「こんな機能がほしい」という話から始めると、機能は揃っても事業の課題は解決しない、ということが起きます。
防ぎ方:機能の前に、「誰の何を解決するか」「何をもって成功とするか」を書き出します。判断に迷ったときの基準になります。
失敗2:言葉だけで要件を決めて、認識が食い違う
文章や口頭のやり取りだけで進めると、発注側と開発側で頭に描いている画面や動きが異なることがあります。「同じ言葉で違うものを想像していた」という状況です。完成したものを見て初めて食い違いに気づくと、修正の負担は大きくなります。
防ぎ方:言葉だけに頼らず、画面のイメージや動くもので確認します。ワイヤーフレーム(画面の設計図)、デザイン案、動くプロトタイプなどを使えば、「ここはこう」と具体的に指摘できます。
失敗3:要件定義の抜け漏れ・食い違いに、後で気づく
要件定義の段階では想像しきれなかった問題が、使ってみて初めて分かることは多くあります。「操作が煩雑だった」「この情報も必要だった」といった気づきです。
防ぎ方:要件定義の完成度を上げようとし過ぎず、早い段階で使える形にして確認できる進め方を選びます。使ってみて分かる「これじゃない」を早く見つけるほど、直すコストは小さくなります。あわせて、最初の範囲を絞り、段階的に広げる方針も有効です。
失敗4:費用と仕様を先に固めすぎる
特に新規事業では、事業の仮説が変わるたびに必要な機能も変わります。仕様と費用を最初に固め、その後の変更を難しくすると、事業の実態とシステムがずれていきます。逆に、固めないまま進めると費用が膨らみやすくなります。
防ぎ方:最初から全体を作らず、事業の仮説を確かめるために最小限必要な範囲から始めます。あわせて、仕様変更が出たときの扱い(どこまでが範囲内か、追加はどう見積もるか)を、契約の前に確認します。
失敗5:契約形態や権利関係を理解しないまま進める
請負と準委任の違いを理解していないと、「完成を約束してもらえると思っていたのに、そうではなかった」といったすれ違いが生まれます。また、成果物の権利についても注意が必要です。契約で定めなければ、著作権が開発会社側に残るケースがあります。
請負契約では、2020年4月施行の改正民法で、従来の「瑕疵担保責任」は「契約不適合責任」という考え方になりました。納品物が契約の内容に適合しないときの責任を扱うもので、通知の期限などの扱いは契約書の定めによって変わることがあります。
防ぎ方:契約書で、契約形態、成果物の範囲、検収(受け入れ検査)の基準、著作権やソースコードの帰属、不具合対応の期間を確認します。契約書の作り方の参考として、経済産業省が公開している「情報システム・モデル取引・契約書」があります。必要に応じて、法務担当者や弁護士にも確認してください。
失敗6:丸投げにして、発注側の判断者がいない
「専門家に任せておけば大丈夫」と丸投げすると、開発側は判断に必要な情報を得られず、仕様を推測して進めることになります。結果として、事業の意図とずれたものができあがります。
防ぎ方:発注側にも、何を作るかを決める窓口を置きます。事業の目的を理解し、質問にすぐ答えられる人が望ましいです。技術の知識は必須ではありません。大切なのは、事業の判断ができることです。
失敗7:決裁者と現場で、判断の材料と速度がそろわない
新規事業では、決裁者(経営陣)と立案者(現場)が、同じ目的を見ているのに話が噛み合わないことがあります。企画書だけでは「何ができるのか」が伝わりにくく、決裁者は判断に必要な材料が足りないと感じます。現場は、すぐ進めたいのに判断が遅いと感じます。ずれているのは目的ではなく、進め方であることが多いです。
防ぎ方:企画書に加えて、動く実物や画面で議論できる状態をつくります。実物があれば、決裁者は具体的に判断でき、現場は「こう使う想定だ」と伝えやすくなります。
失敗8:納品後の運用を考えていない
納品された時点がゴールだと考えると、その後の不具合対応や機能追加の相談先がなく困ることがあります。事業は続くので、システムも育て続ける必要があります。
防ぎ方:依頼の段階で、保守の範囲、機能追加の進め方、問い合わせ窓口を確認します。開発を担当した会社がそのまま運用まで支援してくれるか、別の体制が必要かも確かめておきます。
発注先を選ぶときのチェックポイント
失敗を防ぐには、発注先の選び方も重要です。見積もりの金額だけで決めず、次の点を確認します。
- 目的や事業の話が通じるか:機能だけでなく、事業の課題や背景を聞いてくれるか。
- 進め方が具体的か:要件の確認方法、進捗の共有、途中で実物を確認できる機会があるか。
- 範囲と変更の扱いが明確か:見積もりに含まれる作業と含まれない作業、仕様変更時の対応。
- 権利関係と納品物が明確か:著作権の帰属、ソースコードや設計書を受け取れるか。
- 納品後の支援体制があるか:不具合対応、機能追加、問い合わせの窓口。
- 情報管理とセキュリティ:機密情報の扱い、アクセス管理、再委託の有無と範囲。
- 相談しやすいか:質問に対する回答が分かりやすいか、仕様が固まっていない段階の話にも付き合ってくれるか。
可能なら複数社に相談し、同じ課題に対する提案の違いを比べてください。提案の視点の違いから、自社の課題が整理されることもあります。
AI駆動開発で、外注の進め方はどう変わるか
近年は、生成AIを開発の工程に組み込む「AI駆動開発」が広がっています。要件の整理、設計、コードの生成、テスト、レビューといった工程でAIを活用する考え方です。
発注側にとって大きいのは、試作の段階まで進めやすくなる流れが出てきたことです。以前は「まず仕様を固めてから開発に入る」という順番が一般的でしたが、「まず動くものを見て、そのうえで判断する」という選択肢が現実的になってきました。AIモデルの進化が新規事業にどう影響するかについては、Claude Sonnet 5.5の発表と新規事業への影響もあわせて参考にしてください。
ただし、AIを使うかどうかだけで、発注先の良し悪しは決まりません。AIが作業を進めるほど、「何を作るかを決める」ことと「品質を最終的に判断する」ことの重要性は増します。発注先を選ぶ際は、次の点を確認すると安心です。
- AIをどの工程で使い、人が何を確認するのか
- 品質の基準やレビューの仕組みがあるか
- 情報の取り扱い(入力したデータがどう扱われるか)が説明されているか
まとめ
システム開発の外注では、依頼の流れを理解し、失敗が起きやすいポイントを先に押さえておくことが大切です。この記事のポイントは次のとおりです。
- 外注には受託開発・SES・ラボ型などがあり、目的に合った形態と契約(請負・準委任)を選ぶ。
- 流れは、目的整理、依頼内容の整理、相談・見積もり、要件定義、契約、開発・テスト、受け入れ検査、運用・保守の順が基本。
- 失敗の多くは、目的の曖昧さ、言葉だけの要件決定、要件の抜け漏れ、費用と仕様の固めすぎ、契約や権利の理解不足、丸投げ、納品後の設計不足から生まれる。
- 防ぐ鍵は、早い段階で実物や画面を見て確認すること、発注側に判断者を置くこと、契約と運用の範囲を明確にしておくこと。
- 新規事業では、全体を一度に固めず、事業の仮説を確かめる範囲から始める進め方が合いやすい。
JustFitは、株式会社LEGAREAが運営する完全オーダーメイドの受託開発サービスです。「先に作って、後から決める(PROTOTYPE FIRST)」という考え方のもと、構想をもとに約1ヶ月で動くプロトタイプを先に開発し、実物を見てから契約を判断していただけます。AIを活用した独自の開発基盤「LAF」を使い、納品後も業務に合わせて育て続ける伴走型の技術支援を行っています。仕様が固まっていない段階や、稟議を通す前の段階でもご相談いただけます。詳しくはJustFitのサービス紹介をご覧ください。