この記事では「要件定義」について解説いたします。

言葉自体はどこかしらで見聞きしたことはあっても、その意味や使い方まではよく分からないという人もいるかもしれません。

そこで今回は「要件定義」の進め方や、行う上での大切なポイントも含めて取り上げました。

この記事の中で一つでも参考になるような情報があれば幸いです。

要件定義とは

「要件定義」とは「システムやソフトウェアの開発において、実装すべき機能や満たすべき性能等を明確にしていく作業のこと」です。

例えばヒアリングや打ち合わせ等を通して顧客の要望をまとめ、双方の認識に齟齬がないかを確認します。

この作業を端折ってしまうと、要望と食い違うものを納品してしまったり、「そんなものは頼んでいない」と言われてしまいかねません。

そうすると時間やお金が無駄になってしまうばかりでなく、多大な労力が無に帰す徒労感だけが残ってしまう結果になってしまうことでしょう。

そのような事態を未然に防ぐことができるということもあり、「要件定義」は開発プロジェクトの成否を決める程重要なものだとされています。

「要件定義書」とは

「要件定義書」は「システムやソフトウェア開発において顧客からの要求を受けた後、それらを実際に作る前に提出される最終的な書類」です。

つまり「要件定義」を書類として明文化したものだと考えてよいでしょう。

口頭でのやり取りだけでは後に何かあった場合「言った言ってない」の水掛け論に発展する可能性があります。

また無駄なお金や時間をかけずに最短距離で開発に取り組む為にも必要なものです。

要件定義の進め方

「要件定義」は会社やプロジェクトの内容によって多少の違いはあるかもしれませんが、進め方がある程度決まっています。

そこでこの項目では、一般的な「要件定義」の進め方を確認していきましょう。

①プロジェクト全体の方針を決定する

まずはプロジェクト全体の方針を決定することから始めます。

具体的には完成までの納期確認やスケジュールの作成、納品物の細かい内容等について決めていくのです。

例えばスケジュールを明確にすることで進捗管理がしやすくなりますし、納品物の完成形を定義することでゴールがはっきりとします。

初めに期限とゴールを明確に設定するというのは「要求定義」に限らずよく見られるやり方で、受験勉強やダイエット等様々なものに応用できる考え方だといえるでしょう。

②業務要件を確認する

続いて業務要件を確認していきます。

業務要件とはシステム化の対象となる業務の流れを明確化したものです。

この流れの中にはシステム化する範囲の決定を行うことも含まれており、この行程があるからこそ「システムに何を組み込み何を組み込まないのか」明確にすることができます。

またこの業務を通して「何を実現したいのか」をはっきりさせることにより、今後どのようにプロジェクトを進めていくかを明確にすることもできるでしょう。

③サイト要件を決定する

業務要件の次は、サイト要件を決定していきます。

このサイト要件はサイトのページ構成やOS、ターゲットブラウザ等を決めていくことです。

例えばシンプルで分かりやすいページにするか情報を満載にして懇切丁寧なページにするか等を一つずつ決めていきます。

なおOSはオペレーティングシステムの略で、コンピュータを動かす為のソフトウェアのことです。

代表的なOSは「Windows」や「MacOS」、「Unix」や「Linux」等があり、仮に「Windows」のみをサイト要件で対象にした場合、他のOSではページがずれてしまう等してうまく閲覧できなくなることがあります。

またブラウザとはウェブブラウザの略で、簡単にいうとインターネット上のウェブページを閲覧する為のソフトウェアです。

ブラウザには「InternetExplorer」(IE)や「Safari」、「GoogleChrome」や「Firefox」といったものがあり、見られるウェブページや拡張性等はブラウザに依拠します。

ウェブページの中には特定のブラウザで閲覧することを推奨しているものもあり、もし推奨外のブラウザを使うと文字化けしたりエラーが出てしまうといったことがあるかもしれません。

そのことも踏まえて、どのブラウザで動作できるようにするか(ターゲットにするか)がターゲットブラウザというわけです。

ターゲットブラウザをどうするかは工程にも大いに影響を与えるので、重要なポイントの一つだといえます。

④システム要件を決定する

最後にシステム要件を決定します。

システム要件とは、これまでの流れで決めてきた内容をシステムで実現する為に必要な機能や性能のことです。

この際に必要な機能や性能を決める「機能要件」と、逆に不要なものを決める「非機能要件」を明確にしておきます。

何が必要かを決定することより何が不要かをはっきりさせる方が難しいことも多く、そういった意味で「非機能要件」を詳らかにするのは容易ではないといえるかもしれません。

要件定義を行う上で大切なポイント

「要件定義」を行う上では、非常に大切なポイントが複数あります。

この項目では、その中でも重要なものを3点取り上げました。

ユーザー要求を細部までヒアリングする

ユーザー要求を細部までヒアリングすることは極めて重要です。

そうすることでユーザーの本当のニーズにありつくことができる為、ヒアリングの精度が開発の成否を左右するといっても過言ではありません。

完成後のシステムの動きを明確にイメージする

完成後のシステムの動きを明確にイメージすることも必要です。

このイメージが不明確だと、どの部門がどのように開発を進めれば良いのか迷ってしまうことになりかねません。

そういったこともあり、このイメージは下流工程の経験が重要だといえます。

下流工程とは納品物を製造し完成させる工程を意味しており、この下流工程での経験があるからこそイメージも具体的に描くことができるというわけです。

要件定義書の表現方法やフォーマットを統一しておく

同じ文章を読んでいても、人によって解釈が分かれたり違う受け取り方をしたりすることがあります。

こうしたことがないよう、「要件定義書」の表現方法やフォーマットを統一しておく必要があるでしょう。

ポイントは「誰が読んでも分かりやすい表現」を使うことです。

例えば「多くのユーザー」という文章だと人によって想定する人数に差が出るでしょうが、「100万人のユーザー」のように数字で示すと誰もが同じ人数をイメージできます。

このように誰が読んでも分かりやすい表現を使うことで、確認の手間や後々のトラブルを防ぐこともできるというわけです。

まとめ 要件定義についてのおさらい

  • 「要件定義」とは「システムやソフトウェアの開発において、実装すべき機能や満たすべき性能等を明確にしていく作業のこと」。
  • 「要件定義書」は「システムやソフトウェア開発において顧客からの要求を受けた後、それらを実際に作る前に提出される最終的な書類」。
  • 「要件定義」の進め方として、まずプロジェクト全体の方針を決定した後に業務要件を確認し、サイト要件を決定してからシステム要件を決めるという流れが考えられる。
  • 「要件定義」を行う上での大切なポイントとして、ユーザー要求を細部までヒアリングする、完成後のシステムの動きを明確にイメージする、要件定義書の表現方法やフォーマットを統一しておくといったことが挙げられる。