「要件定義を無くそう!」…不毛な議論を巻き起こす「アジャイル開発への誤解」とは
多くの企業でDX推進が加速する中、システム開発の手法としてアジャイル開発が主流となった。PwCコンサルティングの調査によると、アジャイル開発手法を展開している企業は72%に及ぶという。そのためか、まずはプロダクトを作ってみようという観点で「要件定義を無くせないか?」という議論が散見される。結論から言えば「現実的ではない」のだが、なぜこのような議論が起きるのか。システム開発に詳しいビープラウドの代表取締役社長、佐藤 治夫氏に、要件定義不要論が大きくなった背景とともに、無くした場合の問題点や要件定義に必要なスキルなどについて話を聞いた。 【詳細な図や写真】『What』=何をつくるのか、が要件定義に当たる(佐藤氏提供)
「要件定義を無くす」ことは可能か?
1ページ目を1分でまとめた動画 昨今、DXやアジャイル開発の流行により、「要件定義を無くそう」という声がよく聞かれる。 佐藤氏によると、要件定義を完全に無くすことは、一般的な開発プロジェクトでは難しい一方で、特定のケースでは要件定義を省略することも可能であるという。 「PoC(概念実証)レベルの開発や、個人レベルなどシンプルなソフトウェア開発であれば、要件定義を行わなくても、とりあえず作ってみて、実際に使い、修正を繰り返す、というケースもあります。たとえば、最近のノーコードツールであるbubbleなどを活用すれば、初期の要件定義を行わずにすぐにプロトタイプを作り、必要に応じて素早く修正できるため、手戻りが極端に少なくなります。このような開発手法では、動作検証を繰り返しながら、最適な形を見出していくプロセスが可能となり、要件定義を省略する選択肢も考えられるわけです」(佐藤氏) しかしながら、これらはあくまで例外であり、特に複数人が関わる開発や規模が大きなプロジェクトでは、要件定義の省略は大きなリスクを伴うことになる。さらに、ものづくりにおける基本原則を踏まえると、要件定義の省略は本来の開発プロセスを逸脱する状況に陥りやすい。 佐藤氏は次のように説明する。 「ものづくりには『Why』『What』『How』『Make』という4つの要素があり、まず『Why』では、なぜ作るのか、どのような課題を解決し、どのような価値を生むのかを企画段階で明確にします。次に、何を作るのか=『What』が要件定義に当たります。これを省略することは、何を作るのかを決めないまま開発を進めるということで、ものづくりの原則を無視することになります。たしかに、何を作ればいいのか不明な場合などには、まずとりあえず作ってみようといったアプローチはあり得ますが、通常の開発では非常にリスクの大きい選択です」(佐藤氏) つまり要件定義を完全に無くすことは現実的には難しく、特に規模が大きくなるプロジェクトでは不可欠なプロセスであり、システム開発における基本の一部であると結論付けられるだろう。 そもそもなぜ、「要件定義を無くすことは可能か?」という議論が起きるようになったのか。