無料ブログはココログ

« Rubyの魔法と動く標的のためのアジャイル - XP祭り関西2006 - | トップページ | Firefox 2.0とfoxyproxy »

コミュニケーションと田舎暮らし

XP(Extreme Programming)では、コミュニケーション、シンプル、フィードバック、勇気の4つの価値(最近は尊重を加えた5つの価値)が根幹であると言われます。今回は、このうちコミュニケーションについて考えて見ます。

コミュニケーションはウォーターフォールモデルでの開発でも、仕様書がきちんと作成されなかったり、利害関係者に渡っていないと、無駄な開発が行われたり、必要なものが開発されない、重要なデシジョンを誤るなどの問題が生じます。しかし、ここではそのようないわばマスコミ的なコミュニケーションでなく、アジャイルソフトウェア開発に特有なコミュニケーションを考えてみたいと思います。

アジャイルソフトウェア開発におけるコミュニケーションの必要性は、田舎暮らしを考えると分かりやすいと思います。田舎では、ある特性を持つ地域に、少ない人間が住んでいて、特産品や郷土料理などを作り、お互いに協力し合って生きています。そんな田舎では、情報交換をうまくやらなければ生きていけません。

1.独特の問題・情報がある
あの山に雨が降ると川が増水する。XXに熊が出た。など、マスコミに流れないその土地特有の問題や情報があります。

2.熟練・知恵が必要
他所ではできない特産品を作るには、熟練工を育てなければなりません。口では簡単に伝えられない技術を作業を通して伝える必要があります。原材料が不作になるなど、これまでになかった問題には、知恵を出し合って解決します。

3.一人の問題が全体に影響する
お互いに協力しあって生活しているので、誰かが病気になればすぐに助けます。火事が出れば協力して消火します。そのような緊急の情報は地域全体に知らせる必要があります。

なんとなく、アジャイルと似ていませんか?

1.独特の問題・情報がある
業務に固有の問題があるので、オンサイト顧客(全員同席)によって、ユーザの情報をきちんと理解する必要があります。

2.熟練・知恵が必要
よく考えられたプログラムを開発するには、熟練者を育てなければなりません。ペアプログラミングによって技術を伝える必要があります。また、困難な問題が生じた場合には、二人で協力してアイデアを出します。

3.一人の問題が全体に影響する
計画ゲームを行い、全員で手分けして開発しますので、どこかに問題が生じると全員に影響します。日々の問題をスタンドアップミーティングで把握します。

このようにアジャイルのコミュニケーションは、田舎暮らしのコミュニケーションとそっくりです。コミュニケーションの重要性が、少し分かったような気になりませんか?

これを元に、アジャイルでない開発方法をとる条件を考えこともできます。以下が満たされていないといけません。

  • 業務知識を形式知にできる。あるいは、手分けするには形式化が必要である
  • 力技で解決できる程度の複雑さである。あるいは、効率よく分担することのほうが主たる問題である。
  • 規模が大きいので、小さな問題は全体に影響しない。あるいは開発期間が長いので、問題が発覚してからでも対策が取れる

アジャイルのコミュニケーションを田舎暮らしのメタファで考えてみました。いかがでしょうか?

« Rubyの魔法と動く標的のためのアジャイル - XP祭り関西2006 - | トップページ | Firefox 2.0とfoxyproxy »

ソフトウェア」カテゴリの記事

プログラミング」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

私のアジャイル」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/138594/12220949

この記事へのトラックバック一覧です: コミュニケーションと田舎暮らし:

« Rubyの魔法と動く標的のためのアジャイル - XP祭り関西2006 - | トップページ | Firefox 2.0とfoxyproxy »