コラム: 用語集は大事だよ♪
こんにちは。 GW (3連休後、2日間仕事して、4連休)は、天気がよい日が多かったので愛犬と家族で散歩に行きました。それと毎日のようにホームセンター(毎回違う店)に行き、いろいろな面白便利グッズを購入する日々でした。 GW 最終日に、購入した芝刈り機で思いっきり芝生を刈ろうと思ったら・・・雨でした... orz 庭弄りは、やろうと思うと雨が多いです。
さて、要求(Requirement)関連のコラムは、 前回 に続き、2回目になります。要求は、その性質から、自然言語で記述することが多いです。要するに日本においては日本語ですね。日本語に限らず、自然言語では、人によって同じことでも異なる表現で言い表すことができるという特徴があります。また逆に、同じ言葉であっても、受け手によって異なる解釈になってしまうこともあります。
要求定義において、起こる解釈の違い、意思疎通の難易度はそんな自然言語の難しさから来ているケースも少なくありません。特にあいまい用語は、受け手によって価値観が異なると大きな誤解になる危険性がありますが、よく使っている言葉であっても、受け手によって異なる意味に捉えられる危険性があります。
あいまい用語の例としては、「できるだけ早く」、「十分に・・・」、「必要なら・・・」などが挙げられます。よく使う用語で異なる意味に捉えられる危険性があるものとしては、ケースにより様々ですが、例えば、一言で「クライアント」といっても、人によっては「Windowsクライアント」を連想する人もいれば、「Linuxなども含めたクライアント」を連想する人もいます。携帯電話やPDA、POS端末などを連想する人もいるでしょう。はたまた、「顧客」全般と捕らえることもあるでしょう。
# サーバー側は、ASP.NET の Webサービスを使用することが決まっていたとして、クライアント= Windows クライアント と連想しそうだが、発注者は実は、Windows クライアントだけではなく、Office のクライアントや、Linux のクライアントも必要と思っていた(思っていたけど、当然だと思っていたので言葉には出していない)
往々にしてこれらは文脈から判断することで、ある程度統一した認識を持つこともできるといえますが、利害関係者(開発サイドもいれば、使用者、顧客サイドもいる)は、必ずその文脈をすべて読み取るとは限りません。
そんなときには、用語集が重要になってきます。当たり前だと思っている用語であってもある程度は記載しておくことで認識違いをかなり削減することができます(経験談)。「用語集なんてどうせ見ないからあまり意味がない」という意見もありますが、用語集を作成することでそのプロジェクト(や契約)でのその用語の意味は絶対的なものになります。あいまいさを削減し、Rework を軽減するためにも価値があります。
あいまい用語も、同様にあいまい用語として明確になるようにすべきですね。どの言葉があいまいなのか、どこまで明確にしなければいけないのかは、これまた結構、人によって異なっていることが多いです。これも書いておくことで、その言葉はあいまいだからもう少し顧客とつめなければならないといった意識を持つことができます。
用語集は大事なのですが・・・あまり懲りすぎるのもよくありません(^^; 万人が同じ意味に捉える言葉をすべて列挙するとそれは辞書になってしまいます。また、利害関係者不在の状況で、誰かが用語集を独断で作るというのもあまり効果的ではありません。ある程度雛形的なものは用意したほうがいいでしょうが、要求を定義/開発していきながら、用語集を作成し、充実させるというのがやはり一番ではないでしょうか。
また、用語集は再利用性が高いため、開発サイドでは、他のプロジェクトでも適用できたり、たたき台として使用可能であったりします。また発注者サイドでも、自分たちの用語集を準備することで、開発サイドに自分たちの言葉で会話してもらうことができますし、自分たちの中での言葉の違いなどで開発者サイドを混乱させないといったケアにもなります。
ついでですが、文章化するにあたっては主語を統一するなども気をつけたほうがいいですね。
ながさわ
Comments
- Anonymous
December 19, 2007
PingBack from http://blogs.msdn.com/tomohn/pages/MSDNOFF2007.aspx