システム開発で大切な要件定義とは?進め方やコツを紹介

更新日:2020年06月01日 発注カテゴリ: Webシステム開発
システム開発で大切な要件定義とは?進め方やコツを紹介

システム開発を行うための工程は多いですが、その中でも特に重要な工程があります。それが「要件定義」です。要件定義の善し悪しがシステム全体の成功のカギを握っているといっても過言ではありません。システム開発には少なくない費用を投じなければなりませんから、できる限り多くの利益を得たいと願うことでしょう。ではシステム開発の外部委託を成功させるための要件定義とはどんなものかについて考えていきましょう。

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

要件定義とはあまり聞きなれない言葉ですが、いったいどんなものなのでしょうか。簡単に言えば要件定義とは、開発されるシステムにどんな機能が実装されているべきか、どんな性能を持っているべきかを明確にする作業のことです。

家を建てることになぞらえて考えてみましょう。ある顧客が家を建てる場合、ハウスメーカーはその顧客の要望をできるだけ叶えるようにするはずです。広い庭が欲しい、三階建てにしたい、暖炉が欲しい、吹き抜けが欲しいといったわがままも聞いてくれます。

設計の段階に入ってからもその要望が変わる可能性もあるでしょう。その希望をもとに建築士が設計を行い、顧客と何度も話し合いながら顧客の頭の中にあるビジョンを徐々に形にしていきます。設計が終われば設計図が描かれ、その設計図通りに大工さんが家を建てることになります。

つまり家を建てる前、さらに言えば設計をする前にはすでに顧客がどんなことを希望しているのかをハウスメーカーは把握していなければならないのです。システム開発についてもまったく同じことが言えます。

システム開発を手掛ける会社は、顧客がどんなビジョンを持っているかを明確に把握していなければなりません。自社サイトに訪問するユーザーを増やしたい、多言語に対応できるサイトを作りたい、顧客の個人情報を管理するシステムが欲しいなど、顧客の要望は様々です。

何度も話し合いを重ねて顧客の要望や目的、成し遂げたいことに関する共通認識を作っていかなければならないのです。十分な話し合いを行い、双方がビジョンを共有することができた時、それが要件定義となります。

一般的には要件定義は文書化され、後で認識の違いが生まれないようにされます。さらに要件定義の段階では「どんな」目的や機能を有するかは決められますが、「どのように」行うかは後で決めることになります。

システム開発の要件定義書に記載すべき項目

システム開発の要件定義書には「システムに関する項目」「機能要件に関する項目」「非機能要件に関する項目」が記載されています。以下それぞれの項目について解説。業者と一緒に要件定義を固めていく際、これらの項目について認識のすり合わせが必要です。

システムに関する項目

システムに関する項目は要件定義書の要となります。どのようなシステムを設計するかが記載されているので、必ず確認しましょう。

システムの概要

システム利用者の視点で書かれている「業務要件」と、エンジニア視点で書かれている「システム要件」の2つが記載されています。

これらを確認することで、どのような機能を備えたシステムであるか概要を知ることが可能です。

例えばサイトで商品購入ができるシステムの場合、「業務要件」には商品購入が記載され、「システム要件」にはカートに商品を入れるといった項目が記載されるでしょう。

システム導入の目的

導入する機能の目的が記載されています。その機能を導入することでどのような要望が実現できるかを確認できます。

システム導入後の業務フロー

システムを導入することで、これまでの業務がどのように変化するかが記載されています。

例えば自動釣銭システムの場合、システムを導入することでレジ打ちがこれまでの方法から変わるでしょう。どのように変わるかの詳細をここで確認することができます。

機能要件に関する項目

機能要件にはシステムの利用者が求める機能が記載されています。具体的にシステムが処理できる内容や、システムの種類・構造が記載されています。

機能要件は、業者と打ち合わせを何度も行って作成します。全ての項目を実装すると費用が大きくかかってしまいますので、予算内に収めるために導入を検討している機能には優先度をつけておきましょう。

非機能要件に関する項目

非機能要件にはシステムの性能や効率性、セキュリティや保守・運用サービスなど、システムの利用者が機能面以外で求めている項目が記載されています。

機能要件と同様、業者と打ち合わせを行って作成します。その際、システムの性能やセキュリティ保守など、自社に合った最適なものを提案してもらえるでしょう。

理想的なシステム開発の要件定義書とは

ここでは理想的な要件定義書の特徴を解説します。システム開発会社と一緒に要件定義を行う際は、こちらのポイントを踏まえて作成することで、トラブルを防ぐことも可能です。

階層構造で作成されている

業者から渡された要件定義書は見やすいものであるか確認しましょう。読み手に配慮して読みやすい文章構造で書かれている要件定義書が理想です。

アウトラインが階層構造になっている要件定義書は、読みやすいだけでなく全体像の把握が簡単にできます。

こうした配慮が行き届いている業者はシステム導入後もサポートが手厚く、わかりやすい説明が受けれるでしょう。

誰にでも分かる文章

文章の構造だけでなく、わかりやすい文章で書かれているかも大切です。IT分野に長けていない人でも分かるように書かれた文章が理想です。

SEやプログラマ向けの専門用語を多様せずに、利用者にわかりやすい表現で文章を書いてくれる業者は信用できるでしょう。

要求の解説策が記載されている

要求に対する解決策が記載されているかを確認しましょう。いくら要求が読みやすく明確にまとまっていても、それに対して解決策が記載されていなければ要件定義書として本来の役割を果たしていません。

要件定義の進め方で注意すべきポイント

業者と打ち合わせをして要件定義を進める際に注意したいポイントを以下で解説します。

システム開発で何を実現したいのか把握する

システム開発で何を実現したいのかを把握しておきましょう。システム開発で解決したいことを曖昧にしていると、業者と身のある打ち合わせができず、打ち合わせの回数が増えてしまいます。

事前に社内の課題を整理しておくことが大切です。また、実際にシステムを利用する部門の責任者も業者との打ち合わせに同席しましょう。実際に利用する社員の意見を踏まえずに要件定義を進めてしまうと、使いにくいシステムを実装してしまうことになりかねません。

技術や知識のある方が担当しているか確認する

技術や知識のある方が担当しているかを確認しましょう。要件定義はシステム開発をするために必要な情報を集めて整理する工程なので、開発の知識がどれだけあるかによって精度が変わります。

知識や技術のない方が担当になると、機能の考慮不足や検討漏れなどのミスで大幅なスケジュール遅延が起きかねません。

また認識の違いから、要望と異なる機能が実装されるケースも考えられます。知識や技術があり、適切な提案をしてくれる優秀な担当者を選びましょう。

曖昧な部分は可能な限り残さないようにする

要件定義を行う際に重要なのが、曖昧な部分を残さないことです。要求を曖昧にしてしまうと、システムを実装した後で気になる点や修正して欲しい点が見つかる可能性があります。

その対象がシステムの基幹部分にあたると、容易に修正ができません。必ず業者と打ち合わせをする段階で曖昧な部分をなくしましょう。

画面ひとつとっても、レイアウトやデザイン、表示する項目など様々な要素があります。これら全てを明確にするのは現実的に難しいですが、少なくとも必須機能については要求を明確に伝えられるようにしておきましょう。

要望をまとめた提案依頼書を用意するのもアリです。詳細は提案依頼書(RFP)とは?システム開発における要件定義との違いと作成ポイントを徹底解説で解説していますので参考にしてください。

「必須機能」と「あったら便利の機能」を見極める

「必須機能」と「あったら便利の機能」を見極めましょう。業者に実装して欲しい機能を伝える際、ついやってしまうのが「あったら便利の機能」をたくさん要望してしまうことです。

欲しい機能を全て実装すると、費用が高くなり工期が伸びてしまいます。予算や工期が決められている中では要望する全ての機能を実装することは難しく、「必須機能」と「あったら便利の機能」をあらかじめ見極めることが大切です。

要件定義作成時にチェックするべき開発業者のスキル

コミュニケーション能力はあるのか

要件定義の工程で、業者は発注者の要望や意見を形にするために充分なコミュニケーションをとらなければいけません。しっかりと要望を汲んでくれるためにも担当者のコミュニケーション能力をチェックしましょう。

担当者の中には、発注者のITレベルを気にせずに専門用語を使って話す方がいます。会話をしていて意思の疎通ができていないと感じたり、何を話しているかわからないといったケースでは担当者の変更を検討した方が良いかもしれません。

ドキュメント作成能力はあるのか

要件定義書において、誰が見ても同じように理解できるドキュメント能力が開発業者には必要です。要件定義書に沿って作業する人がいつも同じとは限りません。プロジェクトの途中で関わる社員が変わるということもあるでしょう

読む人が変わっても、常に同じ共通認識を持てる要件定義書を作るのはかなり高度な技術を必要とします。もし人が変わると読み方が変わってしまう、もしくは認識に違いが出てしまう要件定義書を作ってしまうとプロジェクトがうまくいかなくなってしまう恐れもあるので十分な注意が必要です。

そのため発注者側として、業者から渡された要件定義書のドキュメント能力をチェックしましょう。

まとめ

要件定義は、システム開発の上流工程の一部であり、システム開発を成功させるために非常に重要なポイントとなります。良い要件定義書を作るために最重要な要素はコミュニケーションです。顧客は自分の要望を明確に示すことが必要でしょう。

一方でシステム開発を請け負う側は顧客の要望を把握するだけでなく、潜在的な必要を引き出すことで顧客が本当に満足するシステムを納品することができます。

ヒアリング能力、ドキュメント能力、リスクヘッジ能力など、求められる能力は多くありますが、システム開発を成功させてその後も良い関係を続けていくためにも、時間を惜しまず要件定義を構築していくことが必要なのです。

Webシステム開発を一括見積もりで発注先を楽に探す
比較ビズへ掲載しませんか?

Webシステム開発の案件一覧

Webシステム開発のお見積り案件の一覧です。このような案件に対応したい場合は「資料請求フォーム」よりお問い合わせください。

一括見積もりで発注業務がラクラク!

  • 無料一括見積もりで募集開始
  • 複数の業者・専門家から提案が入る
  • ピッタリの一社を見つけよう

不透明な見積もりを可視化できる「比較ビズ」

比較ビズは「お仕事を依頼したい人と受けたい人を繋ぐ」ビジネスマッチングサービスです。
日本最大級の掲載企業・発注会員数を誇り、今年で運営15年目となります。
比較ビズでは失敗できない発注業務を全力で支援します。

日々の営業活動で
こんなお悩みはありませんか?

営業活動でよくある悩み

そのお悩み比較ビズが解決します!

詳しくはこちら
お電話での見積もりはこちら

一括見積もりで発注先を探す