- 2024/10/09 掲載
「要件定義を無くそう!」…不毛な議論を巻き起こす「アジャイル開発への誤解」とは(2/2)
要件定義“不要論”を招く「アジャイル開発への誤解」
「要件定義を無くすことは可能か?」という議論の背景について佐藤氏は、アジャイル開発に対する誤解があると指摘する。「アジャイル開発とは要件定義をしなくても進められるアプローチである、という誤解がしばしば見受けられますね。ビジネス側としては、素早く動いてほしい、早く顧客に提供したいというニーズが強く、開発側も要件定義のやり方がよく分からない、さまざまなステークホルダーとコミュニケーションを図りながら合意形成を得ることが苦手だ、という意識があります。そのため、『アジャイル開発だから要件定義が不要』だと都合よく解釈してしまうケースが生まれてしまうのでしょう」(佐藤氏)
しかし、こうした考え方は短期的な視点に過ぎない。たとえアジャイル開発にせよ、要件定義を省略したとすれば、短期的にはスピード感を持って進められるかもしれないが、長期的にはプロジェクトのどこかで失敗やトラブルが発生しやすくなるというリスクを抱えてしまう。
さらに、要件定義はビジネス側と開発側双方にとって不得意な分野であることも問題を複雑にしている。ビジネス側は業務には精通しているが、システムの詳細は理解していない。一方、開発側はシステムには詳しいが、業務や事業全体を把握していないことが多い。
だからと言って、要件定義を省略してしまえば、双方の理解に関するギャップが埋まらず、大きなトラブルへと発展しかねないのだ。
「このようなリスクを回避するためには、CIOのように視座が高く、全体を見渡して意見の言える立場の人が、適切な判断を下して、必要であれば要件定義の実施を強く指示することがますます重要になってきます」(佐藤氏)
「要件定義を無くす」と何が起きる?
では、要件定義を無くしてしまった場合、どのような事態が発生するのだろうか? 佐藤氏は、要件定義を無くしたことで発生するさまざまな問題やリスクについて次のように説明する。「要件定義を省略した場合、開発に入ってから手探りで設計や実装を進めることになります。これにより、開発生産性はむしろ大きく低下するとともに、ムダな機能を作り込んでしまい、完成間近になってから大規模な作り直しが必要になるなど、手戻り工数が増え、結果として大きなリスクが生じることになります。つまり、要件定義を省略することは、時間とコストが膨大に膨らんでしまうリスクへとつながりやすいのです」(佐藤氏)
前述したように、要件定義とは、ものづくりの「What」に相当する部分であり、このプロセスを省略してしまうと、設計や実装の段階で、開発者が何を作れば良いか分からず、その都度確認が必要になる。これが原因となり、生産性が著しく低下し、プロジェクト全体が混乱する可能性が高まるのである。
「また、ノーコードでの開発やエンドユーザーコンピューティング(EUC)に依存しすぎると、システムがサイロ化し、ブラックボックス化するリスクもあります」(佐藤氏)
要件定義に必須の「3つのスキル」をチームで補え
要件定義を成功させるためには、開発側とビジネス側双方の協力が不可欠であり、そこではそれぞれに求められるスキルや役割も異なってくる。佐藤氏はこの点について、改めて次のように強調する。「ビジネス側は自分たちの事業や業務には詳しいですが、ITやシステムに関しては詳しくない場合がほとんどです。一方で、開発側はシステムに詳しいものの、ビジネス的な知識には乏しいことが多いです。このギャップを埋めるために、ビジネス側も開発に協力し、一緒に作り上げる姿勢が重要となります。ビジネス側に完全な専任の担当者を配置し、日常業務との兼務で対応するのではなく、迅速に開発側の問い合わせに応えられる体制を整えることが理想ではあります」(佐藤氏)
つまり要件定義は、ビジネス側が開発側に丸投げするのではなく、協力しながら進めていく体制づくりが大事なのだ。それができないと、現場ではコミュニケーション不足が発生してしまう。ミーティングの設定が難航したり、スケジュールに追われた結果、表面的な合意で進めてしまい、掘り下げが足りないまま手戻りが発生するケースが生じがちだ。
また、要件定義にはいくつかの重要なスキルが求められるが、これらを1人でカバーするのは難しいため、チームで補完し合うことが求められる。具体的には、以下の3つのスキルが挙げられる。
1.さまざまな要望をまとめるスキル
ステークホルダーにはそれぞれ異なるニーズがあるが、単にそれを集めるだけでは個別最適の寄せ集めになってしまう。ある部門のメリットが別の部門にとってのデメリットになることもあるため、全体最適を目指し、関係者間の合意を形成しながらゴールに導くスキルが求められる。
2.開発から運用までを一気通貫でイメージするスキル
要件を定義する際には、その実現にどれだけの機能やコストがかかるかをイメージしなければならない。これができないと、コストが大幅に超過してしまったり、実現不可能なシステムになってしまうことになる。
3.エコシステム全体を捉えるスキル
システムは単体で機能するものではなく、ヒト・モノ・カネ・情報・時間が循環する仕組みの中で動く。要件定義を行う際には、これら全体を見渡し、ビジネスが円滑に回るシステムを検討する力が求められる。
「要件定義は『急がば回れ』という言葉がまさに当てはまります。しっかりと要件定義を行うことで、長期的に見て安定したシステム運用が可能になるので、ぜひ要件定義をおろそかにしないでシステムを開発してほしいと思います」(佐藤氏)
関連コンテンツ
関連コンテンツ
PR
PR
PR