XP祭り2007 レポート vol.1

さる9月1日に開催されたXP祭り2007のレポート。賞味期限が切れる前に投稿。

主催者のみなさんが色々と工夫してくれていたおかげで、すごく楽しめてたので、行ってよかったと思う。国際会議からの帰国翌日だったので、週末は少しのんびりしたい気持ちがあって、申し込んだことを直前まで少し後悔していたのだけど、よい意味で当てが外れた。
技術的な面でいい刺激を受けられたし、エンタテイメント的な楽しみもあって、無料で参加させてもらえたのが信じられないほどだった。(お礼の意味を込めて、「カンパ缶」に少しだけカンパさせてもらった。)
とりわけ、午後の部の「 Rubyistドリームチームによるライブアジャイル開発」がとてもおもしろかった。(その様子は明日のエントリへ。)

あとの用事が支えていて親睦会に参加できなかったことが悔やまれる。プロプログラマのみなさんとお話してみたかったなあ。


以下、走り書きのメモを再構成しているので、発言者が入れ替わったり、内容が誤っている部分があるかもしれませんが、その部分の責任はすべて筆者にあります。また、内容を公開することそのものについて問題があれば、すぐに引っ込めます。

倉貫義人さん

入社後初プロジェクトでウォーターフォールに疑問

  • 途中でPMやアーキテクトがいなくなる
  • そしてなにより、PGに楽しさがなく、デマルコのピープルウエアに書いてあることと全然違う

オブジェクト指向の講習で、平鍋健児氏の語るXPを聞いて開眼した。


XPのextremeとは、いいことを「極端に」やっていくということ。そして、その目的は品質やビジネスでの価値や、プログラマの成長など、様々な麺で優れたソフトウエアである。

XPの価値というのは、

  • コミュニケーション
  • シンプルさ
  • フィードバック
  • 勇気
  • 敬意

である。
その中で、勇気とは(不要な)複雑さや、すでに作ってしまったものを捨てる勇気も含まれている。


Kent Beckが「私は偉大なプログラマーではなく、偉大な習慣を身につけたプログラマだ」と言っているが、どんどんいいものを取り入れよう。
XPでも、すべてのプラクティスを取り入れるのではなくて、価値にしたがって取捨選択するとよい。

XPではリリースも含めて全行程を繰り返すのが特徴。
それに対して、ウォーターフォールでは前工程の中間成果物を相手に仕事をすることになるし、何かあっても前工程に伺いを立てていくような形になっている。

人と役割は少ないほどロスが少ない。


Ruby on Rails いいよね


コミュニティは自分が変わる第一歩。
何より出会いが人を変える。
みなさんも、ぜひ交流を深めてください。

平鍋健児さん

8月13日〜17日のAgile Conference 2007(Washington D.C.)の報告

参加者数

1000人越の参加者で、半数は初参加だった。03,04年は300人ぐらいだったのと比べると、かなり多い。
リピータでは、会社名が変わっている人が多かった。

Ms. Susan Ershler

ビジネスで成功し、世界で初めて夫婦でエベレストに登るというような人物。
3つのPが大切

  • Project - 投影
  • Prepair
  • Persivier

彼女は登山のためにビルの34Fにあるオフィスまで荷物を背負って登ることでトレーニングをしていた。

Eric Gamma

2002年のManifesto for Agile Software Developmentに至るまでには、

  • FDD, Crystal, DSDM, ASD
  • XP
  • Scrum

という3つの大きな潮流があったと思う。

そこにXPからテスト駆動開発(TDD)が強調されたほか、Leanとして経営層が理解できる言葉でAgileが説明されたりして、現在に至っている。


今年の参加者の半数はユーザ企業から来ているが、これは米国では、すでにXPは開発者側だけのものではなく、ITをどう使うのかといった文脈で語られるようになりつつあることだと思う。

全体の雰囲気

Agile 2007は3つのキーワードが特徴だと思う。

Enterprise
スケーラビリティ、企業への導入、組織論との関係
People
会議、信頼醸成の方法、教育
Test Driven
RailsAgile


すでにAgile是か非かではなく、ISO9001との整合性や、「抵抗勢力」との付き合い方など、Agile導入を前提とした議論が目立った。


Agile/Leanとは・・・

  • ビジネス価値という視点で、投資効果がある
  • ちゃんと動く by テスト駆動
  • 期間内に仕上がる タイムボックスでスコープをきちんと定義
  • 維持・変更し続ける by 繰り返し開発

いずれにせよ、人が作っていることを忘れたらうまくいかない


セッションをいくつかpick out・・・

Linda Rising
  • introducing pattern
  • 小さな成功を積み重ねることが大切。Step-by-step
  • 昼食を一緒にとるというのも重要
  • 変化の受け入れは、それぞれ速度が違う。
  • Say thanks
  • 抵抗勢力」と話すときは、判断は横に置いておいて、とりあえずしっかり聞くことが大切。そうすると懐柔を引き出せる。
  • Big Joltを開く。有名人を呼んできて話をしてもらったりすると、それが話題の核になる。
Jean Tabaka

"I don't like Mondays"・・・meetingがあるから。
meetingは退屈だ。

  • 同じ内容、人、結論の繰り返し。
  • 決定はミーティングの外で行われる。
  • 時間の無駄。
  • 人が多すぎたり少なすぎたり。


Agileは次のステージにさしかかっている


最後の最後で平鍋さんのLet's NoteのWindowsブルースクリーンで落ちて、一同笑。