要件定義は誰の責任になる?失敗しやすいケースや責任を全うするためのコツ

コラムCOLUMN

要件定義は誰の責任になる?失敗しやすいケースや責任を全うするためのコツ

2022/04/22

システム開発では最初の段階として要件定義を行います。

要件定義は、次のプロセスに影響を与える大事な作業であるため、しっかりと要件定義を行い、成果物を納品しなければいけません。

しかし、要件定義は曖昧になりやすく、責任の所在について問題になることがあります。

要件定義で失敗すると、プロジェクト全体が左右されてしまうため注意しましょう。

今回は、要件定義は誰の責任になるのか、失敗する理由は何か、成功させるコツは何なのかなどを解説していきます。

要件定義とは?

要件定義とは何なのでしょうか。

要件をまとめて進め方を決める

要件定義はシステム開発の最初のプロセスであり、クライアントからヒアリングした要望をまとめ、プロジェクトの具体的な進め方を決めるものです。

クライアントが何を必要としているのか聞き出し、具体的にどのような機能や性能をシステムに実装するべきかを定めます。

要件定義は、最初にしっかりとコミュニケーションを取り、要望を整理するところから始まります。

要望を細分化して整理し、さらに優先順位を付けるのが一般的です。

そして、要件定義の成果物として要件定義書を作成して、クライアントから承認を得られれば次のプロセスへと移行することができます。

要件定義書はクライアントだけではなく開発メンバーにも共有するものであり、システム開発の基盤となるものです。

要件定義は曖昧になりやすい

要件定義は注意しないと曖昧になりやすいです。

例えば、クライアント側にITの専門知識が欠けていれば、システム要件の洗い出しをエンジニアまかせにする場合があります。

一方で、エンジニア側はシステムの要件を出すのはクライアントの仕事であると考えるため、発注者から具体的な要件が出されないと困るのです。

このように両者の言い分や認識が異なると、要件定義がスムーズに進まなかったり曖昧なものになったりしやすく、プロジェクトが失敗してしまう可能性が高まります。

プロジェクトを成功に導くためには、お互いの責任を明確にすることが重要です。

要件定義は誰の責任になるのか?誰が行うのか?

要件定義はクライアントとエンジニアの両者で行うものです。

しかし、どちらに責任があるのでしょうか。それぞれの役割について紹介していきます。

どちらにも責任はある

基本的に要件定義は、エンジニアとクライアントがお互いに協力して進めるものであるため、どちらにも責任はあります。

しかし、要件定義の進め方に決まりがあるわけではないため、どちらの責任が大きいのかはその時の状況次第です。

また、クライアントがITにどれだけ精通しているかによって、エンジニアの対応は変わってきます。

基本的に要件を話すことができるのはクライアントのみですが、クライアントはそもそも要件定義のプロではないため、正確に要件を提示できない場合があります。

このため、エンジニアにはクライアントから要件を上手く引き出す責任があると考えられます。

もちろん、クライアント側もエンジニアに正しく要望を伝えられるように工夫する責任はあるでしょう。

いずれにしても、エンジニアはクライアントとしっかり打ち合わせをすることが大切です。

要件定義は、クライアントの要望に基づくものであるため、エンジニアや現場の人間は要件定義の結果のみを受け取れば良いのかと言うと、そうではないことを理解しておく必要があります。

要件定義における双方の主な役割

要件定義において、クライアント側とエンジニア側でどのような役割を果たすべきなのか、成功しやすい役割分担を紹介します。

クライアント側

クライアントが本当に必要としていることはクライアント側にしか分かりません。

このため、エンジニアに対してシステム要件の希望を正確に出すことが求められます。

クライアントが正確な情報を伝えることで、エンジニアはシステム開発のプロとして要件を上手く引き出してくれるのです。

また、システム化したい対象の業務についてはクライアント側がプロだと言えます。

システムにどのような機能要件を求めると業務改善に効果があるのかよく理解しているのはクライアント側であるため、システム要件の希望を出す役割を果たすことは重要です。

エンジニア側

エンジニアはシステム開発のプロであり、クライアントから上手く要件を引き出して要件定義書にまとめる役割を果たします。

クライアントが、上手く要件を伝えられないときには、しっかりとフォローして話を引き出しサポートすることもエンジニアの役割です。

要件定義の難しさをクライアント側は把握しておらず、要件の認識を誤っている場合もあります。

このようなクライアントに対しても、責任を持ってリードする役割を担うのがエンジニアだと言えるでしょう。

要件定義で失敗しやすいケース

次に、要件定義で失敗する理由を紹介します。

コミュニケーション不足である

クライアントとエンジニア同士のコミュニケーションが上手くできなければ、要件定義は失敗してしまう可能性があります。

クライアントの要望をきちんと把握しないまま開発を進めてしまうと、後で認識がずれていることに気がつき作業のやり直しを求められる場合があります。

あとからやり直しをするのは工数もかかり非常に大変です。

失敗しないよう、しっかりと打ち合わせをして要件のすり合わせをすることが大切です。

要件が曖昧である

クライアントがそもそも要件を明確にしていないと、要件定義そのものが曖昧になってしまいます。

また、エンジニアが要件の認識を誤っている場合もあるのです。

お互いが要件定義の目的やそれぞれの役割をきちんと理解して、協力しながら作業を進める必要があります。

それができていないと、要件定義が曖昧な状態で次のプロセスに移ってしまい、最終的な成果物が要件と合わないものになってしまうでしょう。

エンジニアの管理が甘い

エンジニアのスキル不足により、管理が甘くなってしまい要件定義が失敗する場合があります。

エンジニアは、クライアントから要件を聞き出す際に、それが実現可能であるのか判断することが重要です。

実現不可能な要求を受け入れ、要件定義書に組み込んでしまった場合、開発する段階で作業を進められずに開発が頓挫してしまう可能性があります。

エンジニアには、プロジェクト全体を見通す視点を持って要件定義することが求められるのです

スケジュールや工数の把握不足

エンジニアには、スケジュールや工数を把握した上で実現可能な計画を立てることが求められます。

しかし、スケジュールや工数の見積もりに失敗すると無理のあるスケジュールで進める必要が出ててしまい、納期に遅れるリスクが生じてしまいます。

要件を聞いて作業の見積もりをする際には、正確な数字を出すことが求められます。

専門的な意見が少ない

クライアントがシステム開発を発注するのは、専門家としての知見を求めるためです。

そもそもクライアント側にはITに関する知見が少ないことが多く、要件定義の打ち合わせをする際にも専門的な意見を出せない場合があります。

この場合、エンジニアはクライアントがITに関して素人であることを理解して、上手くリードすることが重要です。

要件定義でエンジニアが責任を全うするためのコツ

要件定義の際にエンジニアが自身の責任を全うするためのコツを紹介します。

不確定要素をできるだけ少なくする

要件定義では、しっかりとコミュニケーションを取って、クライアントからの要望を聞き出し曖昧な部分を残さないようにすることが大切です。

クライアントが後から追加要望を出すことを避けるためにも、漏れなく要求を聞き出します。

クライアントが要求を思うように伝えられない場合もあるため、エンジニアがリードして上手くヒアリングをすることがコツです。

手を抜くことなく徹底的に要求を聞き出して、明確にしていきましょう。

クライアントの追加の要望を予測する

システムの開発段階において、クライアント側より「こういった機能は当然ついていると想定していた」「ああいった機能も追加でお願いしたい」といった要望が発生してくることが多くあります。

しかし、工数や費用の面から全て実現することは難しいでしょう。

エンジニアは、クライアントが追加で要望することを見据えて、提案する必要があるといえるでしょう。

コミュニケーションスキルを向上させる

IT知識が少ないクライアントの場合は、クライアント側からの話は曖昧なものが多い可能性があります。

このため、要件定義ではクライアントから具体的な要望や課題、問題を引き出すことが重要になります。

例えば、クライアントの業界では常識とされていて、一般的には知られていないようなことを引き出すことも重要です。

重要な要件を引き出すために、高いコミュニケーションスキルが要求されます。

クライアントの要望を整理する

クライアントから聞き出した要望は、未整理の状態だと要件定義書にまとめることが困難になります。

そこで、要望を聞きだしたらすぐに整理する作業に取り掛かりましょう。

その際には、要望の優先順位を付けることが大切です。

クライアントの要望を必須要件と希望要件に分類します。

また、クライアントの要望を細分化して整理することも重要です。

実現可能かを熟考する

要件定義では、クライアントからの要望が実現可能であるかどうか判断することが大切です。

全ての要望を盛り込むのは予算やスケジュールの関係から困難なことが多いです。

このため、本当に必要な要望とそうでないものを切り分けることが大切です。

また、技術的に実現困難な要望を出されることもあるため、現実的な目標値を立てることも大切です。

実現可能か熟考しておかないと、開発をスムーズに進めることができず、開発メンバーが困ってしまうため、開発メンバーの意見も聞いた上で要件定義を進めましょう。

自分の開発スキルを高める

要件定義は、後で開発をすることを前提として行う作業であるため、要件定義の業務にも開発スキルが求められます。

開発スキルがなければ、スケジュールや工数の見積もりは難しいでしょう。

開発を見据えて要件定義することが求められるため、要件定義をするエンジニアは、開発スキルを高める努力をすることをおすすめします。

構想を要件定義書に反映させる力を身に付ける

要件定義では最終的に、要件定義書という成果物を作成する必要があります。

このためには、クライアントから引き出した要望に基づいて構想を考え、それを要件定義書としてまとめるスキルが要求されるのです。

要件定義書はクライアントのレビューを受けるため、専門知識がない人にも分かりやすくまとめます。

また、全体的な構想と詳細な要件について矛盾が生じないようにすることも重要です

クライアントの要望を要件定義書に反映させる力を身に付けましょう。

要件定義

要件定義がプロジェクト成功の鍵になる

要件定義はシステム開発の最初のプロセスであり、プロジェクト全体の成功の鍵を握る重要な作業です。

しっかりとクライアントとコミュニケーションを取り、開発を見据えた上で構想を立てることが求められます。

また、構想を要件定義書という成果物としてアウトプットすることも重要です。

コミュニケーションスキルや開発スキル、アウトプット力を高めることで、要件定義を上手く行えるようになります。

要件定義から担当できる案件をさがしているなら、フリーランスITエンジニア専門エージェント「HiPro Tech」がおすすめです。

フリーランスエンジア向けの案件を扱っており、要件定義からシステム開発、保守・運用まで多岐に渡る案件を保有しています。

上流工程を担当する案件を豊富に扱っているため、スキルアップに繋がる案件を獲得できる可能性を高めることができます。

また、当サービスは、企業と直接契約ができるため高単価な案件や中長期的な契約を結ぶことができる案件などを紹介することが可能です。

登録は無料なので、効率的に案件を獲得したいと考えるなら、ぜひ登録してみてください。

記事監修
パーソルキャリア株式会社 HiPro Techサービス責任者
荒井 雅人

株式会社インテリジェンス(現:パーソルキャリア株式会社)入社後、 人材紹介事業部にてキャリアアドバイザーおよびリクルーティングアドバイザーを歴任。

その後、経営顧問人材による経営支援サービスのi-common(現:HiPro Biz)立ち上げを行い、2020年よりIT・テクノロジー領域特化型エージェントサービスのi-common tech(現:HiPro Tech)サービス責任者に着任。

関連のIT案件

案件単価
550000円
700000円
月単価
職種
フロントエンドエンジニア
フロント&バックエンドエンジニア(リードエンジニア)
PM/PMO(アプリ)
社内SE(アプリ)
その他
必要なスキル
Vue.js
NuxtJS
AWS
Linux
JavaScript
TypeScript
案件単価
500000円
月単価
職種
PM/PMO(アプリ)
プロダクトオーナー/プロダクトマネジャー
開発ディレクター
Webディレクター
その他
必要なスキル
その他
案件単価
500000円
月単価
職種
フロントエンドエンジニア
バックエンドエンジニア
フロント&バックエンドエンジニア(リードエンジニア)
業務系アプリエンジニア
モバイルアプリエンジニア
DBエンジニア
クラウドエンジニア
サーバーエンジニア
ネットワークエンジニア
セキュリティエンジニア
SREエンジニア
PM/PMO(アプリ)
PM/PMO(インフラ)
PM/PMO(パッケージ導入)
データサイエンティスト
機械学習エンジニア
ブロックチェーンエンジニア
IoTエンジニア
ITコンサルタント(アプリ)
ITコンサルタント(インフラ)
DXコンサルタント
パッケージ導入コンサルタント
プロダクトオーナー/プロダクトマネジャー
QAエンジニア/テスター
プリセールス
開発ディレクター
Webデザイナー
Webディレクター
Webマーケター
ゲームデザイナー/プランナー
社内SE(アプリ)
社内SE(インフラ)
ヘルプデスク/カスタマーサポート
その他
必要なスキル
その他
案件単価
400000円
500000円
月単価
職種
社内SE(インフラ)
ヘルプデスク/カスタマーサポート
その他
必要なスキル
その他
案件単価
500000円
525000円
月単価
職種
業務系アプリエンジニア
社内SE(アプリ)
その他
必要なスキル
AWS
Python
SQL
案件単価
900000円
1150000円
月単価
職種
DBエンジニア
クラウドエンジニア
サーバーエンジニア
ネットワークエンジニア
SREエンジニア
PM/PMO(インフラ)
ITコンサルタント(インフラ)
社内SE(インフラ)
その他
必要なスキル
AWS
Azure
Google Cloud Platform
その他
案件単価
200000円
250000円
月単価
職種
PM/PMO(アプリ)
ITコンサルタント(アプリ)
プロダクトオーナー/プロダクトマネジャー
その他
必要なスキル
その他