20年以上にわたりシステム構築の現場で仕事をしてきた筆者の経験では、プロジェクトの失敗を探ると要件定義までの上流工程の問題に行き着くことが多い。定義した要求に過不足がある、要求の内容が誤解を生む表現になっている、整理が不十分なまま要求が個条書きされており整合が取れていない──。こうした事態が、みなさんの現場でも起こっていないだろうか。
利用部門などから要求を引き出して分析し、それを基にソリューションを立案してその妥当性を検証する。さらに、要求の変更を管理していく。ソリューション企画から要件定義までの上流工程を中心に、こうした要求にかかわる一連の作業をいかに行うかが、プロジェクト成功の大きなカギを握る。
しかし多くの現場には、要件定義までの上流工程について標準的な方法が存在せず、ITエンジニアの属人的スキルに頼っているのが実情だろう。スキルの高いITエンジニアが要件定義までの工程を担当するかどうかでプロジェクトの成否が決まる、というわけだ。
業務分析ですべきことを体系化
そこで注目する価値があるのが、「BABOK(Business Analysis Body Of Knowledge)」である。直訳すると「業務分析の知識体系」だが、ここでいう業務分析(ビジネスアナリシス)は、業務の流れを調査し改善点を見つけるといった“業務プロセスの分析”にとどまらない。
BABOKにおける業務分析を正確に表現すると、「組織が目的を遂行するための機能を定義し、必要な能力(プロダクト、サービス、機能など)を決めること」。つまり、要求の引き出しや分析、更新管理など、要求にかかわる作業全体を意味する。プロジェクトの工程で説明すると、ソリューション企画や要件定義などの上流工程でITエンジニアが行うことをほぼ網羅しており、設計、開発、テスト、運用の工程においても、要求の変更や要求に関する作業の進捗確認、ソリューションの成果検証などの点で関係する。
この広義の業務分析(以降では、ビジネスアナリシスと表す)における知識エリアと実施すべきことを体系化したのが、BABOKである。BABOKの普及促進団体であるIIBAに参加しているビジネスアナリシスの専門家が協力して作成した。
しばしば誤解があるが、BABOKは方法論やメソドロジーではない。ビジネスアナリシスで実施すべきことを定義しているだけで、それをどういう手順で行うかまでは定めていない。そのためBABOKを学んでも、どのようにビジネスアナリシスを進めればよいかは分からないだろう。しかしこれはBABOKの利点でもある。手順を定めていないからこそ、特定の方法論に依存しない。そのため、各現場が用いている従来のやり方を一から変える必要はなく、BABOKを基に段階的に改善していくことができる。
実際に、国内でも組織的にBABOKの活用を始める現場が出てきている。典型的な取り組みは、BABOKで定義された、ビジネスアナリシスで実施すべき活動(およびそれを構成するタスク)を参考にして、自分たちのソリューション企画や要件定義のやり方を検証し、作業の漏れや無駄を見つけて改善する、というもの。さらにBABOKをベースに、要件定義の標準的な方法論を作ろうとする現場もある。
BABOKでは、ビジネスアナリシスで実施すべきことに加えて、必要とされる個人的資質や行動特性などについても整理している。そのため、チームや個人におけるスキルアップの指針としても役立つはずだ。
以降では、BABOKの全体構成を紹介した上で、その根幹の知識エリアといえる「要求アナリシス」を例に、具体的にどんなことが書かれているのかを見ていく。さらに、BABOKで定義された要求の体系を紹介する。要求という言葉はさまざまな意味で使われるので、コミュニケーションミスを生みやすい。要求の定義を知ることは、きっと役に立つはずだ。