まずは仕様バグの一つ目「漏れ」をなくす知恵を見ていこう。

 漏れが起きる理由の一つは,エンドユーザーが要求を言い忘れることにある。例えば,サブシステムを追加したり,新システムにリプレースしたりするような案件の場合「エンドユーザーは新たに追加したい機能についての要求は出す。しかし,現行システムについては言及しない。『今のままで』で済まされてしまう。現行システムの仕様まで含めて要求を洗い出さなければならないので,これでは漏れが起きる」(CSKシステムズ IT生産技術部 副統括担当 白寄徹男氏)。

 そのほか,エンドユーザーは“言わずもがな”だと思っていることは言わないし,そもそも要求定義で何を言えばよいかが分からないこともある。

 漏れをなくすには,多くの要求をどうやって洗い出すか,業種/業務ごとに常識的な観点はきちんと考慮されているか,違う視点から見たら何か出てこないか――といったことがポイントになる。

自由に記述できる記法が有効

 チェンジビジョンの平鍋健児氏(代表取締役社長)は「要求定義は2段階に分けられる」と言う。最初は,エンドユーザーが使う単語や,エンジニアの頭の中のアイデアを集める段階。次に,集めた単語やアイデアを整理し,概念を定義したり概念間の関係を意味付けしたりする段階である。

 集める段階では,自由に記述できる記法を使うとよい。マインドマップや魚の骨図(注1)などが有効だ(図4)。「マインドマップは一つのテーマから派生する情報を記述し,それらの関連を持たせながら頭の中の情報を洗い出すのに有効だ」(チェンジビジョン TRICHORD開発部 水越明哉氏)。

図4●ITエンジニアも各種分析図を利用している
図4●ITエンジニアも各種分析図を利用している
要求を漏れなく集めるには,思い付いたことを自由に記述できる図が有効。左はチェンジビジョンの水越氏が開発チーム内で議論したもの。右はグローバルナレッジネットワークによる特性要因図のサンプル
[画像のクリックで拡大表示]

 金融機関のシステム開発を得意とするSIベンダー パワーソリューションズの高橋忠郎氏(システムコンサルティング部 資産運用システム開発グループ 上級コンサルタント)は,エンドユーザーへのヒアリング時にマインドマップを利用する。「(マインドマップに)書いていないものは想定外と言えるまで,要求を出し尽くす」(同氏)ことを心がけている。