目次
Webサイト制作やシステム開発などで必要となる、要件定義について、しっかりと理解していますか。
これからシステムエンジニアとして活躍をしたい方、異業種やプログラマーなどのほか、多職種からシステムエンジニアへの転向を狙っている方も、改めて要件定義について理解し、正しい進め方やフロー、要件定義に必要なスキルを確認していきましょう。
要件定義とは?成果物は何になるのかわかりやすく解説
IT業界では当たり前のように語られる要件定義ですが、これはWebサイト制作やシステム開発を依頼するクライアントの要望を明確にして、まとめることを指します。
成果物は要件定義書です。
要件定義書はクライアントのニーズを制作するWebサイトやシステムに実装する機能などをまとめ、クライアントとの最終確認を行ったうえで、開発に向けてのベースとなる重要な書類となります。
クライアントからのヒアリングや打ち合わせを通じて、このようなWebサイトやシステムにしたいというニーズをまとめたもので、作成目的はクライアントへの開発前説明に利用するためです。
こうした要望に基づき、こうした機能を実装しますという内容を、細かく記載します。
専門知識のないクライアントにも、理解できるように記載することも大切です。
要件定義を作成する際の進め方、フローについて
要件定義を作成する際の進め方は、次のようなフローとなります。
クライアントとなる企業などから問い合わせや相談を受け、Webサイト制作やシステム開発の依頼を受けた段階から始まります。
クライアントの要求をヒアリングする
どんなWebサイトやシステムを開発したいのか、細かくニーズを引き出し、確認することが必要です。
まずは、制作の目的や誰を対象にするのか、何を達成したいのかなどの基本的な事柄とアウトラインを確認し、お互いに共有したうえで、細かい要求を順序立ててヒアリングしていきます。
達成したいことを、どんどん並べ立てるクライアントも多いですが、バラバラな事柄も整理しながら、クライアントのイメージを完成形に近づけていくヒアリング力が必要です。
要求の細分化
全体像が把握できたら、クライアントの業務フローの詳細を把握し、実装すべき機能を順序立てて細分化しながら、要件としてまとめます。
必要な機能が漏れないようきめ細やかに整理しつつ、どうしても実装が難しい要求があれば、この段階で明らかにしておかなくてはなりません。
要件定義書の作成
ここまでのフローは実際にクライアントと対面での打ち合わせやオンラインミーティング、メールやチャットでのやり取りを通じて行います。
その後、話し合った内容を目に見える形として、要件定義書に落とし込んでいきます。
クライアントが頭の中で思い描いていたイメージが、文章の形で可視化されるのが要件定義書です。
話し合っていた内容との齟齬がないよう、確認してもらいましょう。
口頭ではうなずいていた事項でも、文章で説明されることで、内容が少し違うなど認識のズレが出ることも少なくありません。
ズレがあれば、修正を行ってクライアントのニーズを確実に、反映させていきます。
要件定義書はシステム設計のベースとなるものです。
クライアントとの話し合いには同席していない、エンジニアなども、クライアントが要求するシステムのすべてが理解できるよう、事細かく記載しなくてはなりません。
要件定義の設計事例を紹介|Webサイト、Webシステム構築の場合の要件定義
要件定義の設計事例を需要の高いWebサイト制作やWebシステム構築で見ていきましょう。
Webサイト制作における要件定義の設計事例
担当するのは、小さな企業などの場合は、Webデザイナーなど制作担当者自身の場合もありますが、Webディレクターや営業スタッフなどコンサルティング職のケースも少なくありません。
サイト制作の目的、ターゲット層、作成したいコンテンツ、サイト訪問から起こしたいアクション、どんなデザインにしたいかなどをヒアリングしていきます。
カラーや雰囲気、使いたい画像などをヒアリングするほか、イメージに近い既存のサイトなどがあれば、教えてもらいます。
これをもとにサイトのフローやデザインのイメージ、各コンテンツに落とし込みたいことを明確にして要件定義書に反映させていく流れです。
Webシステム構築における要件定義の設計事例
Webシステム構築の依頼の場合、クライアントのどんな業務をシステム化するのかを、業務の流れや現在行っている方法、困っていることや解決したい課題なども含めて、しっかりと把握しなくてはなりません。
そのうえで、要求を確認して理解していく必要があります。
まったく見識のない業界などからも依頼が入りますので、要求を確認する以前に、クライアントの業務内容やフローを把握することが求められます。
理解が欠けていては、要求も理解できず、要件定義もまとめられないからです。
要件定義をする際に必要なスキルとは?
では、要件定義をする際にはどのようなスキルが求められるでしょうか。
要求を引き出すスキル
クライアントと話し合いをするためや要求を伝えてもらうためのコミュニケーション力は欠かせません。
単に会話ができる能力ではなく、クライアントの要求を引き出す問いかけ力やヒアリング力、専門知識がないクライアントの意図を適切に把握するスキルが必要です。
判断力と対応力
クライアントの要求をピンからキリまで聞いて、「お任せください」では意味がありません。
設計ができるか、実装が可能かの現実的な判断をする能力、クライアントの予算やリリースしたい期間までに実現可能かなども判断して、伝えることも必要です。
クライアントを対応する人の要件定義と実際に設計や開発にあたるエンジニアとの間に齟齬が生じ、開発ができないといったトラブルが起こるリスクもあります。
要件定義の段階で完成したシステムのイメージが持てる程度の専門知識を磨くとともに、実現が難しそうなことは、現場担当者に確認をするなどの柔軟で正確な対応力も必要です。
要件を要件定義書に落とし込むスキル
ヒアリングした内容を要件としてまとめるインプット力に加えて、それを正確かつわかりやすく表現できるアウトプット力も不可欠です。
クライアントにとっても、開発を担当するエンジニアにとっても、漏れなく、正しく伝わる内容にしなくてはなりません。
要件定義を事前にすることのメリットについて
要件定義はクライアントにとっては、頭の中でイメージしているものをより具体的な形にして、実際に完成したときに、「思っていたのとは違う。」と言われることがないよう、事前にすることが欠かせません。
開発するエンジニアにとっても、ベースとなるものです。
特にシステム開発の定番の方法であるウォーターフォール型の手法を採る場合、要件定義→設計→開発→テストの順で進みます。
テストの段階になって、完成したシステムにクライアントは初めて触れることになります。
もし、この段階で、「依頼したのとは違う」と言われれば、一から作り直すなど、大きな時間や手間、コストのロスを発生させかねません。
そうならないように要件定義に至るまで、徹底した打ち合わせを行い、クライアントとすり合わせをして、お互いのイメージを共有し、それを要件定義書に落とし込み、クライアントから合意を得ておくことが大切です。
Webサイト構築には要件定義が必須
要件定義はWebサイト制作やWebシステム構築をするうえで、欠かせない、最初に必要となる工程です。
クライアントが求める要求を確認して、それを細かく要件定義書に落とし込み、完成形をイメージしてもらう必要があります。
開発するエンジニアにとっても、重要なベースになるので、クライアントのニーズを徹底的に引き出すスキルや判断力などを駆使して、齟齬が起こらないようにしなくてはなりません。