Index: [Article Count Order] [Thread]

Date:  Thu, 30 Mar 2000 01:08:21 +0900
From:  firo@....jp
Subject:  [XP-jp:00064] Section 1 Chapter6 Learning to 	Drive の解説
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <38E22C05.CDA71574@....jp>
Posted:  Thu, 30 Mar 2000 01:15:02 +0900
X-Mail-Count: 00064

矢崎です。Section1のChapter6 Learning to Driveの解説です。
#一部、平鍋さんのeXtreme ProgrammingのWebサイトから、
引用いたしました。事後承諾のような形になりますが、申し訳
ありません。

Section  1 The Problem
Chapter 6 Learning to Drive
===========================================

私達は、大きな調整を2、3回程度行うという方法ではなく、小さな調
整を数多く行うという方法で、ソフトウエア開発をコントロールしていか
なければならない。例えて言えば、自動車の運転のようなものである。
小さな調整を行うためには以下のようなことが必要である。

  ・正しい方向からズレてきたとき、それがすぐに認知できるようなフ
   ィードバックが必要。
  ・まちがいを修正するための機会が数多く与えられることが必要。
  ・まちがいを修正するためのコストがリーズナブルであることが必
   要。

Kent Beck氏は、XPのパラダイムをイメージさせるために、彼が始め
て自動車の運転を練習をした日のことを書いている。


(矢崎:以下は平鍋さんのHPから引用です 
http://www.esm.co.jp/divisions/open-sys/eXtremeProgramming/xp-faq.html)

Kentは,はじめて自動車を運転する練習をした日のことを例にしてい
ます.

      母を横に乗せ,ハンドルを握り... 最初はうまく行きました.でも,ち
   ょっと油断した瞬間,車は車道を外れて砂利に突っ込んでしまい
   ました. 母は車を道に戻すと,初めて運転とは何かを教えてくれ
   ました.

      「運転で大切なのは,車を正しい方向に進めることじゃないのよ.大
   切 なのは,常に注意を払って細かく右左に方向修正していくことな
   の.」

これが,XP のパラダイムです.
(引用ここまで)

まっすぐで平坦な道はどこにもない。物事が完璧にうまく運んでいるように
見える時でさえ、道から目を離してはいけない。細かく左右に方向修正して
いけるように、常に用意ができていなければならない。時にはまったく違う方
向へ進まなければならなくなるかもしれない。

ソフトウエアに関わる全てのことが変化する(要件、設計など)。ということは
変化することが問題なのではなくて、変化に正しく対応できないことこそが問
題だということである。

ソフトウエア・プロジェクトのドライバ(運転手)は顧客である。しかし、顧客
はソフトウエアが何をなすべきか、正確にはわかっていない。プログラマとし
ての私達の仕事は、顧客にハンドルを与えることと、顧客と私達が道上のど
こにいるかについての正確なフィードバックを与えることである。

自動車を運転する例え話には、XPプロセスにおけるモラル---4つのValue
(communication,simplicity,feedback,courage)---も、含まれている。4つの
Valueは、ソフトウエア開発者がどのように感じるべきかを示すものである。
そのような感じ方に達するためのプラクティスは、場所や時間や人によって
異なるであろう。プラクティスはプロジェクトに適用することで次第に役に立
つかどうかがわかってくる。各プラクティスは試験的だが、それが不適切
なものだと証明されるまでは従うべきである。


--
矢崎 博英 <firo@....jp>