要件定義の極意

要件定義に必要なスキルは抽象化

クライアントの理想クライアント企業はこんなことをしたいと言えば、開発企業がこのようなシステムを構築するので大丈夫と答えてくれることを望んでいます。

しかし、本当に要望に対応できるスキルを持ち合わせている人は一握りです。私は超上流、上流工程の経験は20年以上の経験がありますが、最上流をこなせる担当者は実経験から本当に少ないです。経験(知識も)がない担当者による悲惨なシステムはいくつも見てきました。

クライアントの要求一覧(一覧までに到達していないケースも多いです)では要求整理が未熟なので、言われた内容だけでは要件定義では支障が発生します。

クライアントの潜在化している本当の要求をしっかりと抽出し、可視化することで全て解決できます。

要件定義がきちんとできる担当者(スキル保持者)が在籍すればシステムは問題なく構築できます。

勘違いした担当の要件定義とは

表面だけの要件定義が招く不幸

本来は要求一覧から抽象化し、目的を拾い上げ、本来の要求事項を見定めることが重要ポイントであるが経験不足に伴い、抽象化ができない担当者は下流担当レベルの作業で実施するためバリエーション、事象、現行システムの機能に注力します。

これが不幸の始まりである(数学の公式を知らない人間が問題を解いている)。

実現方法(担当者のレベル範囲)を前提にしたレベルにしか形成されず、バリエーション等の表面的な事を拾い上げるだけになります。したがって、時間は必要以上にかけているが本来の目的や本質にたどり着きません。

システム化の時に掘り出したバリエーション分を何も工夫なくプログラム作成はクライアントは求めていません。今の時代、前提条件が簡単に諸事情で変化するのに対応ができないプログラムを作成されたらクライアントは不幸にしかなりませんよね。

要件定義でよく見かける絶対NG

時間がないから資料をつくらない大罪

現場で良く耳にするのですが。。。

「資料を作成する時間がありません」

口頭でやれば資料を作成する時間で理解が得ることができれば時間短縮にはなります。これは、文化や価値観が同じ場合、かつ、簡単な内容であれば通用することで要件定義等の超上流、上流では絶対やってはいけないことです。

クライアントと開発側では文化も価値観も全く異なります。同じ言葉でもとらえ方は全く違うのにシステムのように目に見えないものでは確実に問題が発生します。

必ず、資料を作成し、イメージの溝を超上流工程から埋めていく必要があります。

「資料を作成する時間がありません」

⇒ これは「資料を作成するスキルがありません」と同じです。

事実、このフレーズを使う担当者は資料ができない方がほとんどです。資料ができない人は上流担当をしてはいけない人です!

抽象化の解説

抽象化とは

「対象から細部や具体性を取り去り、本質的に重要な要素のみを取り出して、一つの概念として定義すること」

ユーザーの各部署から寄せ集められた要望一覧をきちんと抽象化することで要望の本質を見定めることができるので「要求」と「目的」を定義できるようになります。