要件定義の前に【要望・要求・要件】を理解しよう!
お世話になっております。 食×IT 複合作家の内田です。食のお話を楽しみにフォローしている方は、今回はジャンルが違いすみません🙇♂️
今回は要望・要求・要件のお話です!
今日のテーマは「要件定義」の話になるのですが「要件定義」の基礎となるのは【要望・要求・要件】なので、今回はこんなタイトルにしています。
そもそも要件定義って?
要件定義を超シンプルに言うと、例えば開発などで、アプリの開発を依頼されたとします。依頼を受けたら、何を作るか以下の流れで話し合い、仕様の「決め」を行います。
お客の要望を聞く → 仕様を決める → みんなが合意した仕様で開発開始!
ざっくり言うとこの「みんなが合意した仕様」にあたる部分が【要件定義】なんです!
しかし、この表現を使うときは気を付けて下さい。例えば、あなたの上司に「君は要件定義を理解しているか?」って聞かれたとします。
そのときに、このような回答をしてしまうと「お前、要件定義なめてんだろ?」って言われてしまうかもしれません・・🤣
これは、イメージするための簡単な解説なので、要件定義を語るには、もう少し理解を深める必要があります。
どんなときに要件定義が必要?
基本的に設計が必要なものには、すべて要件定義が必要です。よく例にあげられるのは、受託開発のケースですが、運用設計をするときなどでも、要件定義が必要です。
何で要件定義が必要なの?
これはトラブル経験がある人ほど、よくご存じだと思います。例えば何らかのシステムを作って欲しいと、相談があったとします。
ここでまず、最初に何が欲しいか?何がしたいか?などをヒアリングするのですが、ここで顧客が話す内容は「ざっくりとした要望」にすぎません。
しかしながら、こんな情報不足のまま、勢いで話が進んでしまうケースは、IT業界には多々あるのです。
具体的にどういう事かといいますと。
この絵は、昔流行った【プロジェクトあるある】の風刺画なんですが、顧客にヒアリングしたときの状況を、うまく表現しています。
※左上の「顧客が説明した要件」に注目。
このブランコをみて皆様はどう思いますか?
このブランコで一体何するつもりだろう?・・・って思いませんか?皆様はブランコの使い方を知っているので、このように思うのは当然です。
しかし、そんな事実があったとしても、こんな風に考えて進める人が、普通にいるのです(私の体験談)
このようにすすめると、当然想定外が多数発生します、
すると、どうなるかと言いますと、関係者各位の間で大混乱が生じます。
そして、妥協案による調整を繰りかえした結果、こんなひどいブランコが出来上がる事になります。これは顧客が望んだ結果なんでしょうか?
そうなんです!こんな結果にならない様に、要件定義が必要なんです!
重要なのは、最初の設計段階で、お客様に聞いた事をそのままやるんじゃなくて、一緒に協議してどれだけ「ここに近づけられるか」なんです。
では、どうやって進めていくのか?
具体的な、要件定義の万能なテンプレはありません。
要件定義は幅が広く、環境や条件によってやり方が変わるので、臨機応変に考える必要があります。
そのために必要な考え方は3つ!
それが【要望・要求・要件】なんです。やっとここからが、本題!
要望・要求・要件
まず要件定義を、図で表すと以下のようになります。
この図は、顧客が提示した「要望」を、もしシステムにしたらどこまで実現できるか?を開発チームに確認(要求)して、顧客に合意がとれた結果が「要件」である・・という事を表現しています。
要は、叩き台を作り、これを叩いて叩いて確認して・・全体の合意が取れるまで、方針を絞り込みなさいよ・・という図なんです。
要望・要求・要件はそれぞれ以下の内容を定義します。
要望→要求→要件の流れ
説明書きだけでは、わかりずらいと思うので、これらをストーリー化してみました😆
まず要望を聞こう!【要望】
私は顧客とディスカッションをして、要望を整理するセールスエンジニアです。ある日、顧客から、以前納品したアプリの改修依頼がありました。
ちなみに以前納品したのは、出前が注文できるアプリ。
以下をヒアリングして、要望を顧客から引き出したいと思います。
※左が提案者(私)で右が顧客
とりあえず以下3点が何となく聞けたので、これを持ち帰ります。
次は開発チームと【要求】を詰める
早速、開発チームにヒアリングした内容を視覚化して伝えます。
まずは顧客から聞いた「あったらいいな」をラフな絵で視覚化して、開発チームに見せてみました。
※要求定義書
左が提案者(私)で右が開発チームの人
この様に、開発に相談して、要求を伝える事を【要求定義】そして、その要求をまとめた資料を【要求定義書】と呼びます。
開発チームに相談したところ、このようなご意見がありました。
最終合意を取ろう!【要件定義】
開発チームと協議した内容をマージして資料にしたので、次はこれを持って顧客に相談しにいきます!
最終確認のため、視覚化した資料を【要件定義書】と呼びます。
※要件定義書
※左が提案者(私)で右が顧客
このように、最後に開発と決めた方針を、顧客に確認をして合意を取る事を【要件定義】といいます。
以上、こんな流れです。
これが要件定義の流れなのですが、イメージできましたでしょうか?
要件を確認する際、依頼された内容と、別な要望がでるって事、よくあるのですが、話が分散すると、本題が停滞してしまうので、ここは優先度を整理しながら確実に進めましょう。
最後に
一番大事ポイントは、自社と他社、関係者全員と、脳内同期がとれている事です。認識のズレは後で発覚すると、大きな問題につながりますが、早い段階であれば、いくらでもリカバリができます。
また、口頭だけの議論は、認識のズレが起きやすいので、資料を作り決定事項を視覚化して、可能な限り同じ認識を保つ事が、要件定義の神髄だと私は思っています!
以上、要望・要求・要件について解説させていただきました!
IT業界で学んだお役立ち情報は、こちらのマガジンにまとめていきます!
現在こちらの別ブログ(よっしーTECH)から、IT業界に関するお役立ち記事をエキスポート > リライトしながら、移行中ですので今後ともよろしくお願いいたします✨
この記事が参加している募集
ほとんどの記事を無料で公開しているので、めっちゃ投げ銭欲しいです!100円大歓迎!