システム開発関係者の皆さん、仕様書って読み書きしますよね。
仕様を記述する時、否定形はダメって教えます。
これは、否定形は、形作ることができないからです。
例えば、
・「画面の反応速度は遅くないこと」は、形作れません。評価できません
「作れないからダメ」と教えます。
でも気づいたのですが、
否定形には、
・するかしないかを選択する否定
と
・それは嫌で他のものがいいという意味の否定
の2つに分かれるのではないか、と。
勝手ながら、
前者を、選択的否定
後者を、消去法的否定
と名付けてみました。
例えば、
選択的否定は、
・(焼肉テーブルを買うか買わないかの二者択一の行動判断で、) 焼肉テーブルを購入しない
これは、能動的に行われた行動であり、否定形の行動を能動的に行っていると、考えられます。
システム開発で考えてみると、ユーザーがYES/NO選択できるところで、NOを選択するってことです。
消去法的否定は、
・(何かのテーブルを買おうか検討していて、)焼肉テーブルは購入しない
これは、消去法的に、焼肉テーブルを消去して、他を選ぼうとしている、と考えらえます。
システム開発でいうと、ユーザーが複数選択肢の中から何を選ぼうとしているのか分からない、ってことです。
前者は、仕様として書けますが、後者は、仕様として書けません。
前者も、「NOを選択する」って書きなさい、というのが、仕様の書き方の指導法だとは思うのですが、
最近、要求について指導するお客様の領域が、よりソフトウェア開発者や電気設計者ではない人が
増えてきています。
こういった人たちに、あまり小うるさいルールで、「こう書きましょう」とか教えていると、
なんか、お互い楽しくありません。
なので、
「消去法的否定は、仕様にはならないからダメですよね。あなたの伝えたいことが書けてませんよね。
でも、選択的否定は、自然な言い回しだし、あなたの伝えたいことが明確ではあるから、これは良しとしましょう」
みたいに、せめて要求出しをしながら考えている人たちには、締め付けすぎないようにする、というのも
大事かな、と思ってきています。
ソフトとか電気とかの設計者が、仕様書として書き直す時に、否定形表現から書き換えればいいんじゃないの?
くらいにも考えてしまいます。
「仕様として成立する記述にしてもらうこと」と、
「言葉狩りのようにがちがちに縛ること」とは、
ちょっと違うし、
何よりも、そんなことで、人々の創造性に文句付けることになるのが、あまり楽しくありません。
なんか、感じて、思って、考えを書いてみただけなんだけれど、、、。