MENU
スポンサーリンク
スポンサーリンク
スポンサーリンク

要件定義とは何か?意味や目的とプロセスをやさしく解説

当ページのリンクには広告が含まれています。
要件定義とは何か?意味や目的とプロセスをやさしく解説

新しい業務システムの企画会議で曖昧なまま議論が進み気づけば「とりあえず今の業務ができるシステムを作ってください」とだけ伝わってしまい本当に決めるべきことが何か分からなくなって困る場面があります。
その混乱を防ぐためにあるのが要件定義という工程ですが意味や目的プロセスの全体像がぼんやりしているとベンダーや社内メンバーとの認識がずれやすくなります。
この記事では要件定義の基本的な考え方から実務での進め方までを初心者の方にもイメージしやすいよう順を追って整理します。

この記事でわかること

・要件定義の基本的な意味と目的の全体像
・要求定義との違いやシステム開発プロセスでの位置付け
・現場で使える要件定義の進め方と主要ステップ
・要件定義で起こりがちな失敗パターンと対策

目次

要件定義の意味と目的を整理する

この章では要件定義がそもそも何をする工程なのかを整理します。
似た用語との違いやシステム開発全体の中での位置付けを理解するとどこまでを要件定義で決めるべきかが見えてきます。

結論として押さえたい要件定義の要点3つ

最初に要件定義の要点を三つに絞って整理します。

1つ目の要点はビジネスの目的を満たすためにシステムが果たすべき役割を言葉で明らかにする工程だということです。
「新しい販売管理システムを入れたい」ではなく「在庫の滞留を減らし粗利率を改善するためにどのような情報がいつ誰に見えるべきか」を言語化していくイメージです。

2つ目の要点はその目的を実現するために必要な機能や性能などを漏れなく整理し合意する工程であることです。
画面や帳票だけでなくレスポンス時間や稼働時間セキュリティ運用体制なども含めて関係者全員が納得できる形にまとめます。

3つ目の要点は以降の設計開発テストの共通土台となる「約束事」を文書として残す工程だという点です。
ここが曖昧だと後工程で「そんなつもりではなかった」という手戻りが発生しやすくなりコストやスケジュールへの影響が大きくなります。

要件定義とは何かをわかりやすく説明

要件定義とはシステム開発において上流工程に位置する作業でありシステム利用者のニーズや課題を整理しそれをシステムに求める具体的な要件としてまとめていく工程です。
独立行政法人情報処理推進機構では要件定義を企画と基本設計の間に位置づけ利用者の要求を分析しステークホルダーと合意して要件としてまとめる工程と説明しています。
(出典:IPA DX SQUARE) (DX SQUARE)

企業向けの解説ではシステム要件定義をシステムに搭載する機能必要な性能運用体制開発スケジュールなどシステム開発の詳細な計画を決める工程と説明しており通常は略して要件定義と呼ぶことが多くなっています。
(出典:THE CONSUL) (THE CONSUL – フリーコンサルタントのマッチングプラットフォーム)

例えば「ECサイトを作りたい」というざっくりした要望があったとします。
要件定義では「会員登録なしでも購入できるのか」「注文受付の締め時間は何時か」「倉庫側の在庫更新はどのタイミングか」といった具体的な条件まで掘り下げそれらをシステム側でどう扱うかまで含めて整理していきます。

要求定義との違いと前提関係

要件定義と混同されやすい用語に要求定義があります。
一般的には要求定義が「ビジネスとして何を実現したいのか」を整理する工程で要件定義が「その要求を実現するためにシステムとして何を実装するか」を決める工程という関係になります。

業務側が「残業時間を減らしたい」「二重入力をなくしたい」といった業務上の要求をまとめるのが要求定義です。
その結果として「勤怠情報を日次で自動集計できること」「同じデータを複数のシステムに入力しなくてよいこと」といったシステムに対する要件へと落とし込んでいくのが要件定義です。

経験上多くの現場では要求定義と要件定義をきっちり分けず「要件定義の中で両方を一緒にやる」ケースも少なくありません。
その場合でも「業務の目的を決めるフェーズ」と「システムの仕様を決めるフェーズ」を意識的に切り分けることが判断を整理するうえで役に立ちます。

要件定義の目的と期待される効果

要件定義の目的は大きく三つに整理できます。

1つ目はシステム開発の方向性を関係者で共有し認識のズレを減らすことです。
ビジネス側とIT側で「当たり前」が違うため言葉にしてみると意外なギャップが見つかることがよくあります。

2つ目は品質コスト納期のバランスを取るための意思決定材料を揃えることです。
例えば「レスポンスは1秒以内か3秒以内か」「障害時の復旧時間をどこまで求めるか」など要件レベルでの決定がそのまま必要な投資額や開発期間に影響します。

3つ目は後工程の手戻りを減らしプロジェクトの成功確率を高めることです。
統計的にもシステム開発の遅延理由の多くが要件定義フェーズに起因するとされており上流工程での整理がプロジェクト全体のリスク低減につながります。
(出典:IPA DX SQUARE) (DX SQUARE)

現場では「とりあえず作ってから考えよう」というスタートをした結果リリース直前に根本的な仕様変更が入りスケジュールもコストも膨らむというケースがよく見られます。
こうした事態を避けるための保険が丁寧な要件定義だと考えるとイメージしやすくなります。

どの範囲までを要件定義とみなすかの判断基準

どこまでを要件定義と呼ぶかは企業やプロジェクトによって多少異なります。
そこで判断基準を三つの観点で考えると整理しやすくなります。

1つ目の観点は決める内容が「何をするか」に関するものか「どう作るか」に関するものかです。
一般的に「何をするか」を決める範囲は要件定義「どう作るか」を決める範囲は設計と呼ばれることが多くなります。

2つ目の観点は合意すべき相手が誰かです。
ビジネス側の責任者を含むステークホルダーと合意すべき事項は要件定義で扱うことが多く開発チーム内で技術的に決めればよいことは設計以降に回すという切り分けが現場ではよく採用されています。

3つ目の観点は変更コストの大きさです。
後から変更すると影響が大きい項目ほど早い段階つまり要件定義で方向性を決めておく価値が高くなります。
例えば「課金方式」や「利用者数の想定」「外部システムとの連携方針」などはインフラや契約に直結するため早めの合意が重要です。

よくある誤解と上流工程との関係

要件定義については現場でいくつかの誤解が広がりやすいポイントがあります。

一つは「要件定義はIT部門やベンダーの仕事であり業務部門は決めてもらったものを確認するだけでよい」という誤解です。
IPAのガイドではシステムの要件を定義する責任はシステムを利用してビジネスに貢献するユーザ側にあるとされており業務部門が主体的に関与することの重要性が強調されています。
(出典:IPA ユーザのための要件定義ガイド) (IPA)

もう一つは「要件定義書という文書さえ作ればよい」という誤解です。
実際には関係者との認識合わせと合意形成のプロセスこそが要件定義の本質でありドキュメントはその結果を残す手段に過ぎません。

例えば次のような会話は現場でよく聞かれます。

業務部長「要件定義はもう終わったんですよね。
ドキュメントもありますし。」
開発側「はい作成はしましたが内容のレビューが経営層まで回っておらず承認はまだです。」

このような状態は形式上要件定義が終わっているように見えても実質的な合意が取れておらず後から大きな変更が入りやすい状況と言えます。

要件定義の進め方と実務のポイント

ここからは実際に要件定義をどのような流れで進めていくのかを解説します。
プロジェクトによって詳細は変わりますが全体像をつかんでおくことで自社の状況に合わせたアレンジがしやすくなります。

要件定義プロセス全体像と主なステップ

システム開発のライフサイクルは一般的に企画要件定義設計開発テスト導入運用といったフェーズに分けて説明されます。
この中で要件定義は企画と設計の間に位置し「何を作るのかどんな機能が必要かを明確にする」ことを担います。
(出典:名古屋商工会議所 PIT-N SDLC解説) (Pit-Nagoya 名古屋中小企業IT化推進コンソーシアム)

要件定義のプロセスをシンプルに整理すると次のようなステップになります。

  1. プロジェクトの目的とスコープの確認
  2. 現状業務と課題の整理
  3. 業務要件・ビジネスルールの洗い出し
  4. システム化方針の検討と代替案の比較
  5. 機能要件と非機能要件の整理
  6. 要件定義書の作成とレビュー
  7. 関係者による合意と変更管理ルールの設定

判断基準としては「このステップを飛ばしたときに後でどれだけ手戻りが増えそうか」を考えると優先度をつけやすくなります。
例えば小規模な改修であっても影響範囲が広い場合は現状業務の整理と影響分析に時間をかける価値が高くなります。

ヒアリングと現状把握で意識したいポイント

要件定義の初期段階では現状業務のヒアリングや課題の洗い出しを行います。
ここでのポイントは理想の姿だけでなく今のやり方と制約条件を丁寧に聞き出すことです。

例えば販売管理システムの刷新で現場の担当者にヒアリングする場合次のような聞き方の違いが結果に大きく影響します。

担当者A「今のシステムで困っていることは何ですか。」
担当者B「終業間際に注文が集中するときにどんな作業が発生していてどこで時間がかかっていますか。」

後者のように具体的な場面を描きながら聞くことで単に「遅い」「使いにくい」といった抽象的な不満ではなく「締め時間を過ぎた注文の扱いが手作業になっている」といった改善の糸口になる情報を引き出しやすくなります。

現場でよく見られるのはヒアリングシートの質問項目をそのまま読み上げるだけで終わってしまい実際の業務の流れや例外パターンが十分に聞き取れていないケースです。
判断基準としてはヒアリング結果だけを読んで第三者が業務の1日の流れをイメージできるかどうかを目安にするとよいでしょう。

機能要件と非機能要件を整理するコツ

要件定義では機能要件と非機能要件を分けて整理するのが一般的です。
機能要件は画面や帳票バッチ処理など「何ができるか」に関する要件で非機能要件は性能信頼性セキュリティ運用性など「どのように動くべきか」に関する要件です。

特に非機能要件は後から見直そうとするとインフラ構成や製品選定のやり直しにつながることが多く上流工程での検討が重要とされています。
IPAでは非機能要求グレードなどの資料を通じて可用性性能拡張性などの観点を体系的に整理するための枠組みを提供しています。
(出典:IPA システム構築の上流工程強化) (IPA)

実務的なコツとしては次のような切り口で一覧にしていくと漏れを減らせます。

・利用者数と同時アクセス数の想定
・応答時間やバッチ処理時間の目標値
・稼働時間とメンテナンス時間の設定
・障害発生時の復旧時間とデータ損失許容範囲
・ログ取得や監査証跡の要件
・権限管理や個人情報保護の方針

例えば「できるだけ速くしてほしい」という要望をそのまま要件にしてしまうと後でトラブルになりやすくなります。
「メニュー画面は3秒以内詳細画面は5秒以内」といったように画面や処理の種類ごとに具体的な数値で合意しておくことが重要です。

要件定義書にまとめるときの観点と粒度

要件定義の成果物として多くのプロジェクトで要件定義書が作成されます。
形式は各社さまざまですが一般的には次のような構成がよく使われます。

・システムの目的背景前提条件
・業務フローやユースケース図
・機能一覧と機能ごとの詳細要件
・画面帳票やインタフェースの要件
・非機能要件の一覧
・データ項目やマスタの概要
・運用保守体制と移行方針

粒度の判断基準としては「この要件さえあれば設計チームが具体的な設計を進められるかどうか」を目安にします。
具体的なSQLやテーブル設計といったレベルまで要件定義書に書き込んでしまうと設計との境界があいまいになり過ぎて後からの変更が難しくなるため注意が必要です。

例えば「売上レポートを出力できること」という一文だけでは設計者は詳細設計に進めません。
「期間店舗商品カテゴリ単位で絞り込みができ合計売上数量粗利が表示されること」といったレベルまで整理されていると設計側で具体的なレイアウトや集計ロジックを検討しやすくなります。

合意形成と変更管理の進め方

要件定義でまとめた内容は関係者の合意を経て初めて意味を持ちます。
ここでは誰がどこまでを承認するのかを早い段階で決めておくことが重要です。

例えば次のようなレベル分けが考えられます。

・ビジネス上の目的や投資額に関わる内容は経営層や事業責任者が承認する
・業務フローや運用体制は部門長クラスが承認する
・画面項目の細かい内容は現場リーダーがレビューする

また要件はプロジェクトの進行に伴い変わる可能性があります。
そのため変更が発生したときのルールをあらかじめ決めておくことが大切です。
変更の受付窓口影響分析の手順どのレベルの変更なら誰の承認でよいかといったルールを簡単でもよいので文書化しておくとトラブルを減らせます。

現場ではよく次のような状況が起こります。

現場担当「この画面に1項目追加するだけなので簡単ですよね。」
開発側「その1項目のためにデータベースの構造変更や他画面の修正が必要で影響が広がります。」

このギャップを埋めるには変更内容のビジネス価値と影響コストを比較できる形で示し合意することが重要です。

要件定義でありがちな失敗パターンと対策

要件定義で起こりがちな失敗にはいくつかの共通パターンがあります。

一つ目は決裁権を持つ人が議論の場に参加していないまま詳細が決まってしまうパターンです。
この場合リリース直前になって「実はこの機能はいらない」「もっと別の業務を優先したい」といった方向転換が入りやすくなります。
対策としては重要なマイルストーンごとに決裁者を含むレビューの場を設定しておくことが挙げられます。

二つ目は現場業務の実態が十分に把握できておらず例外パターンへの対応が漏れるパターンです。
例えば「返品はほとんどないので考慮しなくてよい」と判断した結果まれに発生する高額商品の返品処理がシステム上は不可能になってしまうといったケースがあります。
対策としては「発生頻度は低いが発生すると影響が大きいケース」を意識的に洗い出し要件として検討することが重要です。

三つ目は用語の定義が曖昧なまま議論が進んでしまうパターンです。
「取引先」「顧客」「ユーザー」など似た言葉でも部門によって指している範囲が異なることがあります。
プロジェクトの早い段階で用語集を作成し関係者で共有しておくと後の混乱を減らせます。

これらの失敗パターンを完全に避けることは難しいもののどこで問題になりやすいかをあらかじめ知っておくこと自体がリスク低減につながると言えます。
また契約や法律会計処理など専門性の高い論点が絡む場合は社内外の専門家に相談しながら要件を詰めることも検討すべきです。

よくある質問

Q 要件定義と設計の境目が分かりません。
どこまで決めれば要件定義と考えられますか。

A 一般的には「何を実現するか」を決めるところまでが要件定義「どう実現するか」を決めるところからが設計とされることが多いです。
画面のレイアウトの細部やテーブル設計など技術的な具体化は設計側で詰める前提としビジネス的な意味で必要な情報や処理の単位を要件として整理すると境目を引きやすくなります。

Q 小さい改修でも要件定義は必要ですか。

A 小規模な改修であっても「なぜその変更を行うのか」「どの業務にどう影響するのか」といった観点から簡易的な要件定義は行った方がよいと考えられます。
特に既存システムへの影響範囲が読みづらい場合や法令対応を伴う場合は後からの手戻りを避けるためにも変更目的と期待する効果を整理しておくことが重要です。

Q 要件定義書のテンプレートがなくても始められますか。

A テンプレートがあると漏れを防ぎやすくなりますが絶対条件ではありません。
まずは目的背景業務フロー機能一覧非機能要件の五つの観点を箇条書きで整理し不足している視点がないかを確認するところから始めるとよいでしょう。
そのうえで自社に合った項目構成を徐々に整えていく方法が現実的です。

Q アジャイル開発でも要件定義は必要ですか。

A アジャイルでは詳細な要件を最初からすべて決めるのではなく優先度の高い機能から順に詳細化していくのが一般的です。
それでもプロダクト全体として目指すゴールや守るべき制約条件を整理する上位レベルの要件定義は必要でありそのうえでイテレーションごとに要件を具体化していくイメージになります。

要件定義の目的と進め方の全体像についてのまとめ

・要件定義はビジネス目的を満たすためにシステムの役割を言語化する工程
・機能要件と非機能要件を整理し設計開発テストの共通土台を作ることが主な役割
・要求定義は何を達成したいか要件定義はどうシステムで実現するかを決めるイメージ
・どこまでを要件定義とするかは何をするかとどう作るかの境界で判断する
・投資額や影響範囲が大きいテーマほど要件定義で方向性を決める価値が高い
・ヒアリングでは抽象的な不満だけでなく具体的な場面と制約条件を聞き出すことが重要
・機能要件と非機能要件を分けて一覧化すると漏れのチェックがしやすくなる
・非機能要件は後からの変更コストが高いため上流での検討と合意が特に重要になる
・要件定義書の粒度は設計チームが具体化を進められるかどうかを基準に決める
・合意形成では誰がどのレベルの要件を承認するかをあらかじめ決めておく
・要件変更の受付窓口と影響分析の手順を決め変更管理のルールを共有しておく
・決裁者が議論に参加していない状態や用語定義の曖昧さは典型的な失敗要因となる
・頻度は低くても影響の大きい例外ケースを意識的に洗い出すことがリスク低減につながる
・小さな改修でも目的と影響範囲を簡易に整理することで後の手戻りを減らせる
・プロジェクトの特性に応じて方法をアレンジしつつ要件定義の本質は合意形成にあると意識する

要件定義の目的と進め方が一気にわかる入門
初めての要件定義 全体像と実務の進め方ガイド
要件定義とは何か 目的とプロセスをやさしく解説
失敗しない要件定義の考え方と進め方の全体像
プロジェクトを成功に導く要件定義の基礎と手順

新しい業務システムの企画会議で曖昧なまま議論が進み気づけば「とりあえず今の業務ができるシステムを作ってください」とだけ伝わってしまい本当に決めるべきことが何か分からなくなって困る場面があります。
その混乱を防ぐためにあるのが要件定義という工程ですが意味や目的プロセスの全体像がぼんやりしているとベンダーや社内メンバーとの認識がずれやすくなります。
この記事では要件定義の基本的な考え方から実務での進め方までを初心者の方にもイメージしやすいよう順を追って整理します。

・要件定義の基本的な意味と目的の全体像
・要求定義との違いやシステム開発プロセスでの位置付け
・現場で使える要件定義の進め方と主要ステップ
・要件定義で起こりがちな失敗パターンと対策

要件定義の意味と目的を整理する

この章では要件定義がそもそも何をする工程なのかを整理します。
似た用語との違いやシステム開発全体の中での位置付けを理解するとどこまでを要件定義で決めるべきかが見えてきます。

結論として押さえたい要件定義の要点3つ

最初に要件定義の要点を三つに絞って整理します。

1つ目の要点はビジネスの目的を満たすためにシステムが果たすべき役割を言葉で明らかにする工程だということです。
「新しい販売管理システムを入れたい」ではなく「在庫の滞留を減らし粗利率を改善するためにどのような情報がいつ誰に見えるべきか」を言語化していくイメージです。

2つ目の要点はその目的を実現するために必要な機能や性能などを漏れなく整理し合意する工程であることです。
画面や帳票だけでなくレスポンス時間や稼働時間セキュリティ運用体制なども含めて関係者全員が納得できる形にまとめます。

3つ目の要点は以降の設計開発テストの共通土台となる「約束事」を文書として残す工程だという点です。
ここが曖昧だと後工程で「そんなつもりではなかった」という手戻りが発生しやすくなりコストやスケジュールへの影響が大きくなります。

要件定義とは何かをわかりやすく説明

要件定義とはシステム開発において上流工程に位置する作業でありシステム利用者のニーズや課題を整理しそれをシステムに求める具体的な要件としてまとめていく工程です。
独立行政法人情報処理推進機構では要件定義を企画と基本設計の間に位置づけ利用者の要求を分析しステークホルダーと合意して要件としてまとめる工程と説明しています。
(出典:IPA DX SQUARE) (DX SQUARE)

企業向けの解説ではシステム要件定義をシステムに搭載する機能必要な性能運用体制開発スケジュールなどシステム開発の詳細な計画を決める工程と説明しており通常は略して要件定義と呼ぶことが多くなっています。
(出典:THE CONSUL) (THE CONSUL – フリーコンサルタントのマッチングプラットフォーム)

例えば「ECサイトを作りたい」というざっくりした要望があったとします。
要件定義では「会員登録なしでも購入できるのか」「注文受付の締め時間は何時か」「倉庫側の在庫更新はどのタイミングか」といった具体的な条件まで掘り下げそれらをシステム側でどう扱うかまで含めて整理していきます。

要求定義との違いと前提関係

要件定義と混同されやすい用語に要求定義があります。
一般的には要求定義が「ビジネスとして何を実現したいのか」を整理する工程で要件定義が「その要求を実現するためにシステムとして何を実装するか」を決める工程という関係になります。

業務側が「残業時間を減らしたい」「二重入力をなくしたい」といった業務上の要求をまとめるのが要求定義です。
その結果として「勤怠情報を日次で自動集計できること」「同じデータを複数のシステムに入力しなくてよいこと」といったシステムに対する要件へと落とし込んでいくのが要件定義です。

経験上多くの現場では要求定義と要件定義をきっちり分けず「要件定義の中で両方を一緒にやる」ケースも少なくありません。
その場合でも「業務の目的を決めるフェーズ」と「システムの仕様を決めるフェーズ」を意識的に切り分けることが判断を整理するうえで役に立ちます。

要件定義の目的と期待される効果

要件定義の目的は大きく三つに整理できます。

1つ目はシステム開発の方向性を関係者で共有し認識のズレを減らすことです。
ビジネス側とIT側で「当たり前」が違うため言葉にしてみると意外なギャップが見つかることがよくあります。

2つ目は品質コスト納期のバランスを取るための意思決定材料を揃えることです。
例えば「レスポンスは1秒以内か3秒以内か」「障害時の復旧時間をどこまで求めるか」など要件レベルでの決定がそのまま必要な投資額や開発期間に影響します。

3つ目は後工程の手戻りを減らしプロジェクトの成功確率を高めることです。
統計的にもシステム開発の遅延理由の多くが要件定義フェーズに起因するとされており上流工程での整理がプロジェクト全体のリスク低減につながります。
(出典:IPA DX SQUARE) (DX SQUARE)

現場では「とりあえず作ってから考えよう」というスタートをした結果リリース直前に根本的な仕様変更が入りスケジュールもコストも膨らむというケースがよく見られます。
こうした事態を避けるための保険が丁寧な要件定義だと考えるとイメージしやすくなります。

どの範囲までを要件定義とみなすかの判断基準

どこまでを要件定義と呼ぶかは企業やプロジェクトによって多少異なります。
そこで判断基準を三つの観点で考えると整理しやすくなります。

1つ目の観点は決める内容が「何をするか」に関するものか「どう作るか」に関するものかです。
一般的に「何をするか」を決める範囲は要件定義「どう作るか」を決める範囲は設計と呼ばれることが多くなります。

2つ目の観点は合意すべき相手が誰かです。
ビジネス側の責任者を含むステークホルダーと合意すべき事項は要件定義で扱うことが多く開発チーム内で技術的に決めればよいことは設計以降に回すという切り分けが現場ではよく採用されています。

3つ目の観点は変更コストの大きさです。
後から変更すると影響が大きい項目ほど早い段階つまり要件定義で方向性を決めておく価値が高くなります。
例えば「課金方式」や「利用者数の想定」「外部システムとの連携方針」などはインフラや契約に直結するため早めの合意が重要です。

よくある誤解と上流工程との関係

要件定義については現場でいくつかの誤解が広がりやすいポイントがあります。

一つは「要件定義はIT部門やベンダーの仕事であり業務部門は決めてもらったものを確認するだけでよい」という誤解です。
IPAのガイドではシステムの要件を定義する責任はシステムを利用してビジネスに貢献するユーザ側にあるとされており業務部門が主体的に関与することの重要性が強調されています。
(出典:IPA ユーザのための要件定義ガイド) (IPA)

もう一つは「要件定義書という文書さえ作ればよい」という誤解です。
実際には関係者との認識合わせと合意形成のプロセスこそが要件定義の本質でありドキュメントはその結果を残す手段に過ぎません。

例えば次のような会話は現場でよく聞かれます。

業務部長「要件定義はもう終わったんですよね。
ドキュメントもありますし。」
開発側「はい作成はしましたが内容のレビューが経営層まで回っておらず承認はまだです。」

このような状態は形式上要件定義が終わっているように見えても実質的な合意が取れておらず後から大きな変更が入りやすい状況と言えます。

要件定義の進め方と実務のポイント

ここからは実際に要件定義をどのような流れで進めていくのかを解説します。
プロジェクトによって詳細は変わりますが全体像をつかんでおくことで自社の状況に合わせたアレンジがしやすくなります。

要件定義プロセス全体像と主なステップ

システム開発のライフサイクルは一般的に企画要件定義設計開発テスト導入運用といったフェーズに分けて説明されます。
この中で要件定義は企画と設計の間に位置し「何を作るのかどんな機能が必要かを明確にする」ことを担います。
(出典:名古屋商工会議所 PIT-N SDLC解説) (Pit-Nagoya 名古屋中小企業IT化推進コンソーシアム)

要件定義のプロセスをシンプルに整理すると次のようなステップになります。

  1. プロジェクトの目的とスコープの確認
  2. 現状業務と課題の整理
  3. 業務要件・ビジネスルールの洗い出し
  4. システム化方針の検討と代替案の比較
  5. 機能要件と非機能要件の整理
  6. 要件定義書の作成とレビュー
  7. 関係者による合意と変更管理ルールの設定

判断基準としては「このステップを飛ばしたときに後でどれだけ手戻りが増えそうか」を考えると優先度をつけやすくなります。
例えば小規模な改修であっても影響範囲が広い場合は現状業務の整理と影響分析に時間をかける価値が高くなります。

ヒアリングと現状把握で意識したいポイント

要件定義の初期段階では現状業務のヒアリングや課題の洗い出しを行います。
ここでのポイントは理想の姿だけでなく今のやり方と制約条件を丁寧に聞き出すことです。

例えば販売管理システムの刷新で現場の担当者にヒアリングする場合次のような聞き方の違いが結果に大きく影響します。

担当者A「今のシステムで困っていることは何ですか。」
担当者B「終業間際に注文が集中するときにどんな作業が発生していてどこで時間がかかっていますか。」

後者のように具体的な場面を描きながら聞くことで単に「遅い」「使いにくい」といった抽象的な不満ではなく「締め時間を過ぎた注文の扱いが手作業になっている」といった改善の糸口になる情報を引き出しやすくなります。

現場でよく見られるのはヒアリングシートの質問項目をそのまま読み上げるだけで終わってしまい実際の業務の流れや例外パターンが十分に聞き取れていないケースです。
判断基準としてはヒアリング結果だけを読んで第三者が業務の1日の流れをイメージできるかどうかを目安にするとよいでしょう。

機能要件と非機能要件を整理するコツ

要件定義では機能要件と非機能要件を分けて整理するのが一般的です。
機能要件は画面や帳票バッチ処理など「何ができるか」に関する要件で非機能要件は性能信頼性セキュリティ運用性など「どのように動くべきか」に関する要件です。

特に非機能要件は後から見直そうとするとインフラ構成や製品選定のやり直しにつながることが多く上流工程での検討が重要とされています。
IPAでは非機能要求グレードなどの資料を通じて可用性性能拡張性などの観点を体系的に整理するための枠組みを提供しています。
(出典:IPA システム構築の上流工程強化) (IPA)

実務的なコツとしては次のような切り口で一覧にしていくと漏れを減らせます。

・利用者数と同時アクセス数の想定
・応答時間やバッチ処理時間の目標値
・稼働時間とメンテナンス時間の設定
・障害発生時の復旧時間とデータ損失許容範囲
・ログ取得や監査証跡の要件
・権限管理や個人情報保護の方針

例えば「できるだけ速くしてほしい」という要望をそのまま要件にしてしまうと後でトラブルになりやすくなります。
「メニュー画面は3秒以内詳細画面は5秒以内」といったように画面や処理の種類ごとに具体的な数値で合意しておくことが重要です。

要件定義書にまとめるときの観点と粒度

要件定義の成果物として多くのプロジェクトで要件定義書が作成されます。
形式は各社さまざまですが一般的には次のような構成がよく使われます。

・システムの目的背景前提条件
・業務フローやユースケース図
・機能一覧と機能ごとの詳細要件
・画面帳票やインタフェースの要件
・非機能要件の一覧
・データ項目やマスタの概要
・運用保守体制と移行方針

粒度の判断基準としては「この要件さえあれば設計チームが具体的な設計を進められるかどうか」を目安にします。
具体的なSQLやテーブル設計といったレベルまで要件定義書に書き込んでしまうと設計との境界があいまいになり過ぎて後からの変更が難しくなるため注意が必要です。

例えば「売上レポートを出力できること」という一文だけでは設計者は詳細設計に進めません。
「期間店舗商品カテゴリ単位で絞り込みができ合計売上数量粗利が表示されること」といったレベルまで整理されていると設計側で具体的なレイアウトや集計ロジックを検討しやすくなります。

合意形成と変更管理の進め方

要件定義でまとめた内容は関係者の合意を経て初めて意味を持ちます。
ここでは誰がどこまでを承認するのかを早い段階で決めておくことが重要です。

例えば次のようなレベル分けが考えられます。

・ビジネス上の目的や投資額に関わる内容は経営層や事業責任者が承認する
・業務フローや運用体制は部門長クラスが承認する
・画面項目の細かい内容は現場リーダーがレビューする

また要件はプロジェクトの進行に伴い変わる可能性があります。
そのため変更が発生したときのルールをあらかじめ決めておくことが大切です。
変更の受付窓口影響分析の手順どのレベルの変更なら誰の承認でよいかといったルールを簡単でもよいので文書化しておくとトラブルを減らせます。

現場ではよく次のような状況が起こります。

現場担当「この画面に1項目追加するだけなので簡単ですよね。」
開発側「その1項目のためにデータベースの構造変更や他画面の修正が必要で影響が広がります。」

このギャップを埋めるには変更内容のビジネス価値と影響コストを比較できる形で示し合意することが重要です。

要件定義でありがちな失敗パターンと対策

要件定義で起こりがちな失敗にはいくつかの共通パターンがあります。

一つ目は決裁権を持つ人が議論の場に参加していないまま詳細が決まってしまうパターンです。
この場合リリース直前になって「実はこの機能はいらない」「もっと別の業務を優先したい」といった方向転換が入りやすくなります。
対策としては重要なマイルストーンごとに決裁者を含むレビューの場を設定しておくことが挙げられます。

二つ目は現場業務の実態が十分に把握できておらず例外パターンへの対応が漏れるパターンです。
例えば「返品はほとんどないので考慮しなくてよい」と判断した結果まれに発生する高額商品の返品処理がシステム上は不可能になってしまうといったケースがあります。
対策としては「発生頻度は低いが発生すると影響が大きいケース」を意識的に洗い出し要件として検討することが重要です。

三つ目は用語の定義が曖昧なまま議論が進んでしまうパターンです。
「取引先」「顧客」「ユーザー」など似た言葉でも部門によって指している範囲が異なることがあります。
プロジェクトの早い段階で用語集を作成し関係者で共有しておくと後の混乱を減らせます。

これらの失敗パターンを完全に避けることは難しいもののどこで問題になりやすいかをあらかじめ知っておくこと自体がリスク低減につながると言えます。
また契約や法律会計処理など専門性の高い論点が絡む場合は社内外の専門家に相談しながら要件を詰めることも検討すべきです。

よくある質問

Q 要件定義と設計の境目が分かりません。
どこまで決めれば要件定義と考えられますか。

A 一般的には「何を実現するか」を決めるところまでが要件定義「どう実現するか」を決めるところからが設計とされることが多いです。
画面のレイアウトの細部やテーブル設計など技術的な具体化は設計側で詰める前提としビジネス的な意味で必要な情報や処理の単位を要件として整理すると境目を引きやすくなります。

Q 小さい改修でも要件定義は必要ですか。

A 小規模な改修であっても「なぜその変更を行うのか」「どの業務にどう影響するのか」といった観点から簡易的な要件定義は行った方がよいと考えられます。
特に既存システムへの影響範囲が読みづらい場合や法令対応を伴う場合は後からの手戻りを避けるためにも変更目的と期待する効果を整理しておくことが重要です。

Q 要件定義書のテンプレートがなくても始められますか。

A テンプレートがあると漏れを防ぎやすくなりますが絶対条件ではありません。
まずは目的背景業務フロー機能一覧非機能要件の五つの観点を箇条書きで整理し不足している視点がないかを確認するところから始めるとよいでしょう。
そのうえで自社に合った項目構成を徐々に整えていく方法が現実的です。

Q アジャイル開発でも要件定義は必要ですか。

A アジャイルでは詳細な要件を最初からすべて決めるのではなく優先度の高い機能から順に詳細化していくのが一般的です。
それでもプロダクト全体として目指すゴールや守るべき制約条件を整理する上位レベルの要件定義は必要でありそのうえでイテレーションごとに要件を具体化していくイメージになります。

要件定義の目的と進め方の全体像についてのまとめ

・要件定義はビジネス目的を満たすためにシステムの役割を言語化する工程
・機能要件と非機能要件を整理し設計開発テストの共通土台を作ることが主な役割
・要求定義は何を達成したいか要件定義はどうシステムで実現するかを決めるイメージ
・どこまでを要件定義とするかは何をするかとどう作るかの境界で判断する
・投資額や影響範囲が大きいテーマほど要件定義で方向性を決める価値が高い
・ヒアリングでは抽象的な不満だけでなく具体的な場面と制約条件を聞き出すことが重要
・機能要件と非機能要件を分けて一覧化すると漏れのチェックがしやすくなる
・非機能要件は後からの変更コストが高いため上流での検討と合意が特に重要になる
・要件定義書の粒度は設計チームが具体化を進められるかどうかを基準に決める
・合意形成では誰がどのレベルの要件を承認するかをあらかじめ決めておく
・要件変更の受付窓口と影響分析の手順を決め変更管理のルールを共有しておく
・決裁者が議論に参加していない状態や用語定義の曖昧さは典型的な失敗要因となる
・頻度は低くても影響の大きい例外ケースを意識的に洗い出すことがリスク低減につながる
・小さな改修でも目的と影響範囲を簡易に整理することで後の手戻りを減らせる
・プロジェクトの特性に応じて方法をアレンジしつつ要件定義の本質は合意形成にあると意識する

スポンサーリンク
スポンサーリンク
スポンサーリンク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次