システム開発時の要件定義とは?わかりやすく解説

システム開発を行うと出てくる言葉として「要件定義」があります。この文言について意味を知らない方も多いのではないでしょうか。

要件定義とは簡単に言うと「依頼者の要望をきっちりまとめたもの」となります。その為に、システム開発において要件定義を行うという事は非常に重要なポイントとなるのです。

この要件定義をしっかりやらなければ、後々トラブルが起きたり、やりたい事が出来ないシステムに出来上がるリスクを抱えてしまいます。

どうやればしっかりと満足の行く「要件定義」が行えるか、わかりやすく解説致します。

まずは要件定義の下準備

要件定義を行うのは依頼者ではなく、システム会社になります。あくまでも依頼者はシステムで何をしたいのか、何を実現したいのかをシステム会社に話、その話の内容を細分化し要望を一つ一つまとめる作業を行います。

完璧な要件定義を行うためにも、まずしっかりと社内で下記内容をまとめる必要があります。

・やりたい事、実現したい事
・関係者をリストアップする
・予算
・納期

この4つは最低限まとめる必要があります。そうしなければ、話を聞いたシステム会社も一体何を作れば良いのかわからなくなってしまい、良いシステムが出来上がらない可能性があります。

それでは、一つづつ解説を行います。

・やりたい事、実現したい事
システムを開発するという事は何かしらの要望や問題が発生しているからこそ、お金をかけて開発を検討されるのでは無いでしょうか。その要望や問題を開発にあたり、一個でも多く書き出すことが重要になります。


システムを開発するという事は何かしらの要望や問題が発生しているからこそ、お金をかけて開発を検討されるのでは無いでしょうか。その要望や問題を開発にあたり、一個でも多く書き出すことが重要になります。

システム開発の初期で大切な事はちょっとした事でも、些細な事でも書き出すことが重要になります。もし、些細な事と思っていたがシステムを使ううちに必要なものになっていき、結局開発を依頼するとなると初回よりも高い費用がかかる場合もある為です。

そうならない為にも、出来る限り多くのことを書き出してみる事が重要です。そうする事で、必要な物、不必要なものを判断でき目的とするシステムを開発する事が可能となるのです。

・関係者をリストアップする
今後、システムを開発した後は誰がそのシステムを使うのか、使う方を調べる必要があります。それは直接的に利用する方も、間接的に利用する方も挙げられます。

理由としまして、システムを開発し実際に現場で扱う方々の要望なども開発には必要な情報となります。勿論それは機能面や使い勝手なども含めて相談する事で、実際に利用しやすいシステムが出来上がる為です。

また、間接的に利用する方というとシステムを使うことによって何らかのデータの入出力が必要になるかと思われます。システムを扱わずとも、そういったデータを提出したり、利用する方々も出てくるかと思いますので、どういったフォーマットのデータ出力、入力が良いなどの事もヒアリングする必要があります。


・予算
予算を決めるという事は重要項目の一つです。いくらでも使える予算があれば話は別ですが企業は決められた予算組の中でシステム開発を行わなければいけません。その為に予算によっては要望の出来る事、出来ない事も発生します。

最初に予算組をしっかり決める事でシステム会社との無駄な時間も使わずにスムーズに開発を進める事が出来ます。もし、予算を後から決めて莫大なシステム開発費の見積もりが上がってきたとしても、無駄になってしまう為です。

・納期
そのシステムが一体いつまでに必要なのか、を決める必要があります。基本的にシステム開発は短い期間で沢山の事をやろうとすると高い費用がかかってしまいます。理由としては、多くのことを短い期間で行う為には沢山の人数が必要となってしまい、人件費としてシステム開発費用に乗っかてくる為です。

また、納期によっては費用と同じく開発出来ない部分も発生します。納期は出来る限り余裕をもって対応する事が望ましいと言えるでしょう。

質の高い要件定義を行うために

先程の部分で、要件定義を行う材料は全て出たと言ってもいいでしょう。次に必要なのは、最高のシステムを作り上げる為の質の高い要件定義となります。

材料を出した後は、今度はシステム会社との調整となります。やりたい事と予算、納期を天秤にかけ本当に必要な物を抜き出していきます。また、この段階で足りない物も出てくる場合があります。そういった情報をまとめながら要件定義を進めて行くこととなります。

そこで多くの会社でぶち当たる壁が下記になります。

やりたい事に大して予算と納期が足りない

多くの会社に言える事ではないでしょうか。最初、「出来る限り多くのことをリストアップする」とお伝えしたのですが、結局出来ないじゃないか!と思われるかもしれませんが、とても重要な事なのです。

では、予算と納期が足りない場合はどうするでしょうか?そのどちらもが増やせれば一番ですが、やはり最初に決めた予算と納期はなかなかずらせないものです。

その為に、最初にピックアップした要望を再度検討する必要があります。その検討のやり方としては下記になります。

1.まとめられる要望が無いか
2.本当に今必要なのか
3.納期をずらせる物はないか

この3つを元に再検討を行う事で、納期と予算に折り合いをつける事が可能になります。それでは解説致します。

1.まとめられる要望が無いか

これは様々な方が言った多くの要望が集まっているかと思いますが、よく見ると同じような要望が多く見つかるはずです。そういった要望をまとめていったり、代替えとして出来る案にまとめる事で、作るものを削減する事が可能になります。

2.本当に今必要なのか

それでも、まだまだまとまりきらない場合は「本当に今必要なのか」という事を考えて再検討する必要があります。要望をあげると、多くの方が「あったらいいな」程度の機能などもリストアップする事があったり一部の人間しか利用しない機能などが出ている場合があります。そういった物を再度検討する事で「本当に今必要なものは何なのか」というポイントが見えてくるはずです。

3.納期をずらせる物はないか

会社によってはなかなか予算を増やすことは出来ないが、納期をずらす事が出来る場合があります。それも、全体の納期ではなく例えば機能の一部を後から実装したりする事も可能な場合があります。必要最低限なものでリリースを行い、その後追加機能を実装する場合もよくあります。

これらの3つを使い、本当に必要なものを定めて納期と予算内に収める事で質の高い要件定義を行う事が可能になるのです。

完璧な要件定義に仕上げる為に


要件定義が完成して開発をスタートしてしまうと、それ以降は新しい機能や変更は難しくなります。何故らなら、全ての項目を元に設計を行っていくために一つを変えると、それに付随する機能なども変更しなければいけなくなる為です。

そうならない為にも、システム会社から出来上がった要件定義書を再確認の為に確認する事が重要です。よくある事がシステム開発を行っていくと足りない機能が判明し、追加でお願いした所追加料金を多く取られた等の話を聞く場合があったり、システム開発会社が追加の修正依頼が多く来すぎて開発をストップしたりなども実際にある話です。

そうならない為にも、システム開発会社に全てを丸投げするのではなく出来上がった要件定義書を双方で確認しながら、足りないものは無いか、間違っている部分は無いか等の確認が必須となります。

トラブルの原因の一つが「相手任せ」という事が挙げられるでしょう。実際にシステムを利用するのは発注者なのです。その発注者が開発を人任せにするという事は良いシステムを作る事は出来ないのではないでしょうか。

要件定義のまとめ

要件定義がどういったもので、何故重要なのかが理解して頂けたかと思います。要件定義を行うのはシステム会社ですが、良い要件定義を作るのには依頼者の協力が必要不可欠なのです。良いシステムを作るためにも積極的に要件定義作成に関わり、意見交換を行う事が大切ではないでしょうか。