- Column
- デジタルシフトに取り組むためのソフトウェア開発の新常識
アジャイル開発に向けたITベンダーとの契約の結び方【第6回】
前回、デジタルシフトのためのプロジェクトを成功に導くためには、パートナーたるITベンダーを見つける必要があると指摘し、そのためには事業会社が自発的にITベンダーを探さなければならないとしました。今回は、新たに見つかったITベンダーへ発注する際の契約内容について考えます。
前回、デジタルシフトに向けたITベンダーを探すためには、事業会社が積極的にカンファレンスや技術者が集うセミナーなどに参加し、技術トレンドを把握してITベンダーと対等に話せるようになる必要があるとお伝えしました。
そのようにして、眼鏡にかなうITベンダーが見つかれば、ソフトウェア開発の契約を結ばなければなりません。アジャイル開発に適したITベンダーとの契約は、どのようなものであるべきでしょう。
一括請負契約はアジャイル開発には根本的に向いていない
ソフトウェアの開発契約は大きく、(1)一括請負型契約、(2)準委任型契約の2種類があります。一括請負型契約は、受注者がシステムの完成に責任を持ち、成果物を発注者に引き渡すことを約束する契約です。
この一括請負型契約は、要求仕様の提示、成果物の納入、検収という流れで契約が完結します。つまり要求自体の変更を前提としていません。変更があれば、ITベンダーは追加費用を請求することになります。正しい方向への変更によってビジネスゴールを追求するアジャイル開発には、根本的に向いていないのです。
一方の準委任型契約では、開発側は機能の完成義務および瑕疵(かし)担保責任を負いません。ただ開発側は、業務遂行にあたり専門家としての「善管注意義務(善良な管理者の注意義務)」を負っています。「善管注意義務」とは、開発側の業務品質が一般的な水準を下回わらないことを保証するものと考えて良いでしょう。
一括請負契約が向かないアジャイル開発では、準委任型契約を結ぶことになります。そのうえで、アジャイル開発にチューニングした契約を結ぶ必要があります。これを筆者は「ラボ契約」と呼んでいます。
ラボ契約でビジネスゴールと開発スピードの両立を図る
IT業界で準委任契約といえば「派遣契約ではない技術者常駐サービス」を指し、アジャイルのためのチーム開発とは異なるイメージで使われています。そのため筆者は、アジャイル開発について顧客と話す際には、ラボ契約あるいは「ラボ型開発」という表現を使うようにしています。
ラボ契約という表現は、これまでも中国やベトナムなどに開発を委託するオフショア開発業務において多用されてきました。そこでのイメージは「チーム単位による期間契約」というものです。
アジャイル開発におけるラボ契約は、たとえば「6カ月間のチーム単位での専属開発契約」と言えます。契約金額は月額の単金 × 期間で、単金はエンジニアのレベルにより異なります。開発場所はITベンダーの施設になることが基本です。法律的には準委任型契約ですから、成果物や完成に対する責任は負いませんが、業務品質に対する責任はあります。
こうした契約なら、仕様が変化することや、開発ずみの機能をスクラップ&ビルドすることは契約上も、なんら問題はありません。ラボ契約、あるいはラボ型開発こそが、事業会社とITベンダーがパートナーシップを築き、アジャイルな開発や、それによる新しいサービスの提供を推し進めるための最善の方法と言えるでしょう。
ただラボ契約で絶対に誤解してはならないのは、「ITベンダーは受注者であるのだから、発注者の依頼にはすべて従うべき」ということではないことです。