XP 祭り X に参加して、XP白本読書会の前説やりました。
(このエントリは9/8に改訂しました)
XP祭りに行ってきた。今年は10年目ということで、記念すべき年。ぼくは、
- 社長パネル
- XP入門(by XP白本読書会)
に出させていただいた。運営スタッフの方、どうもありがとうございました。
特に、XP白本読書会では、ぼくのXPとの出会いやその後の変化をお話できてよかったです。この辺りは、同人誌、『Altimate Agile Stories』にも書いたので、ぜひ買って読んでくださいね。
さて、XP読書会の前説ですが、ばらばらと言ったことを書きます。
- XPは社会変革だ
まず、第二版の最初の一行目、"XP is about social change"について。このsocialは、ソーシャル・ネットの意味のソーシャルです。このあたりについては、過去にもたくさん書いています。
この本の、最初の一文と、最後の一文をつなげると、「XPは人と人の関係の仕方を変えることであり、その変化は自分から始まる」ということです。
- 「XP祭り2006、Social Change」 http://blogs.itmedia.co.jp/hiranabe/2006/09/xp2006__2264.html
- 「Social Change Starts With You」 http://blogs.itmedia.co.jp/hiranabe/2006/10/social_change_s.html
- 第一版と第二版について。
To Dad、つまり父、にささげられており、そこには家族の名前がある。先頭にあるCindeeは奥さんであり、第二版の共著者でもある。Kent に昔聞いたところ、AI(Appreciative Inquiry)はCindeeの分野だ、ということだ。XPとAIの関係については、
- 「自分たちのよいところを認識することからはじめるXP」 http://blogs.itmedia.co.jp/hiranabe/2007/11/xp_f61d.html
参照。ぼくが、第一版から第二版に大きく変わったところ、といったのはこのことだ。
- XPはテストが中心だ。("Test Infection")
あと、ぼくが付箋を付けてあった部分は、P.45 の "Test Infected" という Erich Gamma との記事。これはぼくもリアルタイムで読んでいた。1998年のJava Reportだ。趣旨は、一般的にプログラマはテスト嫌いと言われているが、JUnitを導入してテストファーストをはじめると、それはよい習慣としてどんどん広がった、ということで、これをテスト熱中症、と呼んだ。これは、オブラブのサイトに日本語訳がある。
- 「テスト熱中症:プログラマは、テストを書くのが好きになる」 http://www.objectclub.jp/community/XP-jp/xp_relate/testinfected-j
です。改めて、XPではテストを開発の中心に置くことを強く主張している。
(ここから、9/5 追記)
- メタファ
次は、p.56 Metaphor/Architecture について。Metaphor が Architecuture の役割をする、という記述があります。このMetaphorというプラクティスは、XPの中でもっとも難しい、あるいは実践されていないものです。要は、
システムの全体をイメージできるような「たとえ」を、顧客も開発者も共有することによって、全体に対する理解と詳細化を促進するもの。
です。でも、思いつくのが難しい。。。そこで近年は、「共通の語彙」Common Vocabulary を作ったり、DDDでいうところのUniversal Languageで置き換えられる(た)と考えていいでしょう。
- メトリクス
p.72 Metrics。ここに書いているのは、「Big Visible Chartを壁に貼れ」これには当時シビれた。だって、メトリクス、の節。そこに、壁に貼れ、と。あと、どこかに「もし進捗のレポートを求められたら、これをきれいに清書するのではなく、このまま会議室に持って行って見せろ」というのもあって、これにキュンと来て、このころ、ぼくが勤める永和システムマネジメントの役員会で応用した覚えがある。
- コーチング
p.73 Coaching 「XPのマネジメントの役割は2つに分けられる。コーチとトラッカー」ここには、いわゆる管理者、という視点ではなく人に教えられるくらい技術スキルがあること、そして、裏方に回ったメトリクスの収集者、という像が見れた。この裏方感は、後にぼくらが提唱することになった、プロジェクト・ファシリテーターに通じている。そして、よいコーチは、「トイ」と「フード」をチームに配る。なんと!(とそのころはノケゾった)
- デザインにおける図の役割
p.111 きれいなパワーポイントの図はいらない。UMLのホワイトボードのスケッチでもいい。(astahはこれになりたいと思った)。実際、この本には一箇所、UMLのスケッチが出てくる。(p.22)
- フード
そして p.134 再びフード。ここが、ぼくが何度も話した(書いた)、XPのパラダイムシフトというところか。。。「イテレーションが終わったら小さなお祝いをしなさい。ピザ、花火、、、、」。リリースが終わったら顧客と一緒にシャンパンのボトルを開けよ、というのもどこかにあったと思うが、見つけられていない。
ここから、9/7追記。Annotated Bibliography へとつづく。。。この本がもう一つ面白いのは、参考文献にコメントがついているところです。単なる文献の羅列ではなく、その本のどこがどう、XPと関連してるかについてKentの思いが読めます。
- Refactoring
Martin Fowlerのリファクタリング、という本。この本も、XPも1999年が出版で、よく見るとXPの参照文献にRefactoringが、そして、Refactoringの参照文献にXPがある。つまり、循環参照しているんです。これは、XPの体系化にRefactoringが必要であったし、そして、Refactoringも実証が必要であり、その場がXPだった、ということでしょうね。ちなみに、Refactoring自体は、93ころに、Bill OpdykeがSmalltalkでの論文を書いたのが起源です。Opdykeには、先日のSPLASH(OOPSLAの後身)にてはじめてお会いでき、感激しました。かれは、AgileにおけるArchitectureの役割、というすごく興味深いワークショップを続けて開催しています。
- George Lakoff
XPのリファレンスには、"Philosophy in the Flesh: The Embodied Mind and Its Challenge to Western Thought"(『肉中の哲学―肉体を具有したマインドが西洋の思考に挑戦する』) が紹介されています。この本以外にも、Lakoffには名著があって、日本語になっているものに、"Metaphor We Live By"『人生とレトリック』があります。そして、僕がこの日に紹介したのは、"Woman, Fire, and the Dangerous Things"『認知意味論―言語から見た人間の心』(なんて無味感想な日本語題名!)です。この本は、文化、部族によって人間の認識する世界構造はまちまちである。そのカテゴリ化構造は、放射状である、ということを言っているんですが、「女性と火と危険なもの」を同一のカテゴリに置く文化があるんです。これは、オブジェクト指向で行われる「現実世界のモデル化」が、いかに無理があるか(世界の構造は頭の中にあるのであって、人間の認知なしには存在しない)ということを示している本です。
こしばさんが、「地震、雷、火事、おやじ」と言ったのはまさに的を射ていますね。
- Sex Tips for Girls
飲み会のワールドカベ、で「平鍋さんの下ネタ」と書かれたのはこのことです。この本には、最初のデートの話題の選び方から、ベッドでのとってもテクニカルな話まで詳しく出ています。読書会では、一部詳細にお話しました。この本へのKentのコメントは、「本当の情熱こそが、究極のテクニック。それさえあれば、ほかのものはあるべき場所におさまる。それがなければ、なんにもならない」です。
その他、Alexandarの「パタン言語」、Gerald Weinberg のQuality Software Management、Tom DeMarco の「ピープルウェア」, Thomas Kuhn のパラダイム論、Scott McCloudのコミック論、Frederic Taylor の「科学的管理法」、Colin Turnbullの「The Forrest People」と「The Mountain People」(資源が豊富な民族と希少な民族の行動。Kentは、Forrest People型にプロジェクトをしたい、と考えてXPを作った)、Fred Brooksの「人月の神話」、Ward Cunninghamの「Episodesパターン」などなどを紹介しました。
特に、Cunninghamらを含む、パターンとXPの関係については、
- 「パターンムーブメントからアジャイルムーブメントへ」 http://blogs.itmedia.co.jp/hiranabe/2005/10/post_dc1e.html
- 「XPとパターン。Ralph Johnson の見解」
http://www.objectclub.jp/community/XP-jp/xp_relate/xp_patterns-j
を参照してください。
以上、白本読書会のコメンタリでした。もっとXPを深く知りたい方に参考となるエントリになれば、と思います。
(※9/8追記: プロペラ帽について)
@Shunyaa31さん、飲み会にてプロペラ帽の写真を撮っていただいてありがとうございました。プロペラ帽はXPの「Simple Design」というプラクティスとかかわりがあります。ぼくがピンク本(RonJeffriesらによる)の訳をしたときに、あとがきに書いた、イラストを載っけておきます。
プロペラ帽はハッカーの象徴です。XPではシンプルに朴訥なコードが逆によしとされるため、難しいトリッキーなコードを書いた人は、ハッカーの称号とともに、このプロペラ帽が与えられ、罰として、これをかぶっていないといけないのです。
http://tech.groups.yahoo.com/group/extremeprogramming/message/9270
アジャイルサムライの中では、このプロペラ帽は、どのように扱われているのだろう!?