請負契約とアジャイル

日本市場における一般的なSI契約の形態である請負。請負契約ではアジャイル開発はできない、難しいという声はよく聞く。

請負契約では仕事の完成を請負人が請負うわけで、最初に完成させるものが決まっていて定額で作業するのが請負だから、ゴールが変動するアジャイルとは合わない、という理屈だと思う。

まあ分かるのだが、ちょっと深掘りしてみたい。

そもそも請負契約における「仕事の完成」ってなんだろう。注文者と請負人の間で合意さえ得られればどうにでもできるのだろうか。 ということで、ネットで見られるソフトウェア開発委託契約の契約書をちょっと見てみる。

JISAソフトウェア開発委託基本モデル契約書2020(契約書雛形(条項のみ)・PDF版)

ウォーターフォールモデルで、まず要件を定義し、仕様を策定し、そしてソフトウェアを作成する。前工程のアウトプットドキュメントが次工程の完成の定義になるとしており、もうアジャイル開発(スクラム的な)を行う余地はない。

契約書ひな型「ソフトウェア開発委託契約書」 | さいたま・上野御徒町の法律相談なら弁護士法人 阿部・楢原法律事務所

こちらは軽量な契約書で、受託人はソフトウェアを作成し、注文者は別途定める方法で納品検査をする、としか言っていない。これなら、アジャイル開発を行える可能性がある。

例えば、契約時に列挙された要件は出発点であって、ある時点での成果物で双方が合意すればそれを仕事の完成とする、としてもいいように思える。

なんだかふんわりした契約に思えて本当にそれで大丈夫なんだろうか、という気がするかもしれないが、それは営業努力とか信頼貯金でなんとかするべきことかもしれない。

もうすこし具体的に注文者と請負人の利得について整理して、受託アジャイル開発の完成の定義について考えを深めてみたい。