システム開発の要件定義って何?発注側がやるべきことを具体例で解説

20年以上の実績があるシステム開発会社の視点で、システム開発会社の選び方や費用について解説しています。
「システム会社が多すぎて、何を基準に選べばいいのかわからない!」という方は、こちらの記事をご参考ください。

それでも「よくわからない……」という場合は、弊社セルバまでご相談ください。

Webサイトなどのシステム開発を発注する際に、必ず出てくるのが「要件定義」。
しかし、IT技術に詳しくなければ

そんな言葉初めて聞くんだけど・・・

と不安な方も多いはず!と考え、要件定義についてわかりやすく解説していきます。

「要件定義とは?」という根本部分から、「もしワーママ専門の特化型求人サイトを作るなら?」という例にあわせて、発注側がやるべきことや考え方をまとめていきます

目次

要件定義とは?

要件定義について説明する前に、システム開発の全体像を把握しておきましょう。

システム開発を行う際は、以下のような工程によって進めていきます。

引用元:Qiita

このように、要件定義は工程の中でも一番最初に行う工程で、この図の①~③にあたる工程だけで全体の5割の時間を使うほど、システム開発にとって重要なものです。

では、要件定義の定義と目的、作る前に考えておくことについて詳しく解説していきます。

要件定義の定義と目的

まずは、要件定義について詳しく見ていきましょう。以下、引用です。

要件定義とは、システム構築の仕様を定義することです。(中略)「要件定義」は、システム開発の目的を実現するために必要な機能や非機能要件、業務要件、運用要件、外部連携システムなどに加え、予算や開発スケジュール等をまとめる工程でもあります。

引用元:Techfirm Blog

いきなり専門用語が並びましたね。
これでわかる通り、ある程度専門知識がないと「要件定義書」を作成していくのは難しそうです。
また、発注先の開発会社によって「要件定義」の定義が違うことがあるので、開発会社に「どんなところまで作る必要がありますか?」と聞いてみてもいいでしょう。

また、要件定義の目的は、開発者と発注者が頭の中にあるイメージを明確化して伝え合うことです。
発注者がいくら「こんなサイトを作りたい」と思っていても、それが開発者に伝わるように言語化できていないと、発注者がイメージしている通りのものを作ることができません。

例えば、おなかがすいた時に「コンビニで甘いお菓子買ってきて~」と頼んだとします。
その時頭に思い浮かべていたのが、チョコレートやグミだったとしても、買ってくる人は具体的に要求されていないので、もしかしたらお饅頭を買ってくるかもしれませんよね。
チョコレートの口の時に、お饅頭はさすがに食べられません(笑)

それと同じように、しっかりと”どんなイメージがあるのか”をお互い共通認識として持っておくため、できる限り細かく言語化しておくようにしましょう。

要件定義書を作る前に

要件定義とは、システム開発を行う際に書面化された共通認識だということがわかりました。

一般的な「要件定義書」には、システム上で必要な機能についてや予算、開発スケジュールなどを記載しておく必要がありますが、発注者は機能についてはもちろん、予算感やスケジュール感も掴めないことが多々あるかと思います。
そこで必要になってくるのが「要求定義」です

開発会社によっては、発注側に「要求定義」の提出を求め、それをヒアリングしながら「要件定義」を一緒に作っていく企業も数多くあります。
弊社も例に漏れず、クライアントには「要求定義」の作成をお願いしています。

「要求定義」であれば、作成するのはそれほど難しくないと思いますので、ここからは「要求定義」の作成について触れていきますね。

発注側が必ず求められる「要求定義」

前述の通り、「要件定義」を作成するのに必要なのが「要求定義」。その作り方について、詳しく解説していきます。

要求定義とは?

要求定義を作成する前に、ソフトウェア開発の工程とどのように繋がってくるのかを見ていきましょう。
以下、引用です。

引用元:Techfirm Blog

システム開発において、開発の前には設計開発後にはテストを行っていくのですが、設計の工程とテストの工程をリンクさせることで、なにか不具合が発生した時に特定しやすくしているそうです。

テスト過程を基準にして簡単に説明すると、以下の通りです。

総合テスト実装した機能が正常に動くか、求められている機能が備わっているか確認(=要件定義
受け入れテスト発注者が求めていたシステムになっているかを確認(=要求定義

実装する機能が発注者側の意図に沿っているかどうかがとても大事になるので、要求定義でイメージを言語化することがいかに大事かということがわかりますね。

具体例「もしワーママ専門の特化型求人サイトを作るなら?」

では、実際に「もしワーママ専門の特化型求人サイトを作るなら?」というテーマで要求定義を作っていきましょう。

必要なのは、要件定義を考えるときによく使われる「2W1H(Why, What, How)」です。

まずは「Why」から。

Why:システム開発の目的(要望)

ここで考えるべきは以下の3点です。

①現状の課題は何か

②ゴールは何か

③現状とゴールのギャップは何か(解決すべき課題)

では、具体的にどう考えるか、具体例を挙げてみましょう。

①現状の課題は何か

  • どのようにユーザー(ワーママ)を増やすか
  • どのように掲載求人数(ワーママOKの企業)を増やすか
  • 競合とどう差別化するか

②ゴールは何か

多くのワーママがいきいきと働ける場所を提供する

競合:アクセス数 15,000

   ユニークユーザー数 2,700人

ゴール:アクセス数 20,000

    ユニークユーザー数 3,500人

③現状とゴールのギャップは何か(解決すべき課題)

競合とどう差別化するか

∟アルバイト求人も掲載して、掲載数を増やす

∟他の求人サイトからも求人情報を掲載できるようにして、成果報酬型にする

求人掲載数で差別化できるのでは

このように整理していくと、解決すべき課題や、必要な機能が自ずと浮かび上がってきますよね。
そのためにも、競合分析を事前に行っていくことが欠かせないと感じます。

次は「What」を考えてみましょう。

What:どのように課題を解決するのか

ここで考えるべきは以下の3点です。

  1. システム導入後の業務フロー
  2. 機能要件(システムに実装する機能について)
  3. 非機能要件(処理スピードやセキュリティなど)

では、具体的にどう考えるか、具体例を挙げてみましょう。

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

・成果報酬型にすることで、営業にかける時間を減らすことができる

  ⇒管理側で応募フローを確認できたほうがいいかも

・コンテンツを充実させることで、流入を増やす

  ⇒ブログ機能が必要かも。また、SNSや広告などでの周知も行っていくべき

・ユーザーのフォローを第一に考えた求人サイトにする

  ⇒検索履歴などにより算出されたオススメの求人情報を個別で届けられるようにするのがいいかも

2.機能要件(システムに実装する機能について)

・条件検索(勤務地・業種・職種・雇用形態・勤務時間・在宅可否・年収・休日)

・マイページ登録

・求人情報の自動掲載

・ブログ機能

・メールマガジン機能

・個別メッセージ機能

3.非機能要件(処理スピードやセキュリティなど)

・忙しく働くワーママ対象のため、サイトがサクサク動くことは必須

・数多くの個人情報を取り扱うため、セキュリティは強いほうが良い

このように具体的にリストアップしていくと、いつのまにやら要求定義を作成することができました

また「How」とは、具体的な画面設計や機能、実装する際の技術についてになるため、要件定義でしっかりと詰めておくといいでしょう。
その際は上記の「Why」と「What」の内容を意識して、開発会社に要求を伝えるようにしてください。

また、予算や開発スケジュールについては、絶対的な要求がある場合は必ず伝える必要がありますが、開発内容を重視するのであれば、ある程度の予算の前後は見込んだうえで開発会社に相談すると、よりよいシステムを開発できるでしょう。

発注に失敗しないためのポイント

最後に、発注を行う際に失敗しないよう、注意するべき点を説明していきます。

開発会社の選び方

これは大前提ですが、開発会社の選び方を間違えてしまわないよう注意が必要です。

開発会社には、大きく分けて2種類の企業が存在します。

  • プログラム実装のみを専門とする開発会社
  • 設計からテストまで、システムの全般をサポートする開発会社

「プログラム実装のみを専門とする開発会社」の場合、設計などに時間を要しない分、開発費用は安く済む場合がありますが、要件定義を自社で全て作成しなければなりません
専門知識がある場合は、要件定義まで難なく作成できるかと思いますが、知識がない場合は発注すらできない可能性があります。

その場合は、弊社のように「設計からテストまで、システムの全般をサポートする開発会社」を選べば、要求定義を丁寧にヒアリングしたうえで一緒に要件定義を作成できるので、安心ですよね。

もし開発会社選びに迷った場合は、以下の記事も参考にしてくださいね。

要件定義書・要求定義書を作成するポイント

設計までの書類作成で、必要なポイントをまとめると、以下の通りです。

  • イメージをできる限り言語化すること
  • あいまいなゴールにせず、できる限り数値化すること
  • 開発会社に丸投げにしないこと

イメージをできる限り言語化すること

要求定義や要件定義を考えるときに、「なんとなくいい感じにしてほしい」などの曖昧な表現でイメージを伝えると、発注者と開発者の間でイメージのずれが起こりやすく、思った通りのものに仕上がらない可能性があります。

そのため、具体的にイメージを言語化するように努めましょう。
誰が見ても同じイメージが湧くように言語化できれば、開発するときにイメージと異なる成果物に仕上がってしまうのを防ぐことができます。

あいまいなゴールにせず、できる限り数値化すること

上記でも述べた通り、イメージの共有はとても大事です。そこで一番有効なのは「数値」
しっかりと数値化することで、より具体的にイメージを落とし込むことができます。

サイトを運営する上で、最低でも月にどのくらいの成果(コンバージョン)が欲しいのか、どのくらいのPV数が欲しいのかなども入れられると、開発だけでなく、サイトやシステムの運営の際に役に立ったり、運営していく中でどのような目標を立てればいいかなどの参考にもなります。

開発会社に丸投げにしないこと

確かに知識がないと「プロに任せたほうが安心」と思うのはわかります。
しかし、プロでも発注者がどのようにしたいと思っているのかまで予測するのは難しいです

よりよいシステム開発を進めていくためには、発注者も開発者もお互いに相談しながら共創していく気持ちで取り組むのが、ベストなシステムを作るのにお互いにとって大切な考え方であると考えます。

まとめ

要件定義や要求定義について解説していきました。

実際にシステム開発を依頼する場合、分からないことが多く、開発会社を選ぶことも、完成したものをどう運営していくのかも、手探りでやっていかれる企業の方が多いかと思います。

弊社では、しっかりとその部分からサポートしながら、世の中に求められるよりよいシステム・Webサイトを開発できればと思っておりますので、迷われている方はぜひ一度ご相談くださいね。

WEB事業でお困りではありませんか?

サイトのアクセスが増えない……集客って何をすればいいの?

システムを作るなら損したくない!

新規事業を立ち上げたい!補助金は使える?

WEB業界・人材業界で創業20年以上、経営支援を行ってきました。
システムの開発のほか、補助金の申請支援や集客代行も承っております。
お気軽にご相談ください。

\ 小さなことでもお気軽に /

会社情報 | 実績 | サービス

  • URLをコピーしました!
  • URLをコピーしました!

U・Aのアバター U・A WEBマーケター

広告営業→誌面編集→販売接客→マーケティングと様々な経歴を持つ1児の母。
子育てしながらも、自分の想像力を活かした仕事がしたいと、マーケティング未経験者ながらセルバに入社。
日々勉強しながら、SEO対策などに従事。

目次