要件定義
ようけんていぎ
Requirements Definition
一言でいうと
誰のために何を実現するかを言語化する、開発で最も重要な工程・文書のこと。
詳しい意味
要件定義は、開発に取りかかる前に「何のために、誰が、何ができれば嬉しいのか」を文書として言語化する作業、またはその成果物を指します。機能一覧、対象ユーザー、使われる場面、想定外時の挙動、優先順位(必須機能と「あると嬉しい」機能の区別)などをまとめます。要件定義で決めたことが仕様、設計、実装、テスト、運用のすべてを縛るため、ここが曖昧なまま進むと後の手戻りが膨大になります。「ここで全てが決まる」と言っても過言ではない、開発でもっとも重要な工程です。
何に使うか
新しいサービス・アプリの開発を開始するとき。既存システムに大きな機能追加をするとき。発注側と開発側で認識を揃えるとき。
どんな時に出るか
「要件定義書を共有してください」「要件が固まっていないのでまだ実装に入れません」「要件定義フェーズで認識ズレを潰しておきたい」といった場面で登場します。
具体例
- 要件定義の段階で「誰のためのサービスか」を明確にしないまま実装に入り、開発の終盤で大幅な作り直しが発生した。
- 発注側と開発側で要件定義書をレビューし、優先度の認識を揃えてからスケジュールを引いた。
別名・略称
要件定義書(ようけんていぎしょ)RD(あーるでぃー)
初心者向けメモ
家を建てる時の「どんな家にしたいか」のヒアリングと同じです。何人で住むのか、駐車場は要るか、書斎は欲しいかなど、ここで決めたことが間取りや構造のすべてに影響します。逆に、ここを飛ばして家を建て始めると、後から「やっぱり書斎が要る」と言われても壁を壊して作り直すしかなくなります。