プロジェクトで超重要!要件定義について理解しよう

はじめに

みなさん、こんにちは。ソフトウェアやシステム開発を行う上で欠かせない要件定義について、どのくらいご存知でしょうか。IT業界に携わる仕事をしている方は、少なくとも耳にしたことがあるはずです。要件定義とは、相手の求めている機能や抱えている問題をどの情報技術を利用して解決するかを考え、資料にして共有することです。

IT業界に興味のある方やこれからIT業界に入ろうと考えている方にとって、要件定義は必須の知識となります。今回はわかりやすいように、要件定義とは何かという全体的なところから、プロジェクト上での要件定義の立ち位置、業務内容についてを順に説明していきます。最後までご覧いただけると幸いです。

要件定義とは

要件定義とは、お客様の要求をシステム化する為の最初の設計図を作成することです。要件という言葉には、必要な条件という意味があります。つまり、お客様の現状を把握して、それを解決する為に必要なシステムや機能を決めることです。そして要件定義は、大きく下記の2つに分類することが出来ます。

  • 機能面の要件定義:システムが処理できる内容や機能などについて
  • 機能以外の要件定義:システム効率やセキュリティ、保守・運用などについて

クライアントにとってメインとなるのは、やはり機能面の要件定義となります。しかし、機能以外の要件定義も非常に重要になります。こちらの話も打ち合わせの際に詰めていないと、後々相手の認識との間に大きなズレが生じてしまいます。計画をスムーズに進行していく為には、注意したいポイントです。

プロジェクトにおける要件定義の立ち位置

ソフトウェア開発などのプロジェクトを進めていく際によく利用されるのが、ウォーターフォールモデルです。滝のように水が上から下に流れ落ちていくイメージで、一般的な開発工程を上流と下流に分けて開発を行います。開発工程はざっくり捉えると要件定義から設計、製造、テストという流れが主流です。要件定義の立ち位置がわかりやすいよう、上流工程と下流工程の内容を簡単に説明します。

◆ 上流工程

上流工程では、現場によって異なりますが、実際のお客様の要求を分析するところから、詳細設計を作成するところまでを行います。ここで難しいことは、お客様の抱えている問題を解決する為に、どのような手段を用いてアプローチするかを考えることです。下流工程で培ってきた経験を基に、システムを導入してからユーザーが利用するまでの流れを想像しながら模索します。方法が決まり次第、機能面の設計や全体の設計に移っていきます。

◆ 下流工程

下流工程の仕事は、上流工程で作成した設計図を基にしてプログラムを書いたり、そのテストを行います。IT業界の仕事というと、こちらをイメージする方が多いのではないでしょうか。特にコードを書いていることが多いと思われがちですが、全体からするとプログラミング業務の割合は少ないです。

要件定義の業務内容

では実際の要件定義の業務内容について3つに分けて説明していきます。

  • クライアントの現状を把握して要求を正確に捉える
  • 要求を満たす為の方法を導き出す
  • 要件定義書を作成する

◆ 要求を把握する

先ずは、お客様が求めている機能や抱えている問題を把握する為にヒアリングをします。どの業界におけるサービスも同じですが、システム開発もお客様ありきです。お客様が使用している既存のシステムも踏まえて、認識のズレが生じないように入念に確認をします。また後になって必要な機能や要望が出てこないように、上手く相手の要求を聞き出すコミュニケーション能力も必要となります。

◆ 要求を満たす為の方法を導き出す

ここが一番の難所で、今までの知識や経験が試されるポイントとなります。現状の課題に対して、どのようなシステムや機能を利用することで解決することができるかを考えます。重要なことは、現在の状態からシステムを導入して活用できるまでの流れを鮮明にイメージすることです。イメージ後の結果から、計画を上手く立てていくことが必要となります。

◆ 要件定義書を作成する

上記の2点を終えたら、要件定義書の作成を行います。実際にどのようなシステムや機能を利用して、必要な条件を満たしていくのかを記述していきます。ここで注意しなければいけないことは、誰でも要件定義書の内容を理解できるように作成することです。お客様を含め、エンジニア以外の方にも今後の方針が伝わる資料にする必要があります。

さいごに

要件定義についての基礎知識はお分かりいただけましたでしょうか。要件定義は上流工程の1つで、自ら解答を絞り出さなければいけない業務です。お客様の要求を正確に捉える為の聞く力や解決策の提案からユーザーが利用するまでのプロジェクト全体を把握する力、要件を簡単な資料に落とし込み全体に共有できる力が求められます。

要件定義は、プロジェクトの土台となる非常に重要な役割です。その分、仕事のやりがいもございます。要件定義を含めた上流工程の業務を希望する為には、下流工程の業務を行っている段階から、プロジェクト全体の流れを意識的に観察してもいいのではないでしょうか。最後までご覧いただき、ありがとうございます。この記事が少しでもお役に立てていれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です