要件定義とは?目的・進め方・成果物と失敗を防ぐポイントを解説
システム開発の見積もりを取ろうとすると、ほぼ必ず「要件定義」という言葉に行き当たります。本記事では、要件定義とは何か、なぜプロジェクトの成否を左右するのか、どのような手順と成果物で進めるのかを、発注側の視点も交えて解説します。
目次
まとめ:要件定義とは、システムで実現することを発注側と開発側の共通認識として確定させる工程
要件定義とは、解決したい業務課題をもとに「システムで何を実現するか」を整理し、機能・性能・制約条件を文書として確定させる工程です。本記事の要点は次の通りです。
- 要件定義は開発工程全体の前提を決める最上流の工程であり、ここでの漏れや曖昧さは後工程で数倍の手戻りコストになって返ってくる
- 「要求定義(発注側の要望の整理)」と「要件定義(実現内容の確定)」は区別して考えると混乱が減る
- 要件には画面や帳票などの機能要件と、性能・セキュリティ・可用性などの非機能要件があり、後者の漏れが障害やコスト超過の典型的な原因になる
- 進め方は、現状業務の把握、課題と目的の整理、実現範囲の確定、要件定義書への文書化、合意形成という流れが標準形
- 発注側は「業務を説明できる人」と「決められる人」を確保することが、要件定義を成功させる最大の準備になる
要件定義の基本を理解する
要件定義の位置づけと目的
要件定義は、システム開発の工程の中でもっとも上流に位置し、以降の設計・実装・テストすべての判断基準を作る工程です。目的は大きく二つあります。一つは、作るべきものの範囲と内容を確定させ、見積もりと計画の精度を上げること。もう一つは、発注側と開発側の認識のずれを文書で解消し、「言った・言わない」の争いを防ぐことです。
要件定義の品質がプロジェクト全体を左右するのは、誤りの発見が遅れるほど修正コストが膨らむためです。要件の誤りをテスト工程で見つけた場合、設計・実装をやり直す手戻りが発生し、要件定義中に見つけた場合と比べて修正の影響範囲が桁違いに大きくなります。上流で時間をかけることは、遠回りに見えて総コストを抑える近道だといえます。
要求定義との違い
似た言葉に「要求定義」があります。要求定義は、発注側が「こうしたい」「これに困っている」という要望・課題を整理する活動を指し、要件定義はその要求を踏まえて「システムとして何をどこまで実現するか」を確定させる活動を指します。すべての要求が要件になるわけではありません。費用対効果や技術的制約から見送る要求も出てくるため、優先順位づけと取捨選択こそが要件定義の中心的な作業になります。
機能要件と非機能要件
要件は二つに大別されます。機能要件は「受注データを登録できる」「月次の売上帳票を出力できる」といった、システムが提供する機能そのものです。非機能要件は「ピーク時に何人が同時に使えるか(性能)」「障害時にどれだけ早く復旧するか(可用性)」「誰がどのデータにアクセスできるか(セキュリティ)」といった、品質や運用に関する条件を指します。
実務で漏れやすいのは非機能要件の方です。機能は画面イメージとして目に見えるため議論されやすい一方、性能や運用の条件は稼働後に問題が顕在化してはじめて気づかれるケースが目立ちます。非機能要件の観点整理には、IPA(情報処理推進機構)が公開している非機能要求グレードのような体系を下敷きにすると、抜け漏れを体系的に点検できます。
要件定義の進め方と成果物を検討する
標準的な進め方(5ステップ)
要件定義の進め方はプロジェクトによって幅がありますが、標準的には次の流れをたどります。
- 1. 現状業務の把握(As-Is分析):業務フロー、利用中のシステム、データの流れをヒアリングと資料で整理する
- 2. 課題と目的の整理:どの業務の何に困っているのか、システム化で何を達成したいのかを言語化する
- 3. あるべき姿の設計(To-Be設計):システム導入後の業務フローを描き、システムが担う範囲を確定させる
- 4. 要件の文書化:機能一覧、画面・帳票の概要、非機能要件、他システム連携などを要件定義書にまとめる
- 5. 合意形成:要件定義書を発注側の責任者がレビューし、承認をもって工程を完了する
ポイントは、いきなり機能の話から入らないことです。現状と課題の整理を飛ばして機能一覧を作り始めると、「そもそも何のためのシステムか」という判断基準がないまま仕様の議論が空転しやすくなります。
主な成果物
要件定義工程の代表的な成果物は、要件定義書を頂点として、業務フロー図、機能一覧、画面・帳票一覧、データ項目の概要、非機能要件一覧、他システムとの連携一覧などです。システム全体の構成を関係者と共有するための構成図・アーキテクチャ図もこの段階で描かれますが、図の描き方に唯一の正解はなく、伝えたい相手と目的に応じて粒度を変える判断が要ります。この論点はアーキテクチャ図に「正解」がない理由と背景で詳しく整理しています。
ヒアリングの質を上げるコツ
要件定義の材料の多くはヒアリングから得られるため、その質が工程全体の質を決めます。コツは三つあります。第一に、質問を事前に共有し、回答者が資料や実データを準備できる状態で臨むこと。第二に、「困っていること」だけでなく「今うまくいっていること」も聞き、壊してはいけない業務を特定すること。第三に、例外処理を必ず確認することです。月末だけ発生する処理、特定の得意先だけの特別ルールといった例外は、通常フローの説明では出てこない一方、システム化の工数を大きく左右します。「イレギュラーな場合はどうしていますか」という問いを癖にしておくと、後工程での仕様追加を減らせます。
体制と役割分担
要件定義は開発会社だけでは完結せず、発注側の参画が不可欠な工程です。最低限、対象業務の実態を説明できる業務担当者と、仕様の取捨選択を決断できる責任者の二つの役割を発注側で確保してください。この二役が揃わないまま進めると、ヒアリングのたびに回答が変わったり、決定が持ち帰りになって期間が延びたりする事態を招きます。開発側には、業務の言葉をシステムの言葉に翻訳し、選択肢と影響を示して意思決定を支援する役割が期待されます。
失敗を防ぐための判断ポイント
よくある失敗パターンと対策
要件定義の失敗には型があります。第一に「現行踏襲」という言葉で現状分析を省略し、既存システムの仕様が誰にも分からないまま進めてしまうパターン。第二に、関係部門を巻き込まずに一部の担当者だけで要件を決め、稼働直前に他部門から異論が噴出するパターン。第三に、優先順位をつけずに要望をすべて盛り込み、予算と期間が破綻するパターンです。いずれも、範囲の確定と合意形成という要件定義の本質を省略したことに起因します。対策は共通しており、関係者を早期に特定して巻き込み、「やらないこと」を文書に明記することです。
要件定義の次に来る設計工程を見据える
要件定義書は、次の設計工程へのインプットとして機能してはじめて意味を持ちます。設計者が読んで判断に迷わない粒度で書かれているか、システム全体の構造に関わる前提(既存システムとの連携方式、データ量の見込みなど)が漏れていないかを、工程完了前に点検しておきたいところです。全体構造の選択肢を把握しておくと点検の精度が上がるため、システムアーキテクチャの種類と選び方もあわせて確認することをおすすめします。
要件定義を外部に依頼する場合の見極め
社内に要件定義の経験者がいない場合、要件定義工程そのものを開発会社やコンサルティング会社に依頼する選択肢があります。依頼先を見極める観点は、同種の業務領域での要件定義実績、業務ヒアリングの進め方を具体的に説明できるか、要件定義のみの契約(準委任)に対応しているか、の三点です。当社(株式会社一創)も業務システム開発において要件定義からの支援に対応しており、上流工程からの参画を前提とした進め方を採っています。
要件定義に関するよくある質問(FAQ)
要件定義にはどれくらいの期間がかかりますか?
対象業務の範囲と関係者の数によって変わり、小規模なシステムで1〜2カ月、基幹システムの刷新では半年以上に及ぶ場合もあります。開発全体の2〜3割程度の期間を要件定義に充てる計画が一つの目安とされ、この期間を極端に圧縮した計画は手戻りのリスクを抱え込むことになります。
要件定義書は発注側でも読めるものですか?
読める形で書かれているべきです。要件定義書は発注側の承認をもって確定する文書であり、技術者にしか読めない書き方では合意形成の機能を果たせません。専門用語には説明を付し、業務フロー図や画面イメージなど視覚的な表現を併用するのが良い要件定義書の条件です。納品時に読み方の説明会を設けてもらえるかどうかも、開発会社に確認しておく価値があります。
アジャイル開発でも要件定義書は必要ですか?
ウォーターフォールと同じ分厚い文書は作りませんが、目的・対象ユーザー・優先順位を定義する活動自体は必要です。アジャイルではプロダクトバックログや初期のインセプションデッキがその役割を担い、詳細仕様は反復の中で段階的に確定させていきます。
要件定義の途中で要件が増えた場合はどうすべきですか?
追加要求は一度受け止めたうえで、影響(費用・期間・他要件との整合)を評価してから採否を決めるのが原則です。その場で口頭合意して積み上げると範囲が際限なく膨らむため、変更管理のルール(誰が申請し、誰が承認するか)を工程の最初に決めておくことを推奨します。
要件定義と基本設計の境界はどこですか?
一般には「何を実現するか」を決めるのが要件定義、「どう実現するか」を決めるのが基本設計です。ただし境界の引き方は会社や契約によって幅があるため、見積もりを比較する際は、どこまでの成果物が要件定義に含まれているかを必ず確認してください。