旧態依然とした開発現場では、特に委託開発の場合に計画の再調整にムダな時間をかけている。計画は変わるものとして、計画の再調整に対応できるように初めから備えておく。アジャイル開発のプラクティスを参考に契約を再調整しやすくする方法を紹介する。

今回のポイント
  • 適切なタイミングで計画を再調整できる契約にする。
  • 再調整の会議には、必ず変更内容を確定する権限のある人(委託開発であれば、ユーザー企業側とベンダー側の人)が参加し、再調整に費やす時間を最短にする。
  • 計画を再調整しやすくするために、「短いイテレーション(反復)」「イテレーション計画」「イテレーションレビュー」「優先度付けしたプロダクトバックログ」「プロダクトバックログリファインメント」というプラクティスを利用できる。

 本連載は、ウォーターフォール型の開発プロセスにアジャイル開発のプラクティスを部分的に組み込み、プロジェクトに潜む様々なムダを排除する「ハイブリッドアジャイル」を提案している。今回は、ユーザー企業とSIベンダー間の委託開発を前提に、計画を再調整しやすくする方法について解説する。

委託開発は要件の追加や変更への対応が難しい

 日本の委託開発の契約には、主に請負契約と準委任契約がある。請負契約で開発した場合は、ユーザー企業と契約した価格でSIベンダー側に完成責任が発生する。最近のウォーターフォール型の委託開発の場合は、請負契約と準委任契約のどちらか一方で契約するのではなく、開発工程ごとに分割契約することが多い。契約上のトラブルに発展するリスクを低減できるからだ(図1)。

図1●再調整をあらかじめ計画する
[画像のクリックで拡大表示]

 要件定義や基本設計の工程は、工数を見積もるのが難しい。そこで、これらの工程を委託する場合は、実績精算方式による準委任契約をする。基本設計でスコープを確定して、開発工数の見積もりが可能となった段階で請負契約または準委任契約をする。工数の見積もりが難しい総合テストは、再び準委任契約をするといった方法だ。

 いくら要件定義の工程に時間を費やしても、曖昧さは必ず残る。完璧な要件定義などは存在しない。要件の追加や変更は、発生すると考えておくべきだ。

 契約の再調整を計画していないプロジェクトは要件の追加や変更が発生した場合、ユーザー企業とSIベンダーの間で交渉が始まる。現在の契約範囲に収まったり、追加契約したりするといったように、交渉が成立すればトラブルにはならない。ただし、お互いの意見が食い違い交渉が不成立だった場合は契約上のトラブルに発展しかねない。

 契約上のリスクに対して、工程に分けて段階的に契約することが一般的になってきているが、いまだに要件定義の不備による手戻りや、発注側と受注側の仕様認識の食い違いによる手戻り作業は発生している。このような現状を踏まえると、ウォーターフォール型の開発でも委託開発の場合は変更が発生するものと考えて契約すべきである。

 筆者が提案するハイブリッドアジャイルの基本パターンは、基本設計の工程までとテスト工程以降をウォーターフォールで行い、詳細設計と製造に相当する工程をアジャイル開発する。ハイブリッドアジャイルを用いた開発は、再調整可能な契約方法をお勧めしている。

 要件の追加や変更を受け入れるためには、契約方法も変えていかなければならない。完全固定価格の請負契約で成果物の再調整もなしに開発を進めるのは、現在の開発プロジェクトでは無理がある。要件の追加や変更への対応を調整する場が必要であり、コストまたは開発対象の範囲を再調整できる契約にする必要があるわけだ。

この先は有料会員の登録が必要です。「日経SYSTEMS」定期購読者もログインしてお読みいただけます。今なら有料会員(月額プラン)が4月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら