Open Source WEB

今まで慣れ親しんだソフトウェア開発って「学校の夏休みの宿題」みたいだと思いませんか?

夏休みの始めの頃は最終日まで日数があるから、サボっていても気にならないし、「順調に進んでるよ」とか言っちゃえば、本当に進んでいるかどうかなんて親や先生にはチェックされない。

でも、夏休みの終わりの方になると、だんだんヤバイなぁと感じ始める。親もなんとなくヤバそうな雰囲気を感づき始めて、ツッコミが激しくなる。

で、今日で休みが終わりとなると「終わってない〜!!」と慌てふためく。その様を見ながら、「あれほどやんなさいって言ったじゃない!」と怒る親。

休み明け、宿題をやっていないことを先生に告白し、「明日までにやってきます」と結局自分の首を締めるハメに...

これって、お客さんとマネージャと開発者のやりとりのような感じですよね?

ソフトウェア開発に関わっていると、子供の頃からつくづく反省してないんだなぁって気付かされます(^_^u

もっとも、夏休みの宿題は、量が増えることはない分、ソフトウェア開発よりマシなのかも知れませんが...


メタファは、辞書によると、「文字どおりの解釈では似ていない物事について、暗黙的に比較する比喩的表現」だそうです。

つまり、一見何の関係もないけど、”動きや考え方が似ている”ということを例えるときに使うんですね〜。

さきほど「ソフトウェア開発」が「夏休みの宿題」に似ていると言いましたが、これがメタファを使った例です。「ソフトウェア開発」と「夏休みの宿題」、一見関係ないですよね?

でも、冒頭で述べたような共通点が幾つかあります。

ここで重要なことは、あなたも私も共通の体験として、「夏休みの宿題」という過去の体験があるということ。

もし、あなたに「夏休みの宿題」の過去の体験がなければ、最初の例え話はまるで通じないと思いませんか?

ですので、メタファは、相手にも通じる知識や体験であるということがすごーく重要なんです。

一度メタファが通じれば、その後のコミュニケーションはとても素早くなります。相手との間に簡単に共通のイメージができあがります。

例えば、「ソフトウェア開発」を体験したことない人に、「ソフトウェア開発」は「夏休みの宿題」みたいなもんだよと言うだけで、”とっとと始めないとヤバくなる”とか”さっさとやっちゃった方がスッキリする”ということが伝わるでしょう。

もっとも、大抵の方が感じるように”やな感じのもの”という伝わり方しちゃうかも知れませんが(^_^u...


さて、このメタファ、例えるだけでも、コミュニケーションを素早くするために役立つんですが、もう1つすごく役立つ使い方があります。

それは、例えた元から、解決のヒントを得るということ。

「ソフトウェア開発」が「夏休みの宿題」に似ているのであれば、「夏休みの宿題」をうまくこなすコツは、そのまま「ソフトウェア開発」にも応用できるといった使い方です。

これは別の言葉でモデリングと呼ばれます。

「夏休みの宿題」をうまくこなすコツって何でしょう?

  • とっとと始める
  • 最終日よりも前に終わらせる
  • 友達とチェックし合う
  • わからないことがあれば、友達や親、先生に早めに教えてもらう
  • 人のノートをうまく写す(笑)

これを「ソフトウェア開発」に当てはめるとどうなるか?

  • とっとと始める
  • リリース日よりも前に終わらせる
  • 仲間同士でチェックし合う
  • わからないことがあれば、ビジネス側や開発コミュニティに早めに教えてもらう
  • 人の作ったプログラムをうまく流用する(笑)

こんな習慣を心がけるだけで、ソフトウェア開発はずいぶんとラクになります。

私は、毎回「最終日にならないと終わらない夏休みの宿題」みたいなソフトウェア開発がイヤになったんで、XPを始めましたが、その結果、今の私の行動パターンは、「夏休みの宿題」を余裕で終わらせる、優等生のそれと同じものになっています(多分...)。


メタファが大体どんなものかはわかりましたか?

実際、メタファをソフトウェア開発で使う場面ですが、こんなところで使います。

  • ストーリーを共有するとき
  • システムのイメージを共有するとき
  • システムのアーキテクチャを共有するとき
  • 共通の用語を共有するとき
  • 未知の問題や解決方法を探るとき

これらの具体的な例については、入門シリーズが終わった後に始まる実践シリーズで紹介したいと思いますので、お待ち下さいm(_)m

それまで待てないあなたは、XPエクストリーム・プログラミング アドベンチャーのP73の「第5章 アーキテクチャ」およびP83の「第6章 システムメタファ」のあたりを読むと、結構おもしろいと思いますよ。

XPエクストリーム・プログラミング アドベンチャー

ウィリアム・C・ウェイク (著), 長瀬 嘉秀 (翻訳), 今野 睦 (翻訳), 飯塚 麻理香 (翻訳), 畑田 成広 (翻訳)

価格: ¥1,890 (税込)

※リンクをクリックするとAmazonで購入できます。

メタファの目的は、「素早いコミュニケーション」「イメージの共有」にあります。

あなたも楽しい例え話でソフトウェア開発を加速してみませんか?

次回、12/17(金)は「シンプルな設計」についてです。

お楽しみに!


フィードバック下さい!

Name:
Comment:

There is no comment.

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us