要求定義と要件定義は何が違うのか

スポンサーリンク

 

システム開発時に飛び交う要求定義と要件定義という言葉。

いったい何が違うのでしょうか。

本記事では、それぞれの言葉の定義を、事例を交えて書いてみました。

 

スポンサーリンク

要求定義と要件定義の定義

 

要求並びに要件に関する複数の書籍の定義に、自分なりの経験を加味すると、下記のように定義できます。

 

要求:システムを依頼する側がほしい特性

要件:システムを開発する側とシステムを依頼する側が合意した特性

 

特性とは、システムに実装される機能(処理や画面、データなど)、非機能(性能や耐久性など)を含みます。

定義という言葉がそれぞれの末尾に付くことで、要求を決める、要件を決める、という意味を持ちます。

 

なお、要求は求めるという漢字が含まれるように、システムを必要としている人たちが描くシステムに求めること

要件はシステムをつくる人たちが、求められることを満たすようにシステムで実現可能なこと

とも言い換えることができます。

 

ではなぜ人はシステムを求めるのか。

それは、特定の業務を遂行する人が、短時間で大量の仕事ができるよう、すなわち効率よく仕事を実現するためにシステムを欲するからです。

 

なお、要求定義と要件定義については多数の書籍が発刊されており、これら書籍ごとに要求と要件が使い分けられたり、一緒に語られたりしています。

要求定義・要件定義を学べる本の一覧まとめ
要求定義および要件定義を学べる書籍を一覧化しました。 要求と要件、使い分けに意味があるのですか? そうですね。誰の目線か、で変わります。 要求...

 

では、具体的な事例で説明しましょう。

 

要求と要件の具体的な事例

 

要求と要件の具体的な違いを、在庫管理システムの事例を使ってみてみましょう。

 

生産企画部門の要求

 

生産企画部門が新しい生産管理システムを必要としています。

生産企画部門が新システムで実現したい要求は、

「国内に分散した各工場の仕掛品在庫をリアルタイムにみたい」

です。

仮にシステムが無かった場合、各工場の仕掛品を紙に書いて電卓で集計しFAXを送り合うか、電話で個別に工場に聞いて仕掛品在庫を聞き回ることになります。

これではあまりに多くの時間がかかり、時間の割にはうまく情報を集めることができず、非常に非効率です。

そこで、システムを求め、システムにリアルタイム性を求めるのです。

 

生産企画部門はなぜリアルタイム性を求めるのか。

生産企画部門は当日の生産計画を調整しながら、受注に対して納期通り出荷できるよう務めるからです。

仕掛品在庫の状況をリアルタイムで見ながら、当日の生産調整をします。仕掛品の在庫および在庫数が見える化されることで、例えば優先順位の高い受注が入ってきたときに生産計画の組み換えが容易になります。

”仕事(ビジネス)をより良くするためにシステムに求める”ということで、ビジネス要求と言われます。

 

生産企画部門の要求を満たすシステムの要件

 

上記の要求を実現するためには、複数の論点があり、各論点を明確にしたうえで設計をすすめます。

では、どのような論点が考えられるでしょうか。

 

ビジネス観点の論点

  1. 国内工場とはすべての工場を対象にするか
    原料加工から包装、出荷までが一連の工場もあり、仕掛品在庫のない工場もあるが、その工場は除いてよいのか。
  2. 仕掛品とはすべての商品を対象とするのか
    多品種をつくっているので、完成までのリードタイムが1週間ある商品から0.25日までの商品がある。リードタイムが長い商品の仕掛品だけを対象にしたいなどのニーズはあるか。
  3. リアルタイムとはタイムラグ0を求めているか
    工場によっては、仕掛品数の報告が紙のものを30分に一回システムへインプットしているので、最大30分のラグが発生することがわかっている。
  4. 仕掛品の在庫がみられるのは生産管理部門だけか。営業もみたいか。

システム観点の論点

  1. 在庫はひとつの画面ですべての仕掛品を見たいか
    商品数が多く、ひとつの画面で見る場合、ページングか追加読み込みの実装を検討する。
  2. 見たい在庫をどのように絞り込みたいか
    工場名、日付、商品名、稼働ライン名ほか。
  3. 画面上でみたい項目はなにか
    仕掛品名、在庫数、商品名(ひとつの仕掛品につき複数あり)。仕掛品の製造日やロットは別の詳細画面でみられるようにすればよいか。
  4. 各工場からの在庫数の転送方法をどうするか
    工場によっては仕掛品をオフコンで管理しているため、接続方式を検討しなければいけない。
  5. 仕掛品の在庫データは過去どのくらいまでを保持するか
  6. 生産企画部門はブラウザで在庫がみられればよいか
    Webベースのアプリケーションにするか否か。
  7. システムの稼働時間はどうするか
    24時間か、夜間に保守等の目的で止められるか。

 

業務を遂行する人の観点によって、より多くの論点が挙げられます。

上記の論点に対する答えをワークショップなどの議論で導き出し、合意していくことを要件といいます。

システムは万能ではなく、また人も万能ではなくそれぞれの事情があります。

よって、実現可能なことを探っていくのです。

 

要求定義・要件定義の知識を深めたいときに読みたい本

 

ソフトウェア要求 第3版

 

要求仕様の探検学―設計に先立つ品質の作り込み

 

要求開発と要求管理

コメント

タイトルとURLをコピーしました