見出し画像

溜池随想録 #19 「アジャイルソフトウェア開発に適した契約(その5)」 (2010年12月)

契約で協力関係を作れるか

 契約は当事者間の意思表示の合致によって成立する。したがって契約書という書面がなくても、口頭による意思表示だけでも契約は成立する。たとえば、消費者の日常生活における購買行動に見られるように、「この商品を売ります」という売り手に対して、消費者が「この商品を買います」という意思表示をすることによって売買契約は成立する。

 しかし、金額の大きな取引や重要な取引の場合には、契約書を取り交わすことが多い。これは、取引内容を明確にし、取引に起因するトラブルを防止するために作成される書類である。そのため、契約書には当事者の双方が負っている債務と債権が明記されている。

 契約において、一方の利得はもう一方の損失になることが多い。たとえば、契約金額を下げれば買い手は支払い金額を少なくすることができるが、売り手の収益は減少する。開発したソフトウェアに起因する損害賠償の上限を下げれば、開発側のリスクは下がるが、発注側のリスクは高くなる。
したがって、ある意味、契約書は対立する当事者間の利害を調整した妥協の結果である。しかし、アジャイルソフトウェア開発では、4月のコラムで書いたように「契約交渉より、顧客との協調」を重視している。

 本来は利害が対立する二者の調整の結果をまとめた契約書を、両者の協調のために用いることはできないだろうか。もちろん、契約書の中に双方の協力義務を盛り込むことはできるが、理想的には、双方が協力することによってWin-Winの関係になるような仕組みを契約書の中に盛り込むことができれば理想的である。

理想的な契約

 アジャイルソフトウェア開発向けの契約として必須の条件は、開発プロジェクトの途中で仕様(スコープ)が変更可能であることである。したがって、8月のコラムで述べたように請負契約は適していない。ただ、10月のコラムで紹介した「フェーズ契約」のように、一定の期間に分割して、その期間ごとに請負契約を結ぶという方法はアジャイルソフトウェア開発に利用可能だろう。

 最も重要な問題は、発注側と開発側がそれぞれ納得でき、より優れたシステムをより早く完成させようというインセンティブが働く契約を作れるかどうかである。
 まず発注側の立場を考えると、開発が早く終われば支払い金額が少なくて済むという契約は、早期終了のインセンティブになるだろう。これは準委任契約によって実現できる。しかし、開発側からみれば、開発が早期に終了すれば受け取る報酬が少なくなり(逆に言えば、開発が長期化した方が、報酬が多くなるので)、開発側に早期終了のインセンティブは働かない。
発注側と開発側の双方に早期終了のインセンティブを与えるには、早期に終了すれば、開発側が得られる報酬(発注側の支払い金額)は減少するが、利益が増えるという契約にすればよい。
 

変則的な準委任契約

 投入された労働量に比例してコストは増大する。そのコストに上乗せされる利益額を、労働投入量に逆比例して少しずつ減少するように設定すれば、投入労働量に比例して支払い金額(=報酬総額=コスト+利益)は増加するが、利益は減少する契約が実現できる。条件としては、コストの増加幅より利益の減少幅が小さいことである(図参照)。

 あくまでも机上の理論にすぎないが、この変則的な準委任契約では、開発期間が伸びれば(投入労働量が増えれば)、発注側が支払う金額は増大するが、開発側の利益額は減少する。つまり、発注側から見れば早期に終了した方が支払い金額は少なくて済むので、早期終了に対するインセンティブが生まれる。一方、開発側も早期に終了した方が利益額を大きくすることができるので、早期終了のインセンティブが生まれる。

 この契約方式が成立する前提条件は、コストをある程度正確に計算でき、双方がそれに合意できることである。
 さらにその上で、開発側と発注側の早期終了に対するインセンティブの大きさがほぼ等しくなるように利益と支払い金額の傾きを決められるかどうかが問題になる。
 ちなみに、この図における利益の直線を水平にすると、ピーター・スティーブンスの「あなたの次のアジャイルソフトウェアプロジェクトのための10の契約」における「Money for Nothing, Change for Free」と同じになる。

 さて、結論は出ていないが、このコラムで「アジャイルソフトウェア開発に適した契約方法」を取り上げるのは、今回を最後にしたい。この問題については、現在、情報処理推進機構(IPA)ソフトウェア・エンジニアリング・センター(SEC)の非ウォーターフォール型開発WGが検討しているので、その成果に期待することにしよう。

 次回からは、「ITと企業経営」について考えていきたい。


この記事が気に入ったらサポートをしてみませんか?