目次
要件定義とは何か
要件定義の目的は、単純に「何を作るか」を決めることではありません。
本質は、「何を実現するのか」「どこまで実施するのか」を明確にすることです。
システム開発では、業務要件からシステム要件へと落とし込み、その後に設計・開発へ進んでいきます。
要求と要件は違う
クライアントから聞いた内容を、そのまま要件にしてはいけません。
例えば「検索機能が欲しい」という要求があったとしても、その背景には「情報を探しにくい」「問い合わせが多い」「業務効率が悪い」といった本質的な課題が隠れている場合があります。
要件定義では、表面的な要求だけでなく、潜在的な要求まで引き出す必要があります。

要件定義は積み上げ型で進める
要件定義は一度で完成するものではありません。
ヒアリングを重ねながら、要件整理、承認、詳細化、再承認を繰り返して精度を上げていきます。
また、開発フェーズや運用フェーズでも要件が更新されることがあります。そのため、常に最新版を一元管理することが重要です。
機能一覧とは何か
機能一覧とは、「ユーザーが何をできるか」を整理した一覧です。
ここで重要なのは、開発者視点ではなく、ユーザー視点で整理することです。
機能一覧の粒度は「ユーザーの意思決定単位」
機能一覧を作る際に最も重要なのが、「ユーザーが1回の意思決定で利用する単位」で整理することです。
例えばECサイトの場合、以下のような粒度が適切です。
- ・注文を登録する
- ・注文を修正する
- ・注文をキャンセルする
- ・注文内容を確認する
一方で、以下のような項目は細かすぎます。
- ・注文画面表示
- ・注文入力
- ・入力チェック
- ・注文保存
- ・ステータス更新

機能一覧の粒度を判断する4つの基準
① ユーザー視点で意味が通るか
機能名だけで何ができるか分かる状態が理想です。
- ・NG:入力チェック
- ・NG:ステータス更新
- ・OK:注文を登録する
- ・OK:支払い状況を確認する
② 主要な操作と対応しているか
ユーザーが認識する主要な操作単位になっているかを確認します。
③ 業務として完結しているか
機能実行後に業務結果が発生している必要があります。
- ・NG:注文データを保存する
- ・OK:注文を登録する
④ 成功・失敗が判断できるか
機能には完了条件が必要です。
例えば「注文登録成功」「注文登録失敗」のように結果を判定できる状態になっていることが重要です。

機能名はVOで付ける
機能名はVO(Verb+Object)で付けることを推奨しています。
つまり、「何を」「どうする」の形式で整理するということです。
- ・注文を登録する
- ・申請を承認する
- ・請求書を出力する
- ・ユーザー情報を変更する

よくあるNG例
実装視点のNG例
- ・入力チェックを行う
- ・ステータスを更新する
UI視点のNG例
- ・ボタンを押下する
- ・画面を表示する
あいまいな表現のNG例
- ・情報を管理する
- ・注文を処理する

まとめ
良い機能一覧は、要件定義だけでなく設計・見積もり・開発・テストまで、プロジェクト全体の土台になります。
機能一覧を作る際は、以下の点を意識しましょう。
- ・ユーザー視点で考える
- ・業務として完結させる
- ・VO形式で命名する
- ・実装詳細を書かない
迷ったときは、「ユーザーが1回の意思決定で行う操作か?」という問いに立ち返ることが重要です。
この視点を持つことで、機能一覧の品質は大きく向上します。