目次

    要件定義とは何か

    要件定義の目的は、単純に「何を作るか」を決めることではありません。
    本質は、「何を実現するのか」「どこまで実施するのか」を明確にすることです。
    システム開発では、業務要件からシステム要件へと落とし込み、その後に設計・開発へ進んでいきます。

    要求と要件は違う

    クライアントから聞いた内容を、そのまま要件にしてはいけません。
    例えば「検索機能が欲しい」という要求があったとしても、その背景には「情報を探しにくい」「問い合わせが多い」「業務効率が悪い」といった本質的な課題が隠れている場合があります。

    要件定義では、表面的な要求だけでなく、潜在的な要求まで引き出す必要があります。

    要件定義は積み上げ型で進める

    要件定義は一度で完成するものではありません。
    ヒアリングを重ねながら、要件整理、承認、詳細化、再承認を繰り返して精度を上げていきます。
    また、開発フェーズや運用フェーズでも要件が更新されることがあります。そのため、常に最新版を一元管理することが重要です。

    機能一覧とは何か

    機能一覧とは、「ユーザーが何をできるか」を整理した一覧です。
    ここで重要なのは、開発者視点ではなく、ユーザー視点で整理することです。

    機能一覧の粒度は「ユーザーの意思決定単位」

    機能一覧を作る際に最も重要なのが、「ユーザーが1回の意思決定で利用する単位」で整理することです。

    例えばECサイトの場合、以下のような粒度が適切です。

    • ・注文を登録する
    • ・注文を修正する
    • ・注文をキャンセルする
    • ・注文内容を確認する

    一方で、以下のような項目は細かすぎます。

    • ・注文画面表示
    • ・注文入力
    • ・入力チェック
    • ・注文保存
    • ・ステータス更新

    機能一覧の粒度を判断する4つの基準

    ① ユーザー視点で意味が通るか

    機能名だけで何ができるか分かる状態が理想です。

    • ・NG:入力チェック
    • ・NG:ステータス更新
    • ・OK:注文を登録する
    • ・OK:支払い状況を確認する

    ② 主要な操作と対応しているか

    ユーザーが認識する主要な操作単位になっているかを確認します。

    ③ 業務として完結しているか

    機能実行後に業務結果が発生している必要があります。

    • ・NG:注文データを保存する
    • ・OK:注文を登録する

    ④ 成功・失敗が判断できるか

    機能には完了条件が必要です。
    例えば「注文登録成功」「注文登録失敗」のように結果を判定できる状態になっていることが重要です。

    機能名はVOで付ける

    機能名はVO(Verb+Object)で付けることを推奨しています。
    つまり、「何を」「どうする」の形式で整理するということです。

    • ・注文を登録する
    • ・申請を承認する
    • ・請求書を出力する
    • ・ユーザー情報を変更する

    よくあるNG例

    実装視点のNG例

    • ・入力チェックを行う
    • ・ステータスを更新する

    UI視点のNG例

    • ・ボタンを押下する
    • ・画面を表示する

    あいまいな表現のNG例

    • ・情報を管理する
    • ・注文を処理する

    まとめ

    良い機能一覧は、要件定義だけでなく設計・見積もり・開発・テストまで、プロジェクト全体の土台になります。

    機能一覧を作る際は、以下の点を意識しましょう。

    • ・ユーザー視点で考える
    • ・業務として完結させる
    • ・VO形式で命名する
    • ・実装詳細を書かない

    迷ったときは、「ユーザーが1回の意思決定で行う操作か?」という問いに立ち返ることが重要です。
    この視点を持つことで、機能一覧の品質は大きく向上します。


    PREV
    2026.06.16
    システム開発におけるテストの重要性