要求と仕様を判断する事の大事さ

こんにちは、mi2yo4です。
最近、要求と仕様について考える事がありました。今日は参考になる本の紹介をしつつ、「要求」「仕様」について書いてみたいと思います。

下に紹介する本は、私が数年前に偶然出会った本です。ソフト開発者さんのblog記事からジャンプしまくった果てに辿り着いた記憶があります。
要求を仕様化する技術・表現する技術 -仕様が書けていますか?

(本当は書籍の画像も載せたい所なのですが、そのままAmazonの画像を使っていいものか不明でしたので、テキストリンクにしておきます)

実現したいことを伝える難しさ

本書の中で取り上げられていた例として以下のようのものが挙げられます(ちょっと読んでから時間が経っているので、あやふや気味に覚えていますが)。
顧客から「首振り式の監視カメラの可動角を30度増やして欲しい」という要望があったため、技術者は可動角を増やすだけなら簡単と思い対応します。
カメラの首振り速度は変わりません。なので、可動角が増えた分だけ全部を見るためには時間が今までより余計にかかることになります。

製品がリリースして顧客から注文がつきます。「これでは使えない」と。
顧客の本来の要求は「カメラの死角を無くし、素早く監視画像確認がしたい」という事だったのです。

ただ、当初に技術者と話した内容は「カメラの可動角を30度増やす」という具体的な「仕様」であったために、そこに至る背景を技術者が知ることが出来なかった―という事例だったんですね。

「仕様」と「要求」について

仕様、要求とITシステム屋さんにはお馴染みの言葉が出てきましたが、ここで「仕様」と「要求」についてちょっと書いてみますね。

要求

「要求」がどのような意味なのか、調べてみると以下のような事です。
「必要である、当然であるとして強く求めること」(広辞苑 第六版)

シンプルに「何々がしたい」という話であれば、それは要求のようにも聞こえますね。

仕様

仕様を一言で言うなら、「要求を実現するための仕方」となります。仕様書は実現方法を書いた書類ですね。

「これこれこのように実現します」というのが仕様となります。

「仕様」だけでなく「要求」も伝えてみよう

上記のようなやりとりであれば、問題はシンプルに思えます。
でも要求を他の人に伝える場合、意外と「仕様」を話している事があります。
詳しく話そうとすると、どうも仕様を話しがちな状況になっているような気がします。
(特にリクエストの中に具体的な数値などが入っていた場合は、要求でなく仕様である事が多いように思います)

なので、具体的な「仕様」がリクエストされた場合、まずはそこに至った理由、背景を聞くようにしています。
実は、理由・背景の方に「本当の要求」が隠されている事が多いんですね。
(これは本にもそのように書いてありますし、実体験でもそう思います)

そして、自分が理解した言葉を用いて、顧客に「これこれこうですね?」と顧客に問いかけ直します。
お互いが話した内容に合意出来れば、双方がこれから開発するシステムについて理解し合った事になります。

これなら、誤解したままシステムを作って「こんなの使えないよ」と言われることも無くなりますね!
私達がこれから作るソフト、あぐりログの新機能についても、このように生産者さんと話しあって進めていきたいと思っています。