全3192文字

 DX(デジタルトランスフォーメーション)を追い風に、企業も行政機関も新しい事業やサービスを提供すべくアジャイル開発に注目している。アジャイル開発は、利用者にとって優先度の高い機能やサービスから順次開発・リリースし、顧客の反応や運用時の技術評価といったフィードバックを基に素早く改善を繰り返す手法である。

 ただアジャイル開発はそれだけで効果を得られる「魔法のつえ」ではない。ウオーターフォール型開発と比べ、企業や行政機関の経験も浅い。特に外部ベンダーと共にアジャイル開発を進める場合、成否の鍵を握るのが「IT契約」だ。重要となるポイントは3つある。

図 開発ベンダーとアジャイル開発の委託契約を結ぶ際に重要となる3つのポイント
図 開発ベンダーとアジャイル開発の委託契約を結ぶ際に重要となる3つのポイント
「目的」「業務部門などエンドユーザー参加」「体制」を契約書に明記する(写真:Getty Images)
[画像のクリックで拡大表示]

 最も重要なポイントは「契約の目的」である。「将来の新しい業務でどんなメリットを得たいのか、定量的で具体的な目的を契約に書き込む必要がある」。政府CIO補佐官であり、システム開発の失敗を巡るユーザー企業と開発ベンダーの紛争に詳しいITコンサルタントの細川義洋氏はこう強調する。一方、駄目な書き方は「○○システムをつくること」「コスト削減」といったものだという。

 さらに細川氏は「アジャイル開発では、目的の達成に必要な機能が途中で変わってもよい」とする。機能は目的を実現するための手段でしかない。1年後などに目指す業務の姿を描き、それを目的として明確に定めて契約に書いておくと、「さしたる成果物もないままアジャイル開発を続けても契約違反にならない」といった事態を回避できる効果もあるという。

 IT契約において目的が重要な理由は、システム開発紛争の裁判で契約の目的が焦点の1つになりやすいからだ。目的が不明確な場合は問題が起こりやすいとも言える。

 細川氏によれば、「コスト削減と売り上げの向上」といった曖昧な目的しか契約に書いておらず、ユーザー企業が不利になった判例があるという。「契約の目的にかなりこだわる判決がとても多い。二言目には出てくると言ってもいい」(細川氏)。

 契約上で目的が明確であれば、合理的なシステムの機能要件や非機能要件を実装できる可能性が高まる。「契約書に書いてある目的を達成するために必要な機能が要件に網羅されていなくとも開発ベンダーがつくるべきだった」として、ベンダー側の責任を認めた判決もある。細川氏は「契約の目的が具体的であることと、その契約の目的に対して必要かつ十分な業務要件を定義することが重要だ」と強調する。

 他の専門家も同じく目的の重要性を指摘する。DX支援などを手掛けるレッドジャーニーの社長で政府CIO補佐官でもある市谷聡啓氏は「(ユーザー側は)目的や課題が曖昧なのに、明確な機能をやたらと提案してくる場合が多い」と話す。

 市谷氏によると企業や行政機関から「この機能をつくってくれ」という要求しかないアジャイル開発案件は要注意だという。特定の機能を導入するという「手段」が「目的」にすり替わっているからだ。企業や行政機関も開発ベンダーも「何か機能をつくらないといけない」と思い込み、結果的に使われない機能を盛り込んでしまいやすい。

 この事態を避けるために市谷氏は、アジャイル開発を本格的に始める前に「仮説検証」を実施することを勧める。ユーザーや開発ベンダーらを巻き込んで、現状の課題を洗い出して、改善要望を集め、どんな状態にどう変えるのかという仮説を立て検証する。

 仮説検証によって企業や行政機関自らが、今後のビジネスや行政事務にどのようなプロダクトが必要か、なぜ必要なのか、将来の業務はどうあるべきかを明確にできるという。ゴールが明確になるため、開発時には迅速な意思決定も可能になる効果を見込める。

 仮説検証でつくるのが「MVP(ミニマム・バイアブル・プロダクト:検証可能な必要最小限のプロダクト)」である。「MVPを特定するための仮説検証は、本開発と契約を分けてでもやったほうがいい。例えば予算が2億円のプロジェクトなら1億円はMVPの特定に充ててもいいくらいだ」(市谷氏)。

図 システム開発における契約の目的と機能
図 システム開発における契約の目的と機能
アジャイル開発のIT契約では「目的」が重要に
[画像のクリックで拡大表示]