「RFP(提案依頼書)」「要件定義書」「要求仕様書」──。この三つの言葉を見て、その違いを明確に説明できるだろうか。筆者は、日経SYSTEMSという雑誌を担当して日々システム開発現場における開発手法や実務情報を記事としてまとめているが、この三つの用語には、定義に曖昧な部分があったり、違いが分かりにくい面があったりすると感じている。

 三つの用語が示すドキュメントはいずれも、ユーザーがどんなシステムを開発したいのかを記述したものだ。実は、筆者がこれまで普通に使っていた用語は、三つのうちRFPと要件定義書の二つ。これらについては、それなりに違いを理解しているつもりである。対して、要求仕様書という用語はあまり使っていなかった。

 ざっくりいえば、RFPはシステム開発を発注するベンダーを選定するために、どんなシステムを作りたいかを提示して、最適な提案をベンダーから引き出すためのもの。一方の要件定義書は、システム開発プロジェクトにおける要件定義フェーズのアウトプットとなるドキュメントで、機能要件、非機能要件など、後工程の設計に必要な情報を記述する。

RFPの業務要求と要件定義に書く内容は基本的に同じ

 では、RFPと要件定義書に書く内容はどう違うのか。これをきちんと説明するのは意外に難しい。

 要件定義は設計の基になる情報なので、一般的にはRFPよりも要件定義のほうが詳細な内容になる。しかし場合によっては、要件定義を終わらせた段階でRFPを書くケースもある。自社で要件定義まで行って、それをベースにベンダーに発注する場合だ。これができるのは一部の大手企業など限られたケースだが、そのまま設計に使えるレベルのRFPであれば、それに対するベンダーの提案も、より精度の高いものになるだろう。

 RFP作成支援などを手掛けるイントリーグの永井昭弘氏は、RFPに書く業務要求と要件定義について、「行う作業やアウトプットは基本的に同じ性質のもの」と指摘する。

 それでも、RFPと要件定義に書くべき内容は、きちんと区別すべきだ。「RFPと要件定義では、それぞれのドキュメントを書く目的が明確に違う」(永井氏)からだ。

 RFPの最終的な目的は「提案内容と見積もりから最適なベンダーを選定して調達を適正に行うこと」であり、要件定義は「システム開発の要求仕様を業務の観点から定義すること」が目的である。書く内容は、その目的を踏まえたものになる。永井氏は「RFPは詳細さよりも網羅性を重視し、要求の優先順位を明確にする。現行システムについて説明するときは、問題点だけでなく基本機能についてもきちんと記述する」と、作成時に最低限押さえておくべきポイントを挙げる。

定義が曖昧な要求仕様書

 残りの一つ、要求仕様書とは何か。筆者はこれまでこの言葉をあまり使ってこなかった。RFPと要件定義書ほどは、一般的に使われていないようにも感じている。まわりの記者やいくつかの取材先に聞いてみても、実ははっきりとした答えが得られなかった。