Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
「XPマンセーッ!」
毎度、XPオタクのますくです。
この世には「バカの壁」というものがある。
「話し合えば分かる」という言葉が通じない世界だ。
誰もがコミュニケーションによってお互いが分かり合えると期待している。
しかし現実は、そうでないケースがたくさんある。
いろいろ原因はあるが、その大きな原因の1つは、「キーワードに対する理解の違い」だ。
たとえば、”テスト”というキーワードは、非常に危険極まりない。
人が100人いたら、恐らく100人が違うイメージで解釈をしている。
そんな危険なキーワードを明確な定義なしでウン百万、ウン千万、ウン億の仕事の中で使っている訳だから、ソフトウェア開発において、論争や訴訟が頻発するのは、もしかしたら当たり前のことなのかも知れない。
”テスト”の派生語である”受入テスト”や”ブラックボックステスト”、”機能テスト”、”結合テスト”、”単体テスト”なども一様に危険なキーワードだ。
じゃぁ、明確な定義をすればいいのかと言えば、それだけじゃダメだ。
なぜなら、ソフトウェア工学をちゃんと学んで、それぞれのテストを理解しているだけの人の多くは、実践レベルでのテスト方法を知らないからだ。
実践レベルでどのような方針でどのような手順を使ってテストを行うのかまで共有されていなければ、やはりテストへの勘違いやすれ違いは発生する。
このことは、”テスト”だけにとどまらない。
仕様を決める段階や運用段階で、どちらかが知らないキーワードを説明なしに使っていたり、同じキーワードで2つ以上の異なる意味を持つものを使っていたり、自分のなじみのキーワードに固執したりといったことで、やはり意識のズレは容赦なく発生する。
また、ソフトウェア開発の用語に限らず、”投資”、”共有”、”常識”なんてキーワードも危険極まりない。
結局、明確に定義することなしに、お互いが自然と理解できるであろうと期待する「平和ボケ」した人の元には、ずっと危険性は付きまとうものなんだろう。
こういった危険性を避けるために、「共通の用語」や「メタファ」といったXPのプラクティスが重要になる。
おおまかなイメージを共有するだけで、あり得ない誤解や勘違いを避けられることはかなりある。
全体のストーリーを同じ場で聞くだけで、防止できるリスクもたくさんある。
キーワードとその意味をリストアップしたWikiを立てるだけで、多くのトラブルは起こらなくなる。
一番いいのは、こういった相手に理解してもらうための活動を、自ら率先することだ。
相手任せにするということは、それ自体、相手に依存した危険な考え方だ。
成功したければ、まず与えること。
そうすれば、相手もイヤな顔はしない。
ほとんどの人は、何かをくれた相手にお返しをしたくなるものだ。
こうして、あなたはもっといろいろなことをやりやすくなる。
とはいえ、がんばって明確に定義したからといって、必ず相手から同意される訳でもないのが、この世の世知辛いところだ。
相手の商習慣や過去の体験、性格、自分との関係の深さといった要因によって、どんなにいいアイデアでも拒否されることがある。
これこそまさに「バカの壁」そのものだ。
こういう相手にあったときは、別の視点が必要だ。
「広い世の中、そういう人もいるってことさ」
There is no comment.