![見出し画像](https://assets.st-note.com/production/uploads/images/86368911/rectangle_large_type_2_f9a3be96a019dfe6545e8fbe24f7e9b9.jpeg?width=1200)
溜池随想録 #16 「アジャイルソフトウェア開発に適した契約(その2)」 (2010年9月)
「10の契約」
アジャイルソフトウェア開発に適した契約モデルについて、インターネット上で情報を探していたところ、ピーター・スティーブンスの「あなたの次のアジャイルソフトウェアプロジェクトのための10の契約」(注)という資料を見つけた(和訳もインターネット上で公開されている。http://htn.to/cdG2cz)
この「10の契約」は、米国における従来型の契約モデルも含まれており、すべてがアジャイルソフトウェア開発に適したものではないが、どのような契約がアジャイルソフトウェア開発に適しているのかを考える出発点になるように思える。一つずつ取り上げて、その内容を吟味してみよう。
(注)Peter Stevens “10 Contracts for your next Agile Software Project” (http://agilesoftwaredevelopment.com/blog/peterstev/10-agile-contracts)
(1) スプリント契約(Sprint Contract)
この資料における「スプリント契約」は、実際の商取引で利用される契約ではなく、(7月に取り上げた)スクラムにおいて、プロダクトオーナーと開発チームの間でスプリントごとに交わされる合意(スプリント計画)のことである。(図1)
この図におけるスコープ(Scope)は成果物に関する要求事項であり、品質(Quality)は成果物の品質を、期間(Time)とコスト(Cost)は開発に要する時間とコストを意味する。
スクラムでは、各スプリントに入る前に、そのスプリントで取り組むバックログと期間、要員について合意するが、これはスコープと期間、コストについて両者が合意する一種の契約である。
一般的に、1回のスプリントは30日間であり、開発チームの人数は最初に決まっているので、それに合わせてスプリントバックログを調整することになる。品質要件は、無論、スプリント終了時点でスプリント終了レビューに合格することである。
このスプリント契約を実際の契約に応用することは不可能ではない。たとえば、プロジェクト全体の基本契約で、開発すべきソフトウェアの仕様と支払い金額、開発期間、検収方法については個別契約書で定めると規定しておき、スプリントごとに個別契約をすればよい。つまり、プロジェクトの最初に基本契約を締結し、その後、スプリント毎に(つまりほぼ毎月)個別契約を結ぶという方法である。個別契約のひな形を作っておけば、個別契約書自体の作成にはそれほど時間を必要としないだろうが、毎月、契約手続きを行うのは煩雑かもしれない。
(2) 定額請負型(Fixed Price & Fixed Scope)
この契約は、価格とスコープを最初に固定するので、日本における一般的な請負契約に相当する(図2)。
この契約の特徴は、プロジェクトが早期に終われば終わるほど、開発側の利益率が高くなることである。したがって開発側は生産性を上げようという強いインセンティブが働く。これはとてもよいことである。
しかし、逆にスケジュールが大幅に遅延した場合、採算がとれず、赤字プロジェクトになるというリスクもある。
一方、顧客側からみると、あらかじめ決めた仕様に従ったシステムをあらかじめ決めた金額で入手できることになるので、リスクを全く負わないで済む便利な契約である。仮にプロジェクトが遅延して、コストが予定以上になった場合でも決まった金額しか支払わなくてよい。
しかし、前回に指摘したように、この契約は明らかにアジャイルソフトウェア開発には適していない。それはスコープを最初に固定してしまうからである。
(3) 準委任型(Time and Materials )
Time and Materialsと呼ばれる契約は、日本における準委任契約に相当する(図3)。プロジェクトに投入した工数(労働量)や材料費に応じて支払い額が決まる。
この契約の特徴は、開発側からみた場合、プロジェクトが長引けば長引くだけ、売上も利益も増大するという点である。したがって、開発側には、生産性を上げようというインセンティブはあまり働かない。
この契約方式においては、開発側には完成責任がなく、支払いの上限金額が決まっていないため、プロジェクトのリスクはすべて顧客が負う。したがって、顧客側がしっかりとプロジェクト管理を行わないと、欲しいものを適正なコストで入手することはできない。
スコープをいつでも変更できる点は、アジャイルソフトウェア開発に適しているが、顧客側が適切なプロジェクト管理を行うことが成功の条件であり、また、開発側に生産性向上のインセンティブを生まれる工夫をすることが望まれる。
次回も、引き続きアジャイルソフトウェア開発に適した契約について考えてみたい。
この記事が気に入ったらサポートをしてみませんか?