元々のブログ・コンテンツへのリンクカテゴリーのインデックス:システム・エンジニアリング前回の「システムエンジニアリング(その5)」で、さらりと書いて、ちゃんと説明をしなかった事がある。「要求をスペックで置き換えてはいけない」についてだ。今回は、この事について説明しようと思う。ユーザーから、「要求」を聞き、その要求に合せたモノを作らないと良いモノが作れないと言うことは、前まで何回も書いたし、同意してもらえると思う。そこで、「良いモノ作り」には「良い要求が必要」と言う事になる。ここまでは良いのだが、「良いモノが作れないのは、良い要求が無いからだ!」とか「良い要求を俺にくれ!」と言い出すエンジニアが居るが、それは間違いだ。「良い要求」が無いのなら、作れば良い。「良い要求」は、努力しなくても天から降ってくるようなものではなく、ユーザーとなり得る人と協力し、作り上げるものだ。そもそも、ユーザーが、最初から明確な要求を持ってやって来ることなど、ほとんど無い。同じようなモノが市場に出回って居れば、話は別だが、全くの新規モノの開発や飛躍的な改良の時は、ユーザーは曖昧模糊としたイメージを持って居るに過ぎない。「ユーザーの持つ曖昧模糊とした要求のイメージ」を、はっきりさせ、「具体性を持つ明確な要求」にして、モノ作りに活かせるようにするのは、「システムエンジニア」の役目であり、責任だ。ここで、「ユーザーの曖昧模糊としたイメージに、具体性を持たせ、明確な要求」にする時に、「要求をスペックで置き換えてはいけない」のである。多くのエンジニアは、この間違いをおかしがちだし、また、間違いだと気付いて居ない場合すら多い。「スペック」に置き換えてはいけないかと言うと、「スペックが決まると言う事」は、その「前提となるハードウェアやソフトウエアの構成が決まっている」事を意味するからだ。その「ハードウェアやソフトウエアの構成」すなわち「システム」の決定が明文化されて居る場合もあるが、多くの場合「暗黙の了承」と言う形で決まってしまっている。暗黙であろうと明文化されていようと、予め「ハードウェアやソフトウエアの構成」が決まっていると、後の開発を助けるどころか、間違った方向に突き進む場合がある。前回の「桶とポンプ」が、その良い例になって居ると思う。要求は、「システム」から分離した形で明確にしなければならない。前回の要求は、次のような文だった。「毎日、水を運ぶので、できるだけ多い量の水を井戸から家に運びたい。」この文の中には、「桶」と言う言葉は出てこないし、また、暗黙の内にも「桶」を連想させる部分は無いようにしていた。その一方で、「ユーザーの持つ曖昧模糊としたイメージ」を明確にするために、「具体的なシステムの構成とスペック及び使用方法(運用)」の例示が必要になる場合が多い。私の経験では、「ユーザーのイメージ」の明確化のためには、程度の差はあれ「具体的な例示」が、ほぼ100%必要になると言える。矛盾するようだが、「要求は、具体的なシステムから分離」する一方、「要求の明確化のためには、システムの具体化」が必要になる。注意ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。