要件定義の目的とは?省くと後工程で何が起きるかと防ぎ方

要件定義の目的と省いた時に後工程で起きることを解説する記事のアイキャッチ

当サイトの記事は編集部がIPAなど公的機関の公開資料と読者の声を調べて独自に執筆しています。

『要件定義って、結局なんのためにやるの?』と、資料作りに追われながら感じている方も多いはずです。

結論から言うと、要件定義の目的は「何を作るかを関係者で合意し、後から確かめられる形で残すこと」です。この記事では、要件定義を省いた時に後工程で何が起きるかを一覧にして、目的を実感できるようにお伝えします。

目次

要件定義の目的は何?ひとことで言うと

先に結論

要件定義の目的は、作る前に「何を、どこまで作るか」の約束を決めておくことです。約束を文書にしておくと、作った後に「思っていたのと違う」を防げます。

要件定義そのものの意味から知りたい方は、要件定義とはを先に読んでみてください。ここでは「なぜやるのか」に絞ってお話しします。

要件定義の目的を分けて考えると、次の4つになります。どれか一つだけではなく、4つがつながっているんです。

目的中身欠けると起きること
合意をつくる発注側と開発側で「何を作るか」をそろえる完成後に認識のずれが見つかる
範囲を決めるどこまで作り、どこから作らないかを決める作業が膨らみ、費用と期間が読めなくなる
物差しを用意する完成したかどうかを判断する基準を残す受入テストで合否を決められない
判断の記録を残すなぜその要件にしたかを書き残す担当が変わると同じ議論を繰り返す
要件定義の4つの目的と、欠けた時に起きることを対応させた図解

「合意」がいちばん大事な理由

要件定義書を作ること自体が目的だと思われがちですよね。でも、実は文書は合意を残すための手段なんです。

どれだけ立派な要件定義書でも、関係者が中身を確かめていなければ、後から「そんなつもりではなかった」が起きます。目的はあくまで合意で、文書はその証拠だと考えてみてください。

発注側と開発側、それぞれにとっての目的

要件定義の目的は、立場によって少し見え方が変わります。どちらか一方のための作業ではなく、両方にとって意味があるんです。

立場要件定義で得られること
発注側(業務部門)業務の困りごとがシステムでどう解決されるかを、作る前に確かめられる
発注側(情報システム部門)既存のシステムや社内ルールとぶつからないかを、早めに見つけられる
開発側作る範囲と品質の条件がはっきりし、見積もりと計画が立てやすくなる

『開発会社のための書類でしょう』と思われることもありますが、そうではありません。IPAが2019年に公開した「ユーザのための要件定義ガイド 第2版」も、業務に責任を持つ発注側に向けて書かれています。

発注側が要件定義に深く関わるほど、出来上がるシステムは業務に合ったものになりやすいんです。

要件定義を省くと後工程で何が起きる?原因と防ぎ方の一覧

ここが、この記事でいちばん伝えたいところです。要件定義の目的は、省いた時に何が起きるかを見るとよくわかります。

『小さいシステムだし、話しながら作ればいいのでは』と思う方もいるかもしれません。ただ、規模が小さくても、決めていないことは後工程で問題になって返ってくるんです。

後工程で起きやすいこと主な原因要件定義での防ぎ方
設計の途中で機能が次々に増える範囲(スコープ)を決めていない作るものと作らないものを一覧で合意する
完成後に「この画面が足りない」と言われる利用部門に要望を聞いていない業務の流れに沿って利用部門から聞き取る
本番で動きが遅い、止まる性能や可用性を決めていない非機能要件を項目ごとに決めて残す
データ移行で切り替え日に間に合わない移行の対象と方法を決めていない移行するデータと手順を要件に含める
受入テストで合否が決まらないあいまいな言葉で合意している確かめられる書き方で要件を書く
担当が変わって同じ議論を繰り返す決めた理由を残していない議事録と課題一覧に判断の理由を書く
要件定義を省いた時に、決めていないことが設計、開発、テストの各工程で問題として返ってくる流れの図解
よくある失敗

「詳しいことは設計で決めましょう」と言って、範囲まで先送りにしてしまうことです。範囲が決まらないまま設計に入ると、設計のやり直しが続きやすくなります。

手戻りは後になるほど大きくなる

工程が進むほど、作ったものが積み重なっていきます。要件の変更が後になるほど、直す場所が増えて手間がかかるんです。

例えば要件定義の段階なら、文書の一行を書き換えるだけで済みます。ところが完成後に気づくと、設計、プログラム、テストのすべてを見直すことになりますよね。

だからこそ、迷いがある部分ほど要件定義の段階で口に出しておくのが得策です。「たぶん大丈夫」と思って黙っていた点が、後から大きな手戻りになることも。

要件定義でつまずきやすい場面は、要件定義の全体像の記事でも家づくりにたとえて紹介しています。

受入テストの物差しがなくなる

開発の最後には、発注側が「頼んだとおりにできているか」を確かめる受入テストがあります。この時に基準になるのが、要件定義で決めた内容です。

要件定義を省くと、何をもって完成とするかが決まりません。その結果、テストの場で要望が出続け、いつまでも終わらない状態になりがちです。

非機能要件を決めないと本番で困る

機能の話は盛り上がりやすい一方で、性能や安全性の話は後回しになりがちですよね。でも、本番で困るのはこちらのほうが多いんです。

IPAの「非機能要求グレード」では、可用性、性能・拡張性、運用・保守性、移行性、セキュリティ、システム環境・エコロジーの6つの大項目で非機能要件を考えます。各項目のレベルを0から5の段階で選ぶ方式なので、何を決めればいいか迷った時の手がかりになります。

例えば「月末の締め日にアクセスが集中しても止まらない」と決めておけば、開発側はそれに耐える作りを最初から考えられます。決めていなければ、本番で初めて遅さに気づくことになりかねません。

データ移行は要件定義の段階で話しておく

古いシステムから新しいシステムに入れ替える時は、データの移行も大きな作業になります。どのデータを、どんなルールで変換して、いつ切り替えるかを決めておかないと、切り替えの直前で慌てることになるんです。

開発側「旧システムの過去分のデータは、何年分を移しますか」
発注側「そこはまだ決めていませんでした。部署に確認して、次回までにお伝えします」

こうした確認を要件定義の段階でしておくだけで、移行の作業量が早めに見えるようになります。

範囲が決まらないと費用と期間も読めない

開発の費用は、関わる人数と期間で見積もられることが多いです。作る範囲が決まっていなければ、何人でどれだけかかるかも決められませんよね。

『とりあえず概算で』と頼まれた開発側は、決まっていない部分を広めに見込むしかありません。範囲をはっきりさせることは、発注側にとっても見積もりの根拠を確かめる手段になるんです。

要件定義の目的を見失わないための確かめ方

要件定義を進めていると、細かい機能の話に夢中になって、何のためのシステムかを忘れてしまうことがあります。そんな時に役立つのが、目的を最初に書き出しておくことです。

要件定義を始める前に書いておきたいこと
  • システム化の背景(なぜ今やるのか)を一文で書く
  • 解決したい業務の課題を3つ以内に絞る
  • 完成した時に何が変わっているかを書く
  • 最終的に要件を承認する人を決める
  • 今回は対象にしないことを書き出す

記入例:目的の書き方

架空の題材で、目的の書き方の例を作ってみました。社内の経費精算を紙から入れ替える場合の例です。

項目書き方の例
背景経費精算を紙の申請書で行っており、承認に時間がかかっている
課題申請書の差し戻しが多い、承認者の不在で手続きが止まる
目的申請から支払いまでの手続きを画面上で完結させる
完成した時の姿承認者が外出先からでも承認できる
今回は対象外会計システムへの自動連携は次の段階で検討する

このように目的を先に書いておくと、要件を追加するか迷った時の判断基準になります。

利用部門「交通費の自動計算も入れられませんか」
開発側「今回の目的は手続きを画面上で完結させることでしたね。自動計算は次の段階の候補に入れておきましょうか」

要件定義ガイド

まずは型をそろえよう|要件定義書のテンプレートと記入例

章立て・各章に書くこと・1行の記入例をひとつの表にまとめました。白紙から書き始める前に、型を手元に置いておきましょう。

無料要件定義書のテンプレートを見る

当サイトの記事ページに移動します。

記入例:要件と目的のつながりを書く

経費精算の例で、要件ごとにどの目的につながるかを書いてみました。架空の題材での例です。

要件の例つながる目的判断
申請画面で領収書の画像を添付できる手続きを画面上で完結させる今回入れる
承認者が外出先から承認できる承認待ちで止まらないようにする今回入れる
交通費を経路から自動で計算する直接はつながらない次の段階の候補
申請の一覧を部署ごとに出力できる差し戻しの多い部署を見つける今回入れる

このように一行ずつ並べると、どの要件が目的に効いているかが一目でわかります。追加の要望が出た時も、この表に足して判断すれば話が早く進みますよ。

目的を途中で見直す手順
  1. 要件を一つ追加するたびに、どの目的につながるかを書く
  2. どの目的にもつながらない要件は「今回は対象外」の候補にする
  3. 目的そのものが変わった時は、承認者と合意し直す
  4. 見直した内容と理由を議事録に残す

要件定義の進め方を最初から順に知りたい方は要件定義の進め方・手順を、どこで行き詰まりやすいかは要件定義が難しい理由も参考にしてみてください。

よくある相談に答えます

要件定義の目的について、よく寄せられる相談を要約してお答えします。

中途半端にしか決めないなら、要件定義は意味がないのでは?

「どうせ途中で変わるなら、要件定義をする意味はあるのか」という相談があります。結論から言うと、途中で変わるからこそ、元の約束を残しておく意味があるんです。

最初の合意が残っていれば、何が変わったのかを比べて、費用や期間への影響を話し合えます。決めきれないことは「未決」として一覧に残すだけでも、後のもめごとはぐっと減りますよ。

要件定義書の「背景」「目的」には何を書けばいい?

「機能要件や非機能要件は書けたが、背景や目的に何を書けばよいかわからない」という相談もあります。ここは、システムを作る理由を、読んだ人が納得できるように書く欄です。

背景には今の業務で困っていること、目的にはシステムで実現したい姿を書きます。上の記入例のように一文ずつ短く書くと、関係者の誰が読んでも同じ意味で受け取れます。

書き方のコツ

背景と目的は、機能の名前を出さずに書いてみてください。機能から書き始めると、「その機能を作ること」自体が目的になってしまいます。

「要件」って、そもそも何のこと?

「要件という言葉の意味がよくわからない」という素朴な相談も多いです。要件とは、システムが満たすべき条件のことです。

利用者や発注者の「こうしたい」という要求のうち、予算や期間、技術を踏まえて「実現する」と合意したものが要件になります。願いを約束に変える作業が要件定義、と考えるとわかりやすいですよ。

要件定義書全体の項目は要件定義書とはで紹介しています。

よくある質問

要件定義の目的を簡単に言うと何ですか?

何を、どこまで作るかを関係者で合意し、後から確かめられる形で残すことです。完成後の「思っていたのと違う」を防ぐために行います。

要件定義書を作ることが目的ですか?

いいえ、文書は合意を残すための手段です。関係者が中身を確かめて承認していることのほうが大切です。

小さなシステムでも要件定義は必要ですか?

規模に合わせて軽くしてもよいですが、範囲と完成の基準は決めておきましょう。決めずに進めると、小さなシステムでも手戻りが起きます。

アジャイル開発でも要件定義の目的は同じですか?

何を作るかを合意するという目的は同じです。違うのは、一度に決めきらず、優先順位の高いものから少しずつ決めていく点です。

要件定義の目的は誰が決めますか?

発注側の責任者が決め、開発側と共有するのが一般的です。目的は要件を承認する人と同じ人が持っておくと、判断がぶれにくくなります。

まとめ

この記事の要点
  • 要件定義の目的は、何をどこまで作るかを合意し、確かめられる形で残すこと
  • 目的は合意、範囲の決定、完成の物差し、判断の記録の4つに分けて考えられる
  • 省くと、機能の追加、性能不足、移行の遅れ、受入テストの混乱などが後工程で起きやすい
  • 背景と目的を最初に書き出しておくと、要件を追加するかの判断基準になる
要件定義ガイド

要件定義ガイド 編集部

システム開発の要件定義について、意味・進め方・要件定義書の書き方とテンプレート・必要なスキルを実務目線でまとめている情報サイトです。 公式サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次