第12回 Ruby勉強会@関西

念願の初参加。初めて行ったとは思えないくらいの人の暖かさに感激しました。そして、久しぶりにこんなにたくさんの関西弁を聞いた。青木さんともかずひこさんともご挨拶できたし、横浜から行ってよかった。
そして、すごくきっちり運営されているのに感心しました。色んな面で見習わないとなぁと思います。講演者のみなさん、スタッフのみなさん、ありがとうございました。
青木さんの話は「Rubyリファレンスマニュアル刷新計画」。最後にマニュアル刷新の裏の理由を話されていました。そういうモチベーションって大切だと思います。で、リファレンスマニュアルの名前を懇親会で決めるということで、懇親会の二次会で決まった(?)のですが、あの名前で本当にいいんでしょうか?酒の勢いで決めたので、後日撤回とか・・・。
かずひこさんの「Rubyで学ぼうテスト駆動開発」は、4人でペアプロ(カルテットプロ?)をやりました。1時間という短い時間でグループワークみたいなこととか実習的なことをやろうとすると、グダグダになったり時間が足りなくなったりすることがよくあるのですが、今回はきっちり時間通りに終わりました。これは、かずひこさんの説明が上手いのと、配付資料がすごくよくできているのと、各グループに1人ずつ専属のスタッフがついているということが上手くいった理由じゃないかと分析します。
XP界隈ではリズム重要*1 *2 *3ということがよく言われますが、テスト駆動のアプローチである「テストを書く(失敗)→フェイクする*4(成功)→テストを足す*5(失敗)→明白実装(成功)」みたいなサイクルはXPで言われるリズムの中でも最も短い周期で刻まれるものだと思います。
今回の実習はStep8まであって、このサイクルを回すわけですが、1時間という短い時間の中でもStepを進めるほどテンポがだんだん速く*6なっているのが実感できて心地よかったです。今回は配付資料にどういうStepで進めるかというのが書かれていたのですが、実際の開発ではこれを自分で考えないといけないわけです。XPではストーリーをタスクに分割しますが、このタスクを更にテスト駆動の1サイクル分(10〜15分くらいで実装できるくらい)の単位に分割する必要があると思います。この単位の名前を「ステップ」と呼ぶことにしたらどうかなぁと思いました。ステップへの分割は慣れている人は無意識のうちにやるわけですが、ステップリストみたいなものを書いて「いまここ(ロシナンテ*7)」みたいなのをやるといいと思います。
先週のXP祭り関西に行ったよという人がたくさんいました。最近、Lightweight LanguageAgile Language*8 *9 *10とか言われていますが、LLとアジャイルの距離の近さを感じました。(って、後になって考えたら、Ruby勉強会の参加者がたくさんXP祭り関西に行っていたのは、Ruby勉強会で川端さんが宣伝したからか・・・。あと、阪井さんが日本Rubyの会のMLで告知されてましたね。)
先週の平鍋さんの話を聞いて、タスクかんばんとペアボードを始めましたという人もいたりして、こういう話を聞くと本当に嬉しいなぁ。
あと、参加者のうち学生の方が半分くらいだったそうで、学生の頃からこういったコミュニティに参加して色んな人と繋がっていけるのは大変いいことだと思います。
余談ですが、懇親会会場の入り口の「ご一行様」みたいなところに、「ルビー関西」と書かれていたのは如何なものかと・・・。(^_^;
また、関西に帰る予定と合えば参加したいですね。よろしくお願いします。