Index: [Article Count Order] [Thread]

Date:  Fri, 27 Apr 2001 15:19:41 +0900
From:  Akira Sato <falcon@....jp>
Subject:  [XP-jp:01853] Re: Kent Beck Seminar report
To:  extremeprogramming-jp@....jp
Message-Id:  <200104270619.AA00507@....jp>
In-Reply-To:  <200104270144.AA00507@....jp>
References:  <200104270144.AA00507@....jp>
X-Mail-Count: 01853

はじめまして、
あきら@ブリッジ・メタウエアです。

XPセミナーとても良かったです。
内容もさることならがら、まずKentさんの人柄に触れてみて、
この人柄から自然発生的に生まれたのがXPなんだな...と感じました。
工学的な分析・要求とは全く別のものか、と。
本人も似たようなことをおっしゃっていたと思いますが、
ビジネス側・デベロッパ側という垣根を無くすことができれば、
本当に「究極の」システム開発方法になり得るのではないでしょうか。

From: Akira Hirasawa <akira.hirasawa@....jp>
Date: Fri, 27 Apr 2001 10:44:40 +0900
---------------
[...]
>私は、ウォーターフォールだって、確かに悪いところはありますが、
>それなりに良いところもあると思っています。

プロジェクトによってはXPが不可能な場合も多々あると思います。
ただ、いままでの経験からすると、それはあくまでもビジネス側の
要求によるものがほとんどでした。例えば.....
「詳細設計までやってくれ、後は海外で生産させるから」
Boooo!!

>システムが、それなりの規模だったり、それなりに複雑な場合、
>最初に要求のヒアリング&分析の期間をたっぷり取る必要があると思いますし、
>手戻り(=リファクタリング?)が少なくなるように

手戻りとリファクタリングは全く意味が違うと理解していますが...
手戻りを少なくする、ということを
XPでは逆説的に解決しようとしているのではないでしょうか?
「常に手戻りする」。なぜなら手戻りする距離が少ないから。

>全体に関わる部分を早い段階で重点的に設計しておくのは
>大事なことではないでしょうか。
>(もちろん、「基本設計で終わり」ではなく、実装するべきだと思いますが。)
>そういう観点からすると、最初から2週間のイテレーションを回す
>という意味がよくわかりません。

最も重要な「ストーリー」として「語られる」単位、であれば
イテレーションの計画に乗せることができると思います。
基本設計とは最も重要なストーリーを考えることかもしれません。
インフラ+アーキテクチャを最初に決めるべきではない、という
話もしていましたね。それは必要になった時点で考えるべきだ、と。

実際のプロジェクトではこの辺が問題になりそうです。まず最初に
「EJBを使う」とか「DBはOracleで」なんてプロジェクトが多いです。
しかし、これらの事項がエンドユーザの要求に含まれているということは
少なくて、大抵は「基本設計」で決められたことです。これは実際の
動作するシステムからの距離と時間が遠い時点で「推測」されたこと
ですから、将来大きな手戻りとなる可能性がある、ということだと
思います。

>「慎重で持続を考える」なら、最初はウォーターフォールっぽく
>進めるべきではないでしょうか?

開発過程全てにおいて、実際に動作するプログラム・システムに対して
距離を近く保つことが大事なのだ、ということと理解しています。

XPやその周辺(リファクタリング)には、概念的、抽象的な表現が多いですね。
例えば「においを感じてリファクタリングする」など(^^;
やはり工学的なものとは一線を画すような気がします。
そこにあまり工学的な考え方を持ち込むと、道に迷うような....

----
佐藤 聡@ブリッジ・メタウエア TEL/FAX 045-822-0780
http://www.bridgemw.co.jp/