システム開発を行うSEやプログラマの外注。注意点や費用相場を解説

最終更新日:2022年03月15日
株式会社GeNEE
監修者
代表取締役 日向野卓也
システム開発を行うSEやプログラマの外注。注意点や費用相場を解説

現在、IT技術を業務に利用するのは普通のことです。受発注などの基幹業務や事務手続に情報システムが利用される光景もよく見られます。既製品やネットから入手したソフトウェアを利用して、業務に適用することも多いです。しかしながら、さらなる業務の改善、効率化を図るためには、自社の業務に合わせたシステムが必要となります。業務にマッチした既製品がなければ、自社業務用のシステムを開発するしかありません。このシステム開発の実作業は、SEやプログラマといった業種に外注することがほとんどです。本稿では、SEやプログラマにシステム開発を外注する際のメリット・デメリット、注意点、費用相場などについて説明していきます。

システム開発はなぜ外注されるのか

さて、なぜシステム開発作業は外注されることが多いのでしょうか。その理由は大きく二つに分けられます。

システム開発は専門性が高く、学習コストが高い

システムを作るための工程は「要件定義」、「設計」、「プログラミング」、「テスト」に分けられます。これらの各工程を実施するには、工程ごとに手法、スキルやツールの利用方法を学ぶ必要があり、学習コストがかかります。

システム開発を専門としない事業者が、一からシステムを作ると採算がとれないことが多いです。事業が大きくなれば情報システム部門や担当者といった技術者を社内に置くこともできますが、システム開発は開発フェーズに多くのリソースが必要となることが多く、必要な人員量が安定しないため全て社内で開発するにはリスクが高くなってしまいます。

自社開発した場合に品質が保証されず、サポート体制が得られない

もう一つはシステムの品質保証です。前記の学習コストの高さもあり、システムの品質を社内開発で保証することは難しいです。また情報システムを作り上げる場合に、立ち上げから運用が安定するには期間がかかり、障害やバグといった問題が発生することは一般的です。

そういったトラブルの発生時にはマンパワーが必要となり、ノウハウや知見を持って対応できる専門家に外注したほうが安心できるというわけです。

SE、プログラマ外注のメリット・デメリット

SEやプログラマにシステム開発を外注する場合のメリット・デメリットを見ていきましょう。実際のシステム開発の作業については全てを外注しなければいけないわけではなく、外注と自社での作業を分担して行うことも多いです。その役割分担を決める際の参考としてください。

SE、プログラマ外注のメリット

予算内でシステムを構築することができる

システム開発を行うには予算が必要となります。システムを作りたい依頼者によってシステムの要件を決めていくと、いろんな機能が欲しくなり、またシステム開発の規模感がわからないため、気が付くと予算をオーバーしたシステム規模になってしまうことが多いです。

SEやプログラマといった専門家と相談しながら要件を決めていくことで、十分に業務を成立させつつ予算内に収まるシステム規模を検討することが可能です。

専門家の経験、知見を得て、プロジェクトをスムーズに進めることができる

システムを開発にあたり、社内に知見や経験を持つ人がいればよいですが、システムの開発に立ち会った経験のある人物がシステム開発対象の業務に十分にいることはあまりありません。システム開発の工程や各工程で実施しなければならないこと、その役割分担などを洗い出していかなければ、スケジュールが立たず、システム開発プロジェクトは進みません。

どういった手順でどのように進めていくのか、専門家と相談して段取りを決めることで、スムーズに進めることができます。

適切にシステムに適用する技術を決めることができる

システムを構築する上で、どのような技術(テクノロジー)を採用するのかは大きな影響力があります。プログラミング言語やフレームワークといったシステム開発を支える技術の選び方でシステム全体のコストや実現可能な機能が決まってくるからです。

新しい技術は流行りのユーザーインターフェースや操作感をもたらしてくれます。半面、事例が少なかったり、サポートが充実していない、今後そのテクノロジーが残っていくかわからず将来的な保守に影響が出かねるなどの課題を持っています。

一方で新しくはないが世の中で普及している技術も存在します。そういった技術は情報量が多く、扱える技術者が多いこと、世の中に流通しているオープンソースが多く流用可能なこと、世間の評価の安定性から将来的に長く使えるなどのメリットを持っています。

SEやプログラマなどに外注することにより、適切な技術の選択をサポートしてくれます。

SE、プログラマ外注のデメリット

社内にシステム開発、運用のノウハウがたまらず、継続的にコストが掛かることも

SE、プログラマにシステム開発や運用を外注すると、依頼元にはシステムに対する知見、ノウハウが溜まっていかず継続的に発注を続ける必要が発生してしまいます。継続的なコストがかかってしまうことを考えると、自社内でシステムの面倒を見ることのできる人材を教育していくことで、このデメリットを回避することが出来ます。

業務の専門家ではないため、開発するシステムの仕様は伝言ゲームをしながら作っていくことになる

SE、プログラマはシステムを開発して効率化する対象の業務の専門家ではありません。業務をどのように行っているか、システムを導入してどこを効率化するかをよく知っているわけではありません。

外注する側でシステムの導入に関して業務を整理し、SEやプログラマに実現したいことをきちんと伝えて、正しい理解を得て開発できるようにコントロールする必要があります。

SE、プログラマの探し方

SEやプログラマの多くはITベンダーやソフトハウスと呼ばれる会社に所属しています。このため、ITベンダーを探して窓口とし、SEやプログラマに外注するのが一般的です。

※フリーランスのSE、プログラマもいますが、その能力を把握して発注する難易度は高いです。

ITベンダーを探すために重要なことは、実現したいシステムの要件をきちんと整理しておき、概要をまとめておくことです。ITベンダーは数多くありますが、それぞれ得意とする分野は変わってきます。基幹系システムが得意なベンダー、Webアプリケーションが得意なベンダー、スマホアプリに特化したベンダーなど様々です。実現したいシステムの概要から、その分野のシステム開発が得意なベンダーを探すとよいでしょう。

まとめて複数のベンダーを調査したい場合には、比較サイトを利用するのも有効な手段です。キーワードや地域を指定することで、多くのITベンダーを見つけることができます。

SE、プログラマ外注の費用相場

システム開発の費用は要件によって大きく変動するため、費用の相場を一般的には出しずらいです。しかし、そうはいってもまったく無根拠に見積金額が出てくるわけではありません。SE、プログラマの外注費用の算出は、大きく以下の3ステップです。

  • システムの要件から機能の洗い出しを行う
  • 機能の実現ごとに必要な工数を算出する
  • SE、プログラマに業務を割り振って人月計算を行う

また、これ以外にもシステムを動かす環境(クラウド、サーバー)やプロジェクトの管理費用などが加算されます。

機能を洗い出しても、その機能ごとの見積もりも大きく変動する要素があります。例えば、ホームページのような機能の少ない静的な画面と販売情報入力画面では大きくコストは変わってくるといえるでしょう。また、採用する技術によってもベースとなる金額が大きく変わります。技術者が多くいる普及している技術の場合は、人員がアサインしやすく費用が抑えられる傾向があります。

IT業界でよく費用見積もりに利用される考え方として人月での計算があります。一人のSE(またはプログラマ)が一カ月作業をする場合の作業量を一人月と数え、一人月当たりの作業単価が定められていることが多いです。作業単価の目安はSEは人月60万円〜、プログラマは人月50万円〜といったところが主流です。

例としてスクラッチでシステムの開発を行った場合を考えてみます(スクラッチ:一からシステム、プログラムを組み上げること)。WebアプリケーションでシンプルなECサイトを作る場合、ログイン画面、商品一覧画面、商品詳細画面、商品購入情報入力画面、そして運営側の管理画面が必要となります。

利用する技術にもよりますが、画面の要件定義から設計、プログラミング、テストと一通りの工程を発注する場合、一画面あたり0.5人月として見積もっても2人月以上はかかってしまう計算です。

一方でこの発注額を抑える方法も幾つかあります。発注する工程を限ることもその方法の一つです。例えば要件定義とテストの半分は発注元で作業するようにすれば、各画面ごとの工数を抑えることができます。また、既存のパッケージ製品やフレームワークなどの工数削減に繋がる仕組みが利用できれば発注費用はさらに抑えることができます。

ただし、パッケージ製品やフレームワークを利用する場合は、実現できる機能に制限がかかることもあるため、慎重な検討が必要となります。

SE、プログラマ外注の注意点

SE、プログラマを外注する場合、作業依頼や契約締結、その後の進捗確認など注意しておきたい点を説明します。

依頼する開発の範囲や定義を明確にしておく

発注の依頼や契約を行う際には、依頼する開発の範囲と定義を明確にしておくことが重要となります。依頼する工程、機能で実現する内容、役割の分担などこれから作っていくシステムについてのことなので明確にするのは難しいのですが、契約書や作業の同意書などでできる限り定めておく必要があります。

クライアントとベンダー間でトラブルになりやすいのが依頼範囲、契約に定めた作業があいまいな場合です。必要があれば、契約書のテンプレートなどを提供するサービスを利用してみるのもよいでしょう。

より詳細に知りたい方はシステム開発で大切な要件定義とは?進め方やコツを紹介を参考にしてください。

依頼するシステム開発を得意分野とする発注先を探す

ITベンダーも様々で、ホームページやブログのような簡単なサービスの構築が主なところから、製造ラインや物流などのシビアな現場向けのシステムを得意としているところもあります。それに加え、デザインが得意かどうかや最新技術を適用した実績があるかなど、依頼をする前にITベンダーが発注先としてフィットしているかを調べておきましょう。

発注工程に見合ったSE、プログラマをアサインできるか

ITベンダーに発注する際に、どのようなSE、プログラマを発注した工程にアサインできるかを確認しておきましょう。これまでの経歴、実績などから能力のあるメンバーを割り当てているかを判断します。スキルのなさそうな新人が割り当てられている場合などは、フォロー体制がとられているかどうかを発注先に確認しましょう。

発注後も定期的に状況報告や中間生成物を見て、品質が保たれていることをチェックする

発注が完了した後も、ITベンダーに作業を全て任せて放っておいて良い訳ではありません。定期的に状況の確認、品質の確認を行う必要があります。計画しているスケジュール通りに作業が進んでいるか、中間生成物をチェックして品質が保たれているかを逐次見ていく必要があります。

総括

システム開発を行うにあたり、実際の作業工程にSE、プログラマに対し外注を行うのは、作業効率の観点から正しいことであるといえます。

しかしながら、本記事内で記載している通り、発注金額は多くのポイントで大幅に変わりえるものです。適正な発注を行うためには、可能な限り要件を明確化させ、発注に際してはITベンダーにどのような技術を用いてどのようにシステムを構築するかの説明を求めましょう。

適正な発注のためには、相見積もりを取って複数の観点から発注を見てみることも有効です。比較サイトを使って相見積もりをとってみることも検討してみましょう。

自社にぴったりのシステム開発会社を探すには?

システム開発会社選びでお困りなら「比較ビズ」が解決します!

  • 費用相場がわからず不安...
  • 発注先選びを失敗したくない…
  • 忙しくて探す時間がない...

今年で運営17年目の「比較ビズ」は、仕事を”依頼したい人”と”請けたい人”を繋ぐマッチングサービスです。これまでWEBシステム、スマホアプリ、業務システムの開発など多くのご相談を頂き1万社以上もの企業様の発注をサポートしてまいりました。

まずは下記のボタンより、お気軽にご相談ください。

監修者の一言

システム開発案件を外注する際、疎かにされやすいポイントがあります。それは、開発会社(広い意味ではITベンダー)選定後の「社内開発体制の構築」です。

ここでの開発体制とは、プログラムソースコードを製造する体制という意味ではなく、社内にプロジェクト管理責任者(プロジェクトマネージャー)を立て、開発会社と協力し合い、プロジェクトを積極的に牽引する体制を意味しています。

開発会社は、お客様の事業領域や事業内容を理解するために最大限の努力を行うものですが、時間にはどうしても限りがあり、その限られた時間の中でお客様以上の業務知識を会得することはなかなか難しいものです。

そのため、お客様と開発会社が一体となり、足りないものは補完し合う協働体制を作り上げることが、システム開発プロジェクトを成功させるための一つの重要な要因になります。

株式会社GeNEE
代表取締役 日向野卓也
監修者

東京工業大学環境・社会理工学院卒業。慶應義塾大学大学院経営管理研究科修了。MBA(経営学修士)取得。国内最大手SIerの株式会社NTTデータで大手法人領域(大手流通企業、大手小売企業)の事業開発、事業企画等の業務に従事。米国スタンフォード大学への研修留学を経て、システム/モバイルアプリ開発会社の株式会社GeNEEを創業。