全3480文字
PR

 DX(デジタルトランスフォーメーション)を追い風に、企業も政府も新しい事業やサービスを提供するためアジャイル開発に注目している。ただアジャイル開発はそれだけで効果を得られる「魔法のつえ」ではない。専門家への取材を基に、企業や行政機関が外部ベンダーに委託してアジャイル開発を進めるとき、契約において重要となる3つのポイントを紹介する。

第1のポイント:定量的で具体的な目的を書く

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

 細川氏は「アジャイル開発では、目的の達成に必要な機能が途中で変わってもよい」と続ける。例えば、EC(電子商取引)サイトを開設している企業が1年後に高齢者からの売上高を2倍に増やす目標を立てた場合、1年後に実現したい業務の姿が開発契約の「目的」となる。

 目的を達成するため、例えば3カ月後に最低限の機能として、文字のサイズを大きくした高齢者向けのページを希望したとしよう。その後、高齢者にインタビューすると紙の注文書をファクスで送るほうが、ハードルが低いと分かった。この場合、高齢者向けページは不要となり、新たにファクス経由の注文機能が必要な機能に取って代わるわけだ。

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

システム開発における契約の目的と機能
システム開発における契約の目的と機能
[画像のクリックで拡大表示]

 IT契約において目的が重要なのは、アジャイル開発に限った話ではない。ウオーターフォール型開発でも同様に重要だ。

 その理由は、システム開発紛争の裁判では契約の目的が焦点の1つになりやすいからだ。目的が不明確な場合は問題が起こりやすいとも言える。細川氏によれば、「コスト削減と売り上げの向上」といった曖昧な目的しか契約に書いておらず、ユーザー企業が不利になった判例があるという。「契約の目的にかなりこだわる判決がとても多い。二言目には出てくると言ってもいい」(細川氏)。

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

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

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

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

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