株式会社ANY

ブランディング

要件定義書に「要求定義」が必要な理由とは?

要件定義書に「要求定義」が必要な理由とは?

Web制作におけるシステム開発では、システム開発者(SE)が開発するシステムの内容が書かれた「要件定義書」に始まり、実際のシステム開発に関わる「設計書」の作成といったプロセスを経る必要があります。

今回は、システム開発を行う前に「なぜ」要件定義書や設計書を作成する必要があるのかについて、また作成のポイントや開発段階で起こる課題について紹介していきます。

システム開発における「要件定義書」とは?

Web制作におけるシステム開発では、システム開発者(SE)が重要な役割を果たします。なぜなら、しっかりと聞き出したクライアントの要求やニーズを、クライアントのイメージに合うシステムとして納品する必要があるからです。

そのシステム開発の初期段階に作成されるものが「要件定義書」になります。要件定義書は、クライアントの要求を満たすために必要な機能や、システム導入によって何ができるようになるかといった機能要件の説明などを行うものです。

したがって、要件定義書に書かれる項目ごとにクライアントとの協議が必要となります。始まりの段階である要件定義書でクライアントとの間で認識のズレがあると、後々になって追加する機能が出てしまい対応に苦労してしまいます。

そのため要件定義書作成時には、システム導入によって「何がどう変わるのか」を明確にし、両者が納得する内容で次のフェーズに進むのが良いと言えます。システム開発者(SE)は、クライアントが求めるものに対応する「開発プランの機能や性能」を慎重に定義していきましょう。

要件定義書に書かれる項目

要件定義書の重要性が分かったところで、要件定義書に書かれる項目について知っておきましょう。

要件定義書では、システムの概要を記載することはもちろんのこと、システム導入の目的を明らかにしておくことが重要です。

システムを導入することによって、どういったことができるようになるのか(業務フローの変化など)を記載していきましょう。しっかりとクライアントの要求に沿ったものとなっているかどうかを協議する項目となります。

協議のポイントは「必要なもの」と「不要なもの」の区別を付けることです。システム導入を行うことで達成される目的を最優先とし、システム導入以外の方法でアプローチできる課題であれば、不要なものとしての認識を共有しましょう。

また、開発されたシステムが処理する内容などをまとめた「機能要件」や、システムの拡張性やセキュリティといった「非機能要件」の記載も必要となります。

要件定義書作成のコツ

要件定義書作成のコツとして、クライアントの要求をまとめた「要求定義」を利用しましょう。

要求定義は「システムに対する要求」をまとめたものです。つまり、クライアントがシステム導入することによって実現される業務効率化などの内容そのものが要求定義にあたります。

要求定義をしっかりとまとめた上で要件定義書を作成するのが、後に変更などの少ない良い要件定義書となるでしょう。

システム設計を左右する「設計書」とは?

システム開発の要件定義をした後に作成されるのが、システム開発の「設計書」になります。設計書は要件定義書で決めた内容をもとに作成されます。

システム開発における設計には2種類あり、クライアントと確認することのある「基本設計」とシステム開発者(SE)側で確認する「詳細設計」があります。

前者では要件定義書で作成した内容に基づく「画面設計」や「業務運用設計」をはじめ、その業務で使用される機能の一覧表といったユーザー視点の項目が作成されます。

一方の後者では、開発に使用する言語やサーバーといった「開発環境」などが書かれており、システム開発者(SE)向けに作成されるものです。

設計書作成のポイント

設計書作成のポイントは、その設計書を読む人のことを考えて作成することです。設計書を読む人がクライアントであれば分かりやすい言葉で補足する必要がありますし、システム開発者(SE)であれば逆に省略できる場合もあるでしょう。

また要件定義書で書かれた内容と重複しないように作成することも、良い設計書を作るコツの1つです。なぜ設計書を作成する必要があるのか(作成の目的)を理解した上で作成を行いましょう。

設計における課題と解決方法

要件定義書作成や設計書作成に十分注意したとしても、実際のシステム設計における課題は残ってしまいます。その1つが「システム設計の属人化」です。

システム設計が属人化してしまう背景には、システム開発者(SE)や開発チームによってシステム設計の方法が異なってしまうことにあります。

この部分を標準化することができれば、システム開発関係者以外の人でもプログラムを簡単に理解できるようになり、システム設計の属人化を防ぐことができます。

システム設計段階では、システム設計の属人化を防ぐ方法として、設計書フォーマットや記述方法が決まった「設計書作成ツール」を使用することを検討してみるといいでしょう。

設計書作成ツールの中には、画面レイアウトを作成すると項目一覧表を自動生成するものもあり、設計書作成作業の効率化も期待できます。

要求定義と要件定義に注力しよう

Web制作におけるシステム開発ではクライアントの要求を引き出すことが重要となります。したがって、初期段階の要求定義や要件定義を慎重に行わなければ、せっかくシステム開発を行っても「イメージと違った」と言われかねません。

開発にかけた労力を無駄にしないためにも、クライアントへのヒアリングや協議は入念に行いましょう。

(画像はPixabayより)

この記事を書いた人

磯崎史弥

WEBの戦術設計や提案を得意とするWEBプランナー。実務のディレクション及び技術面の知識も豊富で、クライアントの意向をWEBプランニングに落とす事ができます。 コーディングや開発は事業スケールを意識した設計を中核にチーム形成まで視野に行うため多くのプロジェクトを成功に導いてきました。 commnet 正解や成功までの道は一つではないと思います。 特定の解法に拘らず、任意のケースにおいて実現可能な道とその先にある結果を提示することで、クライアントの決断を助ける活動をしていきたいと思っています。