システム開発契約における請負と準委任の使い分け  要件定義・設計などの工程や開発形態ごとに解説

IT・情報セキュリティ 公開 更新
尾城 亮輔弁護士 尾城法律事務所

 システム開発に関する契約では、請負契約か準委任契約のいずれかを用いることが多いと聞きました。それぞれの契約をどのように使い分けるべきか教えてください。

 請負契約は結果の達成を約束するものです。そのため、契約を締結する段階で、ベンダーが達成すべき結果が明確になっていない場合や、結果が達成できるか否かが、ベンダーの努力や作業の巧拙以外の要素に大きく依存する場合には、請負契約はなじみにくく、準委任契約が適切といえます。

 ウォーターフォール型開発の場合、工程ごとの性質に応じて、両契約を使い分けるのが一般的です。他方で、アジャイル開発やAI開発は、準委任契約に親和的であると考えられます。

解説

目次

  1. 請負契約と準委任契約の違い
  2. ウォーターフォール型開発の場合
    1. 企画・要件定義
    2. 詳細設計、開発
    3. テスト工程
  3. アジャイル開発の場合
  4. AI開発の場合

請負契約と準委任契約の違い

 請負契約と準委任契約は、その契約の目的が、ベンダーが役務を行うことそのものにあるのか、それとも、ベンダーが役務の結果として完成させた成果物(システム等)を給付することにあるのかという点に違いがあります。

 請負契約は結果の達成を約束するものであるため、契約を締結する段階で、ベンダーが達成すべき結果が明確になっていない場合には、請負契約はなじみにくいといえます。また、結果が達成できるか否かが、ベンダーの努力や作業の巧拙以外の要素に大きく依存する場合にも、請負契約はなじみにくいと考えられます。

 *なお、厳密には、「仕事の完成」(達成すべき結果)をどのように定義するかの問題になります。たとえば、医師との診療契約は準委任契約の典型例だと考えられていますが、これは「病気やけがの治癒」という結果の達成を約束できないからだと理解できます。しかし、あくまで理論的にではありますが、仕事を「一連の手術をすること」とし、それで患者が治癒するか否かは問わないとすれば、診療契約を請負とすることも可能であるということになります 1

 請負契約と準委任契約の使い分けは、仕事を達成できるかという不確実性に対するリスクを、当事者間でどのように分配するかの問題であるといえます。

 ITは技術進歩が速く、数年後には新しいトレンドが生じている可能性が高いといえます。しかしながら、そういった変化が速い分野であるからこそ、基本的な考え方を押さえておくことがより重要であるといえるでしょう。

ウォーターフォール型開発の場合

 ウォーターフォール型開発は、一般に、企画、要件定義、基本設計、詳細設計、開発、単体・結合テスト、システムテストという性質の異なる工程を経て行われます。このため、工程ごとに契約の性質を検討するのが合理的です。なお、システム開発の工程全体をカバーする1つの契約を締結する場合でも、複数の契約の性質を持つ混合的な契約であると考えることができるので、たとえば、要件定義工程については準委任契約の性質を有し、開発工程については請負契約の性質を有するというような評価をするのが適切といえます。

 各工程について具体的に検討すると以下のとおりです。

企画・要件定義

 どのようなシステムを作るのかを決める工程(企画、要件定義)については、工程を開始する時点で成果物が具体的に想定できないものであることから準委任契約がなじみやすいといえます。

詳細設計、開発

 2−1で定めた内容を開発する工程(詳細設計、開発)については、成果物が具体的に明確になっているため請負契約とすることが可能です。

テスト工程

 結合テストと呼ばれる工程までは開発工程の一環として請負契約とすることが多いといえます。
 プロジェクトの最終段階で行われるシステムテストないしはユーザーテストと呼ばれるテストは、ユーザーが主導して実施するものであり、ベンダーはユーザーを支援するという立場になるため、準委任契約とすることが多いといえます。

 なお、独立行政法人情報処理推進機構と経済産業省の「モデル契約書」では、各工程の業務について、以下のように契約類型の分類をしています。

出典:独立行政法人情報処理推進機構「モデル取引・契約書見直し検討部会 民法改正対応モデル契約見直し検討WG ~情報システム・モデル取引・契約書~(受託開発(一部企画を含む)、保守運用)〈第二版〉」(2020年12月)14頁

出典:独立行政法人情報処理推進機構「モデル取引・契約書見直し検討部会 民法改正対応モデル契約見直し検討WG
~情報システム・モデル取引・契約書~(受託開発(一部企画を含む)、保守運用)〈第二版〉」(2020年12月)14頁

アジャイル開発の場合

 アジャイル開発とは、開発対象を小さな機能に分割し、要件定義からテスト・リリースまでの開発工程を、機能を単位とした小さいサイクルを反復させる方法で開発していくという方法です。アジャイル開発は小規模開発向きとされてはいますが、このような方法を取ることにより、開発中に発生する状況変化に対応しながら開発を進めていくことができるといわれています。

 アジャイル開発は、開発プロセスのなかで、開発する機能の追加・変更やその優先順位の変更が行われるため、契約を締結する段階で、受託側(ベンダー)が達成すべき結果が明確になっていない場合には、請負契約はなじみにくいということになります。

 なお、独立行政法人情報処理推進機構と経済産業省の「アジャイル開発外部委託モデル契約2 でも、モデル契約は準委任契約を前提とするとされています(<アジャイル開発外部委託モデル契約(解説付き)>1頁)。

AI開発の場合

 AI開発(機械学習の手法を用いたソフトウェア開発)は、これまでのソフトウェア開発と異なりデータを用いるという点に特徴があります。AIの性能が不十分であったとしても、ユーザーの提供したデータが不十分であったことが理由である可能性があり、ベンダーの仕事に問題があったと単純に考えることはできません。

 また、AI開発の特徴として、学習済みモデルの内容・性能等が契約締結時点で不明瞭な場合が多く、ソフトウェアが想定外の挙動をしないことの保証は困難であると指摘されています。このような特徴を考慮すると、AI開発についても準委任契約が親和的であると考えられます。

 *以上について、経済産業省「AI・データの利用に関する契約ガイドライン(AI編)」(2018年6月)48頁

 なお、AI開発が準委任契約に親和的であるという点は、技術的な問題に根拠があると考えられます。このため、将来的に技術的に大きなブレイクスルーが起きたり、開発経験が蓄積されたりしていくことにより、AIの性能予測がある程度可能になっていけば、AI開発を請負契約で行うこともあり得ると考えられます。

 このように、準委任契約に親和性があると考えられるアジャイル開発やAI開発でも、その根拠は同一ではなく、考え方の前提を理解しておくことが重要です。


  1. 幾代通・広中敏雄編『新版注釈民法(16)債権(7)雇傭・請負・委任・寄託 §§623~666』5~6頁(有斐閣、1989)(幾代通執筆部分) ↩︎

  2. 独立行政法人情報処理推進機構、経済産業省「モデル取引・契約書見直し検討部会 DX対応モデル契約見直し検討 WG ~情報システム・モデル取引・契約書<アジャイル開発版>~ アジャイル開発外部委託モデル契約」(2020年3月) ↩︎

無料会員登録で
リサーチ業務を効率化

1分で登録完了

無料で会員登録する