要件定義とは?要件定義時に必要な3つの重要ポイント
皆さん、こんにちは。リンプレスの塚本です。
ITシステム構築に携わる多くの方を悩ませているのが、要件定義といわれるプロセスではないでしょうか?
今回は、要件定義プロセスに関する情報をご紹介させて頂きたいと思います。
目次[非表示]
- 1.要件定義とは?
- 1.1.要件定義が必要な理由
- 1.2.要件定義書の意義
- 2.要件定義時に必要な3つの重要ポイント
- 2.1.①見過ごされがちな要件定義の“定義”をする
- 2.2.②要求定義(要求分析)と要件定義の違いを認識する
- 2.2.1.要件定義の目的
- 2.3.③レビュープロセスを軽視しない
- 3.ITシステム構築における5W2H
- 4.要件定義工程と設計工程におけるHowの線引き
- 5.要件定義プロセスの具体例
- 6.要件定義の“定義”は後工程との整合性も考える
- 7.終わりに
要件定義とは?
皆さんを悩ます要件定義とは、そもそもどういったプロセスなのでしょうか?
要件定義が必要な理由
ITシステムの構築においては、一言で要件定義といっても、その中に含まれる”要件”は、複数存在します。
例えば現在運用されている販売管理システムを再構築し、新販売管理システムを構築するといった場合、当然システム要件が存在しますが、再構築であれば、それに加え、移行要件が存在します。
移行要件と聞くとデータ移行を想像しがちですが、実際には新システムに合わせた業務の移行、運用の移行などもあり、それぞれ業務移行要件、運用移行要件として定義される必要があります。
また、『現行システムと同じに作ってくれれば良い』という話も良く聞きますが、これでは要件を定義したことにはなりません。
現行同様を望むのであれば、現行機能を棚卸しし、ひとつひとつ定義付けしていく必要があるのです。
なぜならば、定義されていないことが実現されることはありえないからです。
少し古いデータにはなりますが、以下のデータをご覧ください。
◆納期遅れの原因(複数回答)
・要件定義が計画より長引いた … 37.7%
・企画作業が長引いた … 22.7%
◆予算オーバの原因(複数回答)
・追加の開発作業が発生した … 65.0%
・追加の企画作業が発生した … 8.0%
◆品質不備の原因(複数回答)
・要件定義が十分でなかった … 35.9%
・システムの企画が十分でなかった… 16.7%(出典:日経コンピュータ 2003年11/17号)
これは、ITシステム構築が計画どおりにいかなかった理由に対してのアンケート結果です。
20年ほど前のデータですが当時から要件定義の重要性は広く認識されていました。
それにも関わらず、このような失敗がおきるということは、要件定義の難しさを如実に表しているといえるでしょう。
現在でも、要件定義の失敗に起因するITシステム構築プロジェクトの失敗は後を絶ちません。
だからこそ、抜け漏れ、取違えのない正しい要件定義が求められているといえるでしょう。
要件定義書の意義
要件定義の意義のひとつは、前述したとおり、正しい要件を定義しプロジェクトを失敗させないことですが、この要件を明文化し、”要件定義書として正しく”落とし込むことも重要です。
ITシステム構築の現場では、要件定義~テストまでの一連の工程をたった一人で行うことはまれであり、多くの場合、役割に応じて担当が変わり推進されます。このような進め方であるが故に、伝言ゲームのように情報劣化が発生する可能性は避けえません。
このような事態に陥らないためにも、要件定義書の記載内容が読み手の誤解を生むことなく、一意に解釈できる定義になっている必要があり、”要件定義書として正しく”落とし込まれていることが大切です。
これに加えて、もう一つ重要な意義は、ITシステム構築を他社発注の際の合意形成文書であり、契約の枠組みであるということです。
要件定義書は、“契約の物差し”、“システムを具体化していく上での物差し”として、極めて重要な意味合いを持っています。
要件定義時に必要な3つの重要ポイント
①見過ごされがちな要件定義の“定義”をする
ITシステム構築における外部委託契約は、以下のようにいくつかのバリエーションが存在します。
要件定義までを自社で行い、設計以降を外部へ
要件定義から外部へ
要件定義起因のトラブルの中には、受発注間における要件定義に対する認識齟齬が少なからず存在します。具体的には以下のようなケースです。
- 発注側、受注側の要件定義でやるべきことに対する認識に齟齬があった
- やるべきことの認識はあってはいたが、やるべき人(発注側、受注側)の認識に齟齬があった
要件定義には前述したように業務要件、運用要件なども含まれます。
他社と協業し要件定義を実施する場合は、契約締結前に要件定義でやるべきこと、やるべき人を明確に定義し、認識を合せることが重要です。
②要求定義(要求分析)と要件定義の違いを認識する
要求分析と要件定義は、広義的にはどちらも要件定義ということができ、実際にこの2つのプロセスを要件定義という工程で括ったプロジェクトもありますが、私たちは、その目的の違いから、この2つを別プロセスとして定義しています。
こちらから「要件定義工程の終了判定のサンプル」をダウンロード出来ます。
要求定義(要求分析)の目的
『~がしたい』、ビジネスにとって何が必要かといった利用者の要望、要求に元に、何を何のためにやるのか(場合によってはやらない)を明文化する。
やる/やらないの決め手になるのは、『どんな効果を狙い、どんな業務を、いつまでに、いくらでIT化する』といったシステム構築全体の枠組み(スコープの決定)です。
要求定義では、実現したいことをただ聞き入れるだけではなく、取捨することが必要です。
たとえ、現場の強い要求、要望があったとしても、いつまでに、いくらでといった要求を含めたシステム構築全体の枠組みに収まらないのであれば、除外しなければなりません。
なぜならば、この枠組みこそが投資判断の基準であり、ITシステム構築の最初の“物差し”になるからです。
要件定義の目的
要求定義の枠組みを劣化させることなく、これを実現するために『~が必要』を具体化し、明文化する。
したがって要件定義では、以下の内容を明文化することが必要です。
要求の実現に必要なシステムの機能 → システム要件
要求の実現に必要な業務の移行 → 業務移行要件
要求の実現に必要な運用の移行 → 運用移行要件
このように要求定義と要件定義は目的そのものが違うため、開発工程上、同じ工程で扱うとしても、
要求定義(要求の枠組みを決める)→要件定義(枠組み内で必要なものを定義する)の順番で実施する必要があります。
③レビュープロセスを軽視しない
要件が正しく定義されていると判断できるのは誰でしょうか?
ITシステム構築のプロフェッショナルであるITベンダや情報システム部門の方達でしょうか?
確かにシステム要件であれば、ITシステム実現に向けて、どういったハードウェアやソフトウェアが必要か、そのプラットフォーム上にどういったシステムを実装していくのかを定義し、それが正しいかを判断するのは、ITベンダの役割範疇かもしれません。
では、業務要件や運用要件はどうでしょうか?
委託業務の契約範囲内で、業務要件や運用要件をITベンダが定義することはありますが、定義された内容が要求定義した自分達の業務や運用にとって正しいかを判断できるのは、業務担当者であり運用担当者です。
ITシステム構築で厄介なのは、業務や運用にとって正しくないものが定義されたとしても次工程に進めてしまうという点です。
もしも取り違いや漏れが発生したまま、次工程に進んでしまうと、それに気づくタイミングは、運用テスト、受入テスト、最悪の場合、サービスイン後ということになり、典型的な要件定義に起因した失敗プロジェクトになってしまいます。
このような状況に陥らないためにも、要件定義開始前に誰がどの部分のレビューを担当し承認するのかを決めた上で、レビュープロセスを確実に履行することが重要です。
要件定義の“定義”で述べた要件定義でやるべきこと、やるべき人の明確な定義にはレビュープロセスも含まれるのです。
ITシステム構築における5W2H
要求定義(要求分析)後の要件定義と、要求分析を含めた要件定義では、実施すべきプロセスが異なります。
まずは、自身が携われる要件定義の起点をどこにおくのか、そして設計工程の前に何をどこまで実施すべきかを定義する必要があります。
そのためにもITシステム構築における5W2Hをしっかりとおさえ、要件定義段階で、これらを明文化(定義)するプロセス定義が必要です。
ITシステム構築における5W2Hとは、
■要求
Why・・・なぜITによるシステム化を行いたいのか
What・・・ITシステムを使って何を実現したいのか■システム要件
Where・・・要求を満たすためには、どの部分をITでシステム化するのか
Who・・・そのITシステムの利用者は誰なのか、運用者は誰なのか
How・・・ITシステムを使ってどのように実現するのか
■プロジェクト要件:制約、前提事項
When・・・そのITシステムによるサービスをいつから享受したいのか
How much・・・そのITシステムの実現に対し、いくらの予算を組むのか
であり、
設計工程は、
要件定義で定義されたHow(どのような機能が必要か)を更に深堀り、詳細化して実装レベルまで落とし込む工程であり、
・IT化するその機能はどのような振る舞いをするのか
・IT化するその機能にはどのような項目が必要なのか
・IT化するその機能にはどのようなチェックが必要なのか etc..
へと落とし込んでいく工程です。
つまり、設計工程で扱うものは、5W+2Hのうち、Howだけが対象であり、
以外の定義は全て要件定義の段階で明文化(定義)されている必要があります。
要件定義工程と設計工程におけるHowの線引き
5W+2Hのうち、Howを除いた5W+1Hの定義を要件定義工程までに終了しておくことは必須事項であり、仮にこれらの定義が終了しないまま、次工程に進む場合は、プロジェクトリスク(失敗プロジェクトに陥る可能性)が高いと認識すべきでしょう。
このような状況でのプロジェクト運営は、そのリスクを顕在化させないためのリスク管理、既発課題に対する期日管理といった課題管理が重要になってきます。
一方で、Howに関しては前述したとおり、要件定義工程、設計工程でそれぞれ取り扱うため、要件定義開始前に要件定義工程で扱うHow、設計工程で扱うHowを定義しておく必要があります。
要件定義~設計工程を1社で実施する場合は、細かいプロセス定義は不要かもしれませんが、要件定義工程と設計工程を別々の会社で行う場合は、厳密な線引きが必要です。
要件定義プロセスの具体例
下図は、要求分析と要件定義を別工程とした時のプロセス定義の一例です。
※要求分析プロセス :システム構想策定(CANVAS-SAⓇ)の資料はこちらからダウンロードできます。
前の工程で何をどこまで作っているかで、要件定義工程の実施内容も変わってきます。
この場合、要求分析の結果を受けて、要件定義プロセス内の項番1~8を実施プロセスとして定義しています。
要件定義の“定義”は後工程との整合性も考える
前述した要件定義プロセスの定義はあくまで一例ですが、後工程には設計工程があります。
要求分析工程のアウトプットを要件定義工程のインプットとしているように、要件定義工程のアウトプットが設計工程のインプットとなります。
要件定義工程と設計工程におけるHowの線引きでも述べたとおり、後続の工程との整合性をとることを考えなければいけません。
特に後工程が要求するインプットの不足は避けなければいけません。
終わりに
今回のブログでは、私の経験上からも重要と考えられる要件定義プロセスの具体例を上げさせて頂きましたが、要求分析ありきの要件定義プロセスであり、必ずしもこれが正解といったものではありません。
大切なことは、自社の要件定義プロセスを定義する際、要件定義に必要なもの(インプット)の抽出、後工程で必要なもの(アウトプット)の抽出をしっかりと行い、過不足のない要件定義成果物を作成する為のプロセスを“定義”し、それを実施していくことだと考えます。
ほんの一例ではありますが、要件定義工程の終了判定のサンプルを提供させて頂きます。
今回のブログの内容がみなさんの今後のお仕事に少しでもお役立て頂ければ幸いです。
こちらから「要件定義工程の終了判定のサンプル」をダウンロード出来ます。
DX推進に重要なデジタル・IT化の企画を体系的に学べる
IT企画研修の詳細はこちら
関連コンテンツ