スポンサード リンク

« ライフハック・プラクティス「楽しさを加える」 | メイン | 前代未聞のLT男優とLT作家がオブラブでベストトーカー賞を受賞!その舞台裏を一挙公開「渡辺メソッドの秘密」 »

オブラブ2008夏「XPブートキャンプ」で学んだこと

オブジェクト倶楽部 2008夏に参加してきました。

今回のイベントで僕が注目したのは「アジャイル開発体験トラック」でした。

kptboard1.jpg

アジャイル開発体験トラックでは、「XPブートキャンプ」と題して、XPを肌で感じるために丸々一日チームでXPを実践してみるというものです。

自分の好きな言語(やりたい言語)を申し込みの際にJavaかRubyを選んで、同じ言語を選んだ人を4人1組でチーム編成して開発をしていきました。

チームには、XPの進め方や言語的な部分をアドバイスしてくれる立場で、専属のコーチがついてくれました。僕のチームは、あの呑まれ部で有名なコウイチ氏が専属コーチに!今まで、呑まれている姿しか見たことがなかったので衝撃的でした。

それと僕は、Rubyをやったことがないので、あえてRubyに挑戦するためにRubyチームに入ったのですが、なぜか、オブジェクト倶楽部の中の人の陰謀?で特別コーチという形で参加することに。とはいっても、教えるという立場ではなく、皆で学ぶことを促進するという立場で挑みました。
(陰謀の詳細はfkinoさんのブログで)

今回の体験トラックでは、たくさんの収穫がありました。
レポートも長文になってしまいましたが、みなさんの参考になればと思い、まとめておきます。

■タイムボックス

1日の作業をタイムボックスで区切ることで、やるべきことと締め切りが明確になります。
今回のブートキャンプでは、チーム分けや計画ゲーム、開発のコマ、ふりかえりなどのタイムボックスが決められていました。

普段の仕事でどこまで1日の作業を計画しているでしょうか?
今日はここまでやろうというレベルで考えてしまうと、だらだら作業を進めてしまい、やろうと思っていたことができなかったということにもなりかねません。

1日をタイムボックスで区切ることで、作業を細分化することができます。
目の前のやるべきことの粒度が大きいと、何をすればいいのか?を見失ってしまいます。

枠があれば、その時間内でできることが明確になります。
これは、小学校の授業が時間割を決めて勉強をしていくのと同じ考え方です。

タイムボックスを決めるということは、レールを引くのと同じです。レールがあれば、その上を走るのは簡単です。
しかし、レールが無い道を走ってしまうと、常に軌道修正しながら道を進まなければいけないので大変です。

今回は、全体の進行係の人が、タイムボックスを管理していて、時間を計測してタイムアップすると、打ち切りの合図を送ってくれました。
これは、タイムボックスで進めていくときに必要なことです。せっかく枠を決めているのに、その枠からはみ出るようであれば、意味がありません。

小学校で授業が終わるとチャイムが鳴るのと同じです。誰かが合図を送ってあげるようにしましょう。
1時間目が国語、2時間目が算数の授業と決めているのに、1時間目の授業が思うように進まないからといって、2時間目も国語の授業するということはないはずです。

しかし、実際には進行役を作ってタイムボックスを運用するのは難しいかもしれません。
僕の場合は、Googleカレンダー上でタイムボックスを管理するようにしています。
そして、進行役にD3timerというツールを使って、Googleカレンダーで決めたタイムボックスの状況を見える化し、タイムアップを分かるようにしています。

タイムボックスの考え方は、チェンジビジョン懸田さんの下記の記事が参考になりますので、そちらをご覧ください。
第22回 “時間割”を作り,タイムボックスを意識して作業する:ITpro

■計画ゲーム

今回はプログラミングを体験するということなので、お題が5つ用意されていました。
そのお題の中からチームでどれをやりたいか計画ゲームをしながら決めていきました。

<お題>
・ボーリングゲーム
・おつり
・FizzBuss
・2分探索問題
・なべあつ問題

お題の中でもアルゴリズムが難しそうなものから、比較的簡単に作れそうなものまでいろいろあったのですが、チームメンバーで投票しながらどのお題をやるか決めるようにしました。

僕たちのチームでは、メンバーがやりたいものを1から5までの順位をつけて、その順位の合計が低いもの(みんながやりたいもの)を優先してやっていくようにしました。

普段の職場でも、どれから着手するか優先度付けしなければいけないシーンがたくさんあります。そんな時に、チームメンバーで投票するというやり方は簡単でかつ合意がとりやすい方法だと思います。

1コマ60分が3コマ使えるという時間割だったのですが、次に決めなければいけないのが、どの順番で誰がやるかということです。

どの順番というところは、先程の投票で決まっているのですが、アルゴリズムが難しそうなものは1コマだけでは完成しないので、何コマを使ってやるかなどをチームメンバーで議論して決めました。

そして、誰がやるかというのも、リーダーがトップダウンで決めるのではなく、投票時に自分がやりたいと決めた順位と照らし合わせながら、担当を決めていきました。

僕はこの時「投票制は、すごくスムーズにやるべきことの合意がとれていくのでスゴイ」と感じました。
一方的に決める計画ではなく、民主的に投票制で決めていくことで、メンバーは「やらされる」から「自らやる」と思えるのです。

これはかなり僕の中で収穫でした。

■チームでランチを

普通のセッションだと、ランチは自由だと思いますが、今回はランチもチームメンバーと一緒に行こうという試みでした。

初めて会ったチームメンバーと打ち解けるのは、すごく時間とパワーがいることです。
しかし、一緒にランチを食べに行くと一気にメンバー間の距離が縮まった感じがしました。

「同じ釜の飯を食った仲間」と一緒に仕事をすることで、喜びも分かち合えることができます。

ワークショップなどでお昼休憩をはさむ場合は、「チームでランチを」というのはおすすめです。

■ペアプログラミング

僕はあまりペアプログラミング(ペアプロ)したことがありませんでした。
なので、ペアプロの良さがいまいち理解できていませんでした。

今回、3コマ全てをペアプロでやってみて分かったことがあります。
それは、「達成感を共有できる」ということです。

自分自身最初は、
ペアで作業をすると2倍時間がかかってしまうので効率が悪いのでは?
両方のスキルが同じぐらいでないと、うまくいかないのでは?
などと思っていた部分もありました。

しかし、ペアプロの成果物は、「二人で作ったプログラム」であるということに気付いたのです。
プログラムは1つですが、魂は2つ入っているのです。

pearboard1.jpg

二人で悩んだ、二人で考えた、二人で作った、二人で喜んだ・・・
二人でプログラミングのプロセスを共有するということは、単純にコードを共有することの何倍も価値があることだと思います。

これは言葉では理解できないことです。
ペアでやって初めてわかることだと思いました。

■小さくふりかえって

1コマ終了するごとに、休憩時間を兼ねて小さくふりかえりを行いました。

良かったこと(Keep)2つ、まずかったこと(Problem)1つ、改善アクション(Try)1つをメンバーが発表するようにしました。

普段からふりかえりをすることはあったのですが、今回のように数を決めることはしていませんでした。

発言する数を決めておくことで、短時間でスピーディーにふりかえりが行えるので良い方法だと思いました。

休憩時間にやるというのもミソです。あんまりだらだらしていると休憩時間が無くなってしまうので、早く終わらせようと意識することで無駄話が減って効果的です。

■全体を通じて

ここまでリアルにXPの体験セミナーを受けたのは初めてでした。

最初は、Rubyを少しでも勉強したいと思って参加したのですが、結果として得られたものは、それ以上でした。

むしろ、理解しているつもりのXPでの発見の方が大きかったような気がします。

XPに限らないことだと思いますが、今回の体験トラックを通じて「共に」というキーワードを大事にしようと感じました。

・共に過ごした時間
・共に作り上げたもの
・共に感じた感動

こういった体験を関西でも広めていきたいと思いました。

そして、このエンジニアの熱い想いを発信するフリーペーパーが株式会社マナスリンクから配られました(祝!

「EM ZERO創刊」
~ソフトウェアには、もっと愛が必要だ~

emzero.jpg

キャッチコピーが心に響きます。
冊子のクオリティがフリーペーパーの域を越しています。

20冊ほど持って帰ってきましたので、声かけてもらえると先着順でお渡ししますね。

最後に、このような機会を下さったオブジェクト倶楽部のスタッフの皆さん、いろんな気付きを与えてくれたチームメンバーの、諸橋さん、北村さん、千葉さん、コーチとしてアドバイスをしてくれた呑まれ部コウイチさんに感謝します。

1000q!

LTもやったのですが、そちらについては別途書きまーす。

■オブラブ2008夏レポートリンク

僕は、アジャイル開発トラック1本だけだったので、他のセッションもすごく充実していたようです。

他の方のレポートをリンクしておきます。

An Agile Way > オブジェクト倶楽部2008夏イベント(感謝) : ITmedia オルタナティブ・ブログ

イベント終了☆ - ラブ!オブラブ!

オブジェクト倶楽部2008夏イベント - fkino diary (2008-07-01)

オブラブ2008夏にいってきましたー - yojikのlog

オブラブ2008夏イベント - へっぽこ

2008-07-02 - やっとむでぽん

Akiyahの珈琲日記 - オブジェクト倶楽部2008夏イベントオブラブのライトニングトークス
オブジェクト倶楽部イベント2008夏おつかれさまでした - kajilog

UMLモデリングレッスン - essence



スポンサード リンク

本サイトについて

スポンサード リンク

最近のコメント

最新のトラックバック




ブログ検索
ブログランキング・にほんブログ村へ

blog-navi
ブログランキング
ブログ検索☆BITZ
BLOGGER!ブログ検索&ランキング
BS blog Ranking