つちもとです。
> ■1. あなたは XP を経験したことがありますか? (1つ選んでください)
>
> (1) ある
> (2) 一部試した経験がある
> (3) 関心はあるが経験はない
> (4) 関心も経験もない
(2) です。
# 心情的には "Variations on a Theme of XP" の
# 「level 2 です。」と言いたいところだけど、 :)
# level 1 を経験しないとダメなのですよね。
> ■2. 経験したプラクティスは何ですか? 以下から選んで下さい.
> また,コメントがあればお願いします.
> (テスティングについては,Unit Test とAcceptance Test を別々
> に考えて下さい.)
私は compiler の back-end をつくるという project にいるのですが、
何を持って customer とするかが難しいです。
「customer の考え (business side) を代表する擬似的な役割を負う人」を
customer とみなしてよいなら、かなり当てはまります。
そうでないなら、半分くらいですね。
> ・計画ゲーム(The Planning Game)
やっていない。
(ただ、だれも XP の通りにしようとは意識していないが、
擬似的な customer と次の scope を選択する会議のようなものを
一ヶ月に一回開いている。)
> ・小規模リリース(Small Releases)
やっていない。
(でも、擬似的な customer に対して、
より頻繁にリリースしようと心掛けている。)
> ・比喩(Metaphor)
やっていると言えるかわからない。
(何を何と呼ぶかを、みんなで議論して共有する
という意味では、やっている。)
> ・シンプルデザイン(Simple Design)
やっているつもり。
(少なくとも、「将来のための設計」というのはやめようと、
みんなで意識している。)
> ・テスティング(Testing)
> - Unit Test
やっている。
("Test Everything That Could Possibly Break"
のレベルとは言えないかもしれないが、
少なくとも "Code Unit Test First" は実践している。)
> - Acceptance Test(Functional Test, 顧客主導のテスト)
たぶん、やっていると言えると思う。
(acceptance test の set は既に充実している。
どれを次に通すべきかを
擬似的な customer と相談して決めている。)
> ・リファクタリング(Refactoring)
> ・ペアプログラミング(Pair Programming)
> ・共同所有権(Collective Ownership)
> ・継続的インテグレーション(Continuous Integration)
これらの4つはやっている。
> ・週40時間(40-Hour Week)
たまにそうなる。 :)
> ・オンサイト顧客(On-Site Customer)
やっていない。
(でも、今のところ、擬似的な customer が
常時、開発者の質問に答えられる。)
> ・コーディング標準(Coding Standards)
やっている。
> ■3. XP を試した時,使った言語はなんですか?
Java で少しだけ。
現在は C++。
> ■4. 日本で受け入れにくいと思われるプラクティス
> ありますか,その理由はなんですか.
特に「日本だから」というのは、あまりないように思います。
ただ The Planning Game は、
顧客と開発者が論理的に議論/交渉しなければならないので、
アジア的には難しいかもしれないと、想像します。
例えば、つい、「気合い」とか「義理」が考慮されたり。 :)
でも、西洋だっておんなじようなことがあるのかもしれません。
-- Yuichi Tsuchimoto
"It is the user who should parameterize procedures,
not their creators." -- Alan Perlis