【意義】
アジャイル開発契約書は、アジャイル開発として、ソフトウェア、システム等の機能毎に分割した上でそれぞれ要件定義⇒設計⇒開発⇒テストを行い、開発工程を短期間にした上でこれを反復する場合に用いられる契約書です。
アジャイル開発は、要件定義⇒設計⇒開発⇒テストを機能毎に繰り返すことにより、仕様の変更等が途中で予定されており、契約締結時に仕事の内容をあらかじめ確定できないため、請負契約として構成することが難しく、準委任契約で構成するのが一般的です。
【アジャイル開発における体制】
1.組成
アジャイル開発では、ユーザー及び受注者は、スクラムチームとして以下の体制を組成し、準備フェーズ及び開発フェーズの2段階に分けてアジャイル開発を行います。
「ユーザー」
1.プロダクトオーナー
2.実施責任者
3.開発担当者
「受注者」
1.スクラムマスター
2.実施責任者
3.開発担当者
2.準備フェーズ
準備フェーズでは、次の業務が実施されます。
「ユーザーの業務」
プロダクトバックログの作成
「受注者の業務」
ユーザーが実施するプロダクトバックログの作成の支援
「共同で実施する業務」
リリースプランニング及び開発環境の準備
3.開発フェーズ
開発フェーズでは、次の業務が実施されます。
「ユーザーの業務」
アジャイル開発に必要な情報の提供、リリース承認及びフィードバックの提供
「受注者の業務」
スプリントバックログ作成にあたってのベロシティ及び業務量の見積提示及びスプリントバックログの要求事項の開発
「共同で実施する業務」
スプリングバックログの作成、スプリング後の成果確認及びバックログの継続的改善
【開発スケジュール】
アジャイル開発契約では、予定しているプロジェクトのスケジュールを記載することがあります。
ただし、開発対象プロダクトの内容が開発途中で変更されことがあるため、スケジュールはあくまでマイルストーンレベルとすべきであり、柔軟な対応ができなくなることを避けるため、詳細な記載はなるべく避けた方がよいとされています。
なお、スケジュールどおりに進まなかった場合において、その原因が専ら受注者が専門家として適切な業務実施しなかったことによるものであるときは、受注者は、ユーザーに対して善管注意義務違反に基づく損害賠償義務を負うおそれがあります。
もっとも、その遅延の原因がユーザによる意思決定の遅れ又はバックログ管理の失敗にある場合は、受注者は、損害賠償責任を負わない形になります。
【アジャイル開発と再委託】
アジャイル開発の場合、ユーザーの開発担当者等と受注者の開発担当者等が協働して開発を行うところに特色があり、再委託先の人員が開発メンバーに加わるとアジャイル開発の成否に大きな影響を及ぼす可能性があるため、ユーザーの承諾を得た場合に限り、再委託できるとすることが望ましいといえます。
【アジャイル開発と偽装請負】
ユーザーの実施責任者及び開発担当者と受注者の開発担当者が相互に密に連携し、随時、情報の共有並びにソフトウェア、システム等の開発に関する技術的な助言及び提案を行っていたとしても、実態として、これらの関係者が対等な関係の下で協働し、受注者側の開発担当者が自律的に判断して開発業務を行っているときは、偽装請負に該当しないとされています。
ただし、ユーザーの実施責任者又は開発担当者が受注者の開発担当者へ直接業務の実施方法等を指示している場合には、指揮命令があったものとして、偽装請負に該当します。
【ユーザーの義務】
ユーザーの義務として、通常、ユーザーがプロダクトオーナーを選任することが規定されます。
プロダクトオーナーは、概ね次の役割を担うことが一般的です。
(1)スクラムチームに対して開発対象プロダクトのビジョン及び意義を示すこと。
(2)プロダクトバックログの作成及び優先順位の変更を行うこと。
(3)開発対象プロダクトの利用者等の利害関係者からのフィードバックを提供すること。
(4)開発対象プロダクトの完成確認及びプロダクトバックログの個々の要求事項の完了確認を行うこと。
なお、プロダクトオーナーの行為(不作為も含む。)に関する責任については、全てユーザーの責任とすることを注意的にアジャイル開発契約に規定することがあります。。
【受注者の義務】
受注者の義務として、通常、次の事項が規定されます。
(1)自らの有する専門知識及びノウハウを活用し、ユーザーに対してプロダクトバックログの内容及び優先順位に関する助言、開発スケジュールの見通し及び開発対象プロダクトの技術的なリスクに関する説明等開発対象プロダクトの価値を高めるよう努めること。
(2)スクラムマスターを選任すること。
スクラムマスターは、アジャイル開発が円滑に遂行されるよう、アジャイル開発の遂行の妨げとなりうる事象を積極的に把握し、それを排除するよう努める役割を担い、スクラムチームを支援することになります。
なお、スクラムマスターの行為(不作為を含む。)に関する責任については、全て受注者の責任とすることを注意的にアジャイル開発契約に規定することがあります。
【プロダクトバックログ】
プロダクトバックログは、ユーザーの要求事項を列挙し、優先順位を付けたリストをいい、その要求事項の中には、非機能要件、リファクタリング及び文書作成が含まれることがあります。
なお、プロダクトバックログに含まれる要求事項及びその優先順位の変更について、ユーザーに権限と責任を有するとすることが多く、この場合、ユーザが選任するプロダクトオーナーがプロダクトバックログの管理を行うことになります。
【問題解消会議】
アジャイル開発契約では、アジャイル開発の円滑な遂行を困難ならしめる問題(相手方が自らの役割を十分に果たさない場合、スクラムチームの体制に不足がある場合等を含みます。)が生じ、スクラムチーム内において、その問題の解消が困難なときは、その問題の具体的内容等を相手方に示して、問題解消のための協議(=問題解消協議)の開催を要請することができるとすることが多いといえます。
問題解消協議を行っても協議が調わないまま、最初の問題解消協議の日から一定期間が経過した場合又は問題解消協議が開催されることなく開催の要請があった日から一定期間が経過した場合には、ユーザー又は受注者は、相手方に通知することにより、アジャイル開発契約を将来に向かって解除することができ、ユーザーは、受注者に対し、その解除までに受注者が実施した業務に対応する委託料を支払うとすることがあります。
【委託料】
1.金額
アジャイル開発契約における委託料の金額については、次のものが考えられます。
(1)受注者側の人員単価に稼働時間を乗じた得た金額を委託料とする方法
(2)固定金額(ex.月額〇〇万円)により委託料を定める方法
2.支払期日
アジャイル開発における委託料の支払期日については、アジャイル開発契約を準委任として取り扱うことが多いことから、受注者がユーザーに対して当月中に自らが実施した業務について、その概要、稼働時間数等を報告した後に委託料が支払われることが多いといえます。