サービスの選び方

中小企業のシステム開発外注で失敗する5つのパターンと防ぎ方

「完成したけど、誰も使っていない」「予算が途中で2倍以上になった」「納期を過ぎても何も出てこない」

システム開発の外注でこういう話を聞くことは珍しくない。

失敗の原因を「悪い開発会社を選んだ」で片付けている会社が多いが、実際に現場を見ると、発注の仕方に問題があることの方が多い。開発会社を責めても、次の外注で同じことを繰り返す。

僕はエンジニアとして開発を受ける仕事もしてきたし、中小企業の業務改善を支援する立場でもある。両方の側から見てきた経験をもとに、中小企業がシステム開発外注でよく踏む失敗パターンを5つ整理する。

パターン1:「何を作りたいか」は決まっているが「なぜ作るか」が決まっていない

「受注管理システムを作ってほしい」「在庫管理を自動化したい」という形で発注する会社は多い。

問題は、「何を作るか」は決まっているが、「それを作ることで何の問題を解決したいのか」が発注側で言語化できていないことだ。

開発会社は依頼された仕様を作ることを仕事にしている。「受注管理システムを作ってほしい」と言われれば、それらしいものを作ろうとする。しかし完成後に「こんなはずじゃなかった」となる。なぜかというと、本当に解決したかったのは「受注情報が人の頭の中にあって、担当者が急に休むと業務が止まる」という問題だったりするからだ。

システムを作ること自体が目的になっていると、完成物が使われなくなる。

防ぎ方:発注前に「今、現場で何が起きていて、それがどんな困りごとを生んでいるか」を書き出す。「受注管理システムを作る」ではなく「担当者不在でも受注情報を誰でも確認できる状態にする」という形で目的を定義する。

パターン2:見積書の「一式」を見抜けない

最初の見積もりが350万円だったのに、完成時には800万円を超えた。

これは珍しい話ではない。

見積書に「システム開発一式 350万円」と書いてある場合、その「一式」の中に含まれている機能・対応範囲が明示されていないことがある。途中で「この機能も必要」「仕様を変えたい」という話が出るたびに「それは別途費用になります」という話になる。

最初の見積金額は「この機能を最低限作る費用」であって、「この業務課題をすべて解決する費用」ではないことが多い。発注側がその違いを認識せずに契約すると、追加費用が積み上がる一方になる。

防ぎ方:見積書を受け取ったら「この金額でできること・できないことを箇条書きにしてください」と依頼する。また「この仕様以外に追加費用が発生するケースはどんな時ですか」を確認する。面倒がって省略するとあとで大きな問題になる。

パターン3:要件定義を開発会社に丸投げする

「専門的なことは分からないので、プロにお任せします」

この姿勢が一番失敗につながりやすい。

要件定義とは「何を作るか」を言語化する作業だ。自社の業務を詳しく知っているのは自社の人間だから、要件定義の核心部分は発注側が担うべき仕事でもある。それを開発会社に丸投げすると、開発会社が「こういうことがやりたいんですよね」と解釈してまとめたものが要件定義書になる。

完成後に「使いにくい」「想定と違う」が起きる原因の大半はここにある。

開発会社を責めることはできない。依頼された内容を作っただけなので。

防ぎ方:要件定義の文書化は開発会社に任せてよい。ただし「うちの業務では○○という問題が起きていて、それを解消するために△△ができればいい」という部分は発注側が言語化する。「自社の業務課題を伝える」のが発注側の仕事で、「それをシステムに落とし込む」のが開発会社の仕事だ。

パターン4:完成後の運用を考えていない

「完成したら自分たちで運用します」

これが後から問題になる。

社内にエンジニアがいない中小企業がシステムを自分たちで運用するとはどういうことか。バグが出た時に誰が直すか。新しい機能が必要になった時に誰が対応するか。使い方を知っていた担当者が退職した時にシステムが誰にも触れない状態になるリスクはないか。

開発会社は「作る仕事」の専門家だ。作って納品した後の保守・運用サポートを契約に含めるかどうかは、最初から確認しておく必要がある。確認していないと、納品後に問い合わせたら「保守契約を別途締結してください」「そういった対応はしていません」となることがある。

防ぎ方:契約時に「納品後の保守・運用サポートはどのような内容で、費用はいくらか」を確認する。保守費用も含めたトータルコストで判断する。

パターン5:「安い」だけで外注先を選ぶ

クラウドソーシングで格安のエンジニアに発注して、途中で連絡が取れなくなった。

品質が低すぎて使えないものが納品された。

こういう話も現場では聞く。

格安の外注先を使うこと自体は間違いではない。ただ、「安さ」を唯一の判断基準にすると上記のリスクが上がる。開発の品質と単価はある程度連動している。30万円で作れるシステムと300万円で作るシステムは根本的に違う。

問題は、「なんとか安く済ませたい」という判断の結果、「使えないものが届いた」「作り直し費用が発生した」という最悪のパターンが実際に起きていることだ。

防ぎ方:初めての外注先を使う場合は、小さい範囲の案件(10〜30万円程度)で試す。コミュニケーションの丁寧さ・対応スピード・成果物の品質を確認した上で、大きな案件に進む。「安い一点張り」ではなく「信頼できる範囲の価格」で判断する。

「外注を検討しているが、どう進めればいいか分からない」「見積もりを受け取ったが妥当かどうか判断できない」という場合は、こちらからお問い合わせください。内容を整理した上で、適切な進め方をお伝えします。

共通している問題:IT担当者がいないことの影響

5つのパターンに共通しているのは、発注側に「開発プロジェクトを管理できる人間」がいないことで起きている問題だという点だ。

大手企業には情報システム部門やプロジェクトマネージャーがいる。外注先をコントロールし、要件定義に責任を持ち、進捗を管理する人間が社内にいる。

中小企業にはそういった人材がいないことが多い。「開発会社に任せれば全部やってくれる」と思って動くと、上記のパターンを踏む。

対処策は3つある。

1. 社内で基礎知識を持つ:経営者または担当者が開発プロジェクトの基本的な流れを理解しておく。「要件定義とは何か」「なぜ追加費用が発生するか」を知っているだけで、発注の仕方が変わる。

2. 開発会社とは別の第三者に入ってもらう:独立したITコンサルタントやエンジニアに、発注側の立場でプロジェクトを管理してもらう。月数万円の費用で大きな失敗を防げることがある。

3. スモールスタートにする:いきなり大きなシステムを作らず、最小限の機能から始める。失敗しても被害が小さいうちに軌道修正できる。

まとめ

システム開発の外注で失敗する会社に共通しているのは、「悪い業者を選んだ」ではなく「発注のやり方に問題があった」ことが多い。

失敗パターン 防ぎ方の要点
目的が曖昧 「何の問題を解消するか」から出発する
見積もりの「一式」 含まれること・含まれないことを事前に確認する
要件定義の丸投げ 業務課題は自社が言語化してから伝える
完成後を考えていない 保守・運用体制を契約前に確認する
安さだけで選ぶ 小案件で実績を確認してから大きな案件へ

IT担当者がいない中小企業でも、この5点を押さえるだけで失敗のリスクは大幅に下がる。

「外注のどこから手をつければいいか分からない」「今の進め方で問題ないか確認したい」という方は、お問い合わせください。

-サービスの選び方