昨今、ソフトウエア開発の分野では、「BA(ビジネスアナリシス)」が注目されるようになってきました。BAは、システム化の前段階で、要求分析や業務分析を通じて、システムの担うべき役割を導き出す活動のことです。2009年8月には、IIBA(International Institute of Business Analysis)日本支部がBAの知識体系をまとめた「BABOK(Business Analysis Body of Knowledge)」の翻訳本を発売しました。これをきっかけに、BAはますますホットな話題となってきています。

 本連載では、このBAを実践するための具体的な方法である「要求開発」について、その概要から、プロジェクトへの適用方法までを解説します。これからBAを実践したいと考えている人は、ぜひ参考にしてください。第1回は、イントロダクションとして、BAが重視される背景と、要求開発の概要について説明します。

“正しい要求”を獲得できないと、プロジェクトは失敗する

 なぜ今、BAが重視されているのでしょうか。その背景として、システム開発プロジェクトの現状についてみていきましょう。

 一般に、ユーザーが要求した通りのシステムを、当初予算の範囲内で、予定した期日までに完成することができた場合、そのシステム開発プロジェクトは成功したとみなされます。しかし、雑誌「日経コンピュータ」の「第2回プロジェクト実態調査」によれば、日本国内におけるシステム開発プロジェクトの成功率は31%で、なんと約7割のプロジェクトが失敗しています。

 もちろん、プロジェクトが失敗する原因は様々ですが、最近は、「システム企画」や「要件定義」といった上流工程に原因があるケースが増えています。ここで、「システム企画」とは、ユーザーの要求を整理し、システム化の範囲とシステム化構想を策定するプロセス。「要件定義」とは、システム化対象範囲の業務や仕様を明確化したうえで、システム化の範囲とその機能を具体的に定義するプロセスのことです。

 特に目立つのが、システム企画や要件定義が不十分なために“正しい要求”が獲得できず、“間違った要求”や“過剰な要求”に基づいてシステムを開発するケースです。これでは、いくら開発段階で上手く作っても、テスト段階で問題が露呈したり、余計な機能まで作り込んだりすることになり、品質、納期、コストを守れません。システム開発プロジェクトの成功率を高め、狙い通りの効果を得るには、システム企画や要件定義のプロセスで正しい要求を獲得する必要があるのです。

論理的に要求を組み立てる

 ではなぜ、正しい要求を獲得できないのでしょうか。

 その大きな理由は、「ユーザーが要求を持っている」という前提でシステム企画や要件定義を実施していることです。

 「ユーザーが要求を持っている」という前提に立つと、「ユーザーから要求をヒアリングしてそれを要件定義書として取りまとめ開発者に伝えさえすれば、正しいシステムが出来上がる」と考えがちです。

 しかし、ユーザーからヒアリングした要求は、その個人が携わる業務の範囲内の要求であり、全体を見通したものではありません。個人の理解の範囲内で生まれた属人的、場当たり的、直観的なものです。要求の内容も、ヒアリングしたときの個人の関心事に左右されます。例えば,ヒアリング前日に発生したトラブルについては、それがたとえレアケースであったとしても、プロジェクトの主要テーマであるかのように語られます。こうした個人の属人的な要求を単につなぎ合わせても、正しい要求にはなりません。

 そうではなく、プロジェクトのステークホルダー(利害関係者)を正しく認識し、重要なステークホルダーから情報を引き出したうえで、獲得した情報を分析し、論理的に要求を組み立てる必要があるのです。それにより、ヒアリングでは見えてこない、隠された本質的な要求にも気づくことができます。