アジャイル開発と契約6
一般的に、ソフトウェア/システムの品質保証内容は、機能保証、性能保証、権利保証の3つの保障を指します。この内、最もなじみ深いのが機能保証です。
機能保証は大まかに言うと2つの事柄を指します。それは、仕様通りの機能を備えているという保障と、納品物が物理的に壊れていない事の保証です。まれに、取引契約でこの様な保障を交わさない場合もありますが、提供者(ベンダ)はソフトウェア/システムを完成する履行義務を負っているとみされますから、仕様を満たさない製品を納品すると、義務違反とみされてユーザーから訴えられる可能性があります。世の中の動きを考慮すると、今後告訴が増加する事が予測できますので、機能保証は非常に重要だと言えます。
機能保証を考える上で、もっとも考えなくてはならない事がバグの存在です。バグがあると機能保証を満たさない事になります。しかしながら、バグが存在しない情報システムは存在しないと言われております。実際、広範囲の意味でのバグを0にするのはほぼ不可能だと言えます。ですから、その事を考慮したうえで基本契約を結ぶ必要があります。
アジャイル開発を行うと、テストファーストもしくは迅速に対処しながら開発を進めますので、狭義のバグは少なくなります。しかし契約時には、フリーソフトとプラットフォームのバグについても考慮しなくてはなりません。購入者にはバグの見分けがつきませんので、あらかじめてはっきりしておかないと全てベンダの責任となってしまいます。また、ユーザーが要求をはっきりと行わない為に発生するバグもありますから、十分な注意が必要です。その事を良く考えずに、機能保証を安請負すると、後で深刻なトラブルが発生します。