1. HOME
  2. ブログ
  3. システム開発
  4. 「受託開発」でシステムやソフトウェアを開発する

ブログ

BLOG

システム開発

「受託開発」でシステムやソフトウェアを開発する

 企業や組織がシステムやソフトウェアを外部に依頼して、開発することを受託開発といいます。この受託開発は、IT業界においてよく使われる手法となっています。本記事では、受託開発を行う場合に、目的に沿ったシステムやソフトウェアを開発できるように、発注側のメリット・デメリットや、発注の方法などについて詳しく紹介していきます。

受託開発とは

 受託託開発とは、企業が求めるシステムやソフトウェアの概要をまとめて、外部にその作成を依頼し、要望に沿ったシステムを作ってもらうことを意味します。

 受託開発の特徴は、ソフトウェアやシステムの導入目的に合った機能や仕様を開発できる、「オーダーメイド」な開発であるということです。新しいシステムが欲しいと考えた場合、既存のパッケージソフトを購入する方法もあります。しかし、既存のものであれば、必ずしもシステムの導入目的に沿った機能が備わっていないことや、業務形態に合った仕様ではない可能性があります。受託開発であれば、これらの心配を解消することができます。

受託開発の良いところ

 受託開発することに大きく3つの利点があります。

・予算を立てやすい

 後にも述べますが、受託開発は請負契約であって、事前に契約で決めた報酬以外に費用を支払う必要がありません。また、支払いの時期は、検収後と決まっています。このように、受託開発では、金額規模や支払い時期を事前に把握することができるので、明確な予算計画が立てやすくなります。

・工数負担の削減になる

 受託開発の場合、新しいシステム開発のための人員の確保や人材育成、企画や開発に伴う手間は、発注先の会社が引き受けることになります。そのため、発注側にとっては、自らの内部で負担の大きい手間を省くことができ、システム開発における工数負担を削減することができます。

・開発費用の抑制につながる

 受託開発の際に発注先に支払う報酬は、発注先との契約によって決まります。そして、受託開発の報酬には、おおよその相場はあるものの、決まった定価はありません。発注先の会社との交渉によっては、報酬を抑えることも可能であるため、開発費用の抑制につながります。

受託開発を利用することの弊害

 受託開発は、システム開発を外部に依頼するという形式のものであるため、いくつかのデメリットも存在します。

 まず、自社エンジニアが育ちにくいことです。受託開発となると、自社内で人材を確保、育成してシステム開発を行うわけではないため、開発のためのノウハウやスキルを蓄積できません。そのため、自社内のエンジニアの成長を検討している企業にとっては、受託開発を検討する際には、本当に必要な受託開発なのか、外部に依頼するとしても最低限度に絞るなどの工夫が必要になります。

 そのほかの弊害として、外部に開発を依頼することからセキュリティ上のリスクが生じやすいこと、自社内で開発したものではないため、システムの仕様変更が容易ではないことなども挙げられます。

 受託開発においては、これらの弊害も考慮しつつ、上手く活用すれば、企業の負担を軽くしてシステムやソフトウェア開発を行うことができます。

受託契約における契約類型とその責任範囲

 受託開発はその多くは「請負契約」の契約類型となっています。この請負契約の特徴は以下のとおりです。

・請負人(発注先)には、成果物の完成義務がある

・発注者には請負人に対する指揮命令権がない

・発注者は、報酬を検収後に一括で支払う

・請負人に契約不適合責任(旧瑕疵担保責任)がある。

 発注先が目的を満たす成果物を納品しない限り、発注先がいくらシステム開発に時間や費用をかけたとしても、発注者には報酬を支払う義務はありません。成果物が目的に沿って納品されて初めて、発注者には報酬を支払う義務が生じるという内容になっています。

 受託開発の契約類型には、請負以外にもいくつかの種類が存在します。

請負契約とその他の契約類型の比較(2021年1月時点)

受託開発における契約類型には、準委任契約、労働者派遣契約といったものがあります。これらの契約類型の特徴をまとめると、以下のようになります。

 

請負契約

準委任契約

労働者派遣契約

指揮命令権

受注側

受注側

発注側

完成責任

×

×

契約不適合責任

×

×

支払い方法

一括

一定期間ごと

一定期間ごと

・指揮命令権

 請負契約と準委任契約では、発注者は受注者に対して直接、指示や命令はできません。また、発注側は、業務方法や残業、休日出勤、労働時間などについて指示することもできません。これは、請負契約と準委任契約は、外部の会社に開発を依頼する、という形をとるためです。

・完成責任

 請負契約には完成責任があり、準委任契約や労働者派遣契約には完成責任はありません。請負契約であれば、システムが完成していなければ報酬を支払う必要はありませんが、準委任契約や労働者派遣契約であれば、もしシステムの完成が期限に間に合わなくても一定期間毎に報酬を支払う必要があります。請負契約はこのように仕事の完成を前提とするため、作業場所を問わないことが多く、この点も発注先で作業をすることが基本である準委任契約や労働者派遣契約とは異なります。

・契約不適合責任

 契約不適合責任とは、目的物が契約内容に適合しないものであれば受注側は損害賠償などの義務を問われるというもので、請負契約の類型にだけ課される義務です。

 2020年4月の民法改正によって、それまでは納品から1年を超えている場合、損害賠償の請求はできませんでした。しかし、現在は発注者が、契約内容の不適合を知ってから1年以内に受注側にその不適合を通知すれば、受注側に対して減額請求や修理の無償対応を求めることができます。

・支払い方法 

 準委任契約と労働者派遣契約は、目的物の完成の有無に関係なく期間契約であることから、一定期間ごとに報酬を支払う必要があります。請負契約の場合、目的物を完成する必要があるため完成品を受け取ってから一括で報酬を支払うことになります。

システム開発を依頼する場合、どの契約類型にするべきか?

 契約の類型は、開発を依頼する目的に合わせて選ぶ必要があります。

 システムの完成や成果物の納品を最も優先したい企業には、請負契約が向いています。求めるシステムやソフトウェアが明確な場合には、「請負契約」が適しているといえます。

 一方、システム開発に必要な人員、知識やノウハウを確保したい企業には「準委任契約」が向いています。

 また、労働力が欲しいといっても、自社内に労働力を置き、細部まで詰めて緊密に開発を進めたい企業には、「労働者派遣契約」が向いているといえます。

受託開発に向けた流れ

 受託開発の流れの大枠を、実際に受託開発を依頼したいという企業の担当者向けにご説明します。

1 受注会社への依頼

2 受注側のSEやプログラマーとの打ち合わせ

3 見積りをもらう

4 予算の決定とシステム開発の作業開始

5 受注側のSEやプログラマーが中心となって設計、実装

6 開発作業の進行中にも担当者との受注側との打ち合わせ

7 システムの完成・納品

1 受注会社への依頼

インターネットなどで検索して発注先を探し、依頼を開始します。

2 受注側のSEやプログラマーとの打ち合わせ

依頼先が決まれば、受注側のSEやプログラマーと打ち合わせを行います。事前に、必要な機能や仕様、予算の範囲を決めておきましょう。打ち合わせにおいては、発注の意図や目的を受注側に正確に伝えるために、口頭で伝えるだけでなく、文書資料などを用意しておきましょう。このやりとりを通じて、開発を依頼するシステムの詳細を決めていきます。

3 見積りをもらう

 システムの詳細が決まれば、見積りをしてもらいます。見積りの項目としては、機能や基板、開発環境、動作環境、動作保証範囲、保証期間、開発スケジュールなどがあります。これらの見積りの項目から、開発の詳細をわかることができます。

 ここで「人月単価」の説明をします。これは、エンジニアやプログラマー一人が1か月作業した場合に発生する料金をいい、「一人月〇万円」などと表されます。この「人月単価」で費用が設定される場合、その価格は発注時期や作業担当者の能力によって変わるため、よく確認する必要があります。

4 予算の決定とシステム開発の作業開始

 見積りを確認し、見積りの金額が予算を超えている場合には、システムのどの機能を優先するかメリハリをつけ、折り合いがつける部分を見つけて、予算内に収めるようにします。

5 受注側のSEやプログラマーが中心となって設計、実装

 実際の開発は、SEが設計し、プログラマーが開発、実装する流れです。設計や実装の過程は、ドキュメントが残されていることが一般的ですので、納品時に必ず受け取りましょう。

6 開発作業の進行中にも担当者との受注側との打ち合わせ

 受注側に実際の開発が任されているとはいえ、定期的に受注側と打ち合わせをして進捗状況を把握することが大切です。求めた通りのシステムを完成させてもらうには、開発途中でも打ち合わせを行い、要望内容から大きく外れる仕様になってしまうことや、納期の遅れを未然に防ぐ必要があるからです。打ち合わせ内容や作業の進み具合によっては、開発内容や納期の変更を行うこともあります。

7 システムの完成・納品

 受注側がシステムを完成させ、納品することで終了となります。もし、納品されたシステムに不備やバグなどが生じれば、受注側に修正を依頼しましょう。

受託開発の際には書面を作成すること

 最後に、いざ受託開発をお願いするというときの注意点をお伝えします。それは、受注側との合意内容は書面で残しておくということです。

 請負契約である受託開発の場合には、法律上、成果物を目的通りに完成させて引き渡す義務が定められておりますので、原則として完成品を受け取ることができます。もっとも、口頭で契約を締結した場合は、合意した内容に受注側と認識のずれがあるなどして、合意内容を明確に特定できないことがあります。すると、結果的に完成義務や契約不適合責任が発生しないことになりかねません。このような事態を避けるため、合意内容は契約書などで書面化しておくことが大切になります。

関連記事