半年間のアジャイル開発をタスクボードでふりかえる動画!XP祭り2011LT資料 #xpjug

XP祭り2011でLTしました。発表させていただいた内容は、「6ヶ月のプロジェクトのリリースまでをタスクボードとふりかえる」ものです。チームは10名ぐらい。私のチームとプロジェクト側のチームの合同プロジェクトになります。

@tk0miyaさん、@zuisenerさん、@kohseiさんなどからいろいろご感想をいただいたので、今回は、このLTのコンテキストをちょっぴり補足させていただきます。

チームをつくるということ

合同チームでのプロジェクトということもあり、当初は一体感がありませんでした。そのため、まずは以下のような変化をチームに求めました。

  • 合コンのようにメンバーをごちゃごちゃに席替え
  • 週一の進捗報告でなく、毎日の朝礼を実施
  • 誰が何を今やっているかわかるようにタスクボード(かんばん)を作成
  • プロジェクトで僕が目指したかった開発チームの姿を「誠」という旗として見える化
プロジェクトのシンボルになった誠フラッグ

なぜ、「誠」にしたかというと、新選組のような組織的に行動できる集団になってほしかったことと、誠にはとてもいい意味があったからです。

誠とは言を成すと書くが如く、真実で嘘・偽りのない姿をいう。真実とは是を是とし非を非とすることであって、即ち、仁であり良知に通ずる。説文の言部に「信なり。言に従ひ成を声とす」とあるように、守るべきを守ることを誠という。 via 語彙辞典

チームは若いメンバーが多く、エンジニアとしての基礎体力が低い状態でした。これにはいろいろな理由があるのですが、「目の前の作業で精一杯」「動けばOK」といったカルチャーが大きいのではないかと思っています。サービス開発では、プロジェクトが終わっても運用が始まるため、「動くこと」ではなく、「動き続けること」が必須となります。「今さえ良ければいい」感覚は、エンジニアとして求められる感覚ではありません。

この嫌な流れを断ち切り、「真実で嘘・偽りのない姿」に近づけ、エンジニアとして「守るべきを守り」、いいサービスを創出したいというのが僕の考えでした。そのために最低限必要だったプラクティスが

  • テスト&CI
  • デイリースクラム
  • イテレーション&デモ
  • リリース自動化

です。上記以外にも、いろいろTryしたので、メンバーはきっと苦しい立ち上がりだったのだと思います。

チーム一丸ということ

半年間共に戦ったタスクボード

プロジェクトの進捗確認として、チーム横にあったタスクボードを毎日(できるかぎり)写真撮影してきました。LTで発表させていただいた動画のほとんどが、タスクボードの移り変わりになるのですが、レイアウトもがんがん変更し、どんどんシンプルになっていきました。

そして、なかなかDoneできなかったチームですが、2月は30、3月は20(地震のため)、4月は30、5月は50、6月は120というように、チームのベロシティーはぐんぐんスピードアップしていきます。ベロシティが安定する前にプロジェクトが終わったため、感覚値になりますが、チームは110ベロシティぐらいの力を持つようになり、プロジェクト当初の3倍以上の成果が出ているとも考えられます。これは、右側の付箋の数をみるとよく分かると思いますが、ここまでくるのに6ヶ月かかりました。

この付箋なのですが、細長い付箋と、四角い付箋の二種類があります。これは、

  • 細長い付箋は、プロジェクトに関係のない作業
  • 四角い付箋は、プロジェクトの作業

というように、「プロジェクトに集中できているか」を見える化するために使い分けました。細い付箋が多くなると、プロジェクトとしてのリソースが消費されてしまうので、対策や調整をする必要性が出てきます。チームに本来あるべき「開発」に集中させることが、僕の仕事だったとも考えられます。

チームが1つの目標に向かうということ

リリースチェックリストすごろく

そして、プロジェクトもいよいよリリースの時を迎えます。初期リリースでは、メンバーの連携がとても大切になるため、リリースのチェックリストをすごろく風にして見える化しました。それぞれのチェックの後には、「振り出しに戻る」「次に進む」といった確認があります。

余談ですが、すごろくの真ん中にたくさんある青い付箋は、チェックを終えると外していくルールになっており、すべて外すとその後ろにはZARDの「負けないで」の歌詞が隠れているというおまけ付きです。ちっとはモチベーションが上がってくれればと思ってそうしました。

このリリースまでの物語は、以下の動画を見ていただければ、きっと伝わるんじゃないかと思っています。

著作権の問題があるため、LTで使った動画を一部修正しています。

チームがアジャイルになっていくということ

最後に、この動画は、プロジェクトの最後のMTGである「大ふりかえり大会」のために作りました。ふりかえりでは、「顧客との協調」など、たどりつけなかったことを共有し、Tryをみんなで考えました。そして、私は、チームのメンバーに質問しました。

「このプロジェクトは誠だったろうか?」

残念ながらメンバーからの返事はありませんでした。きっと、みんな「まだやれることがあった」と感じたのでしょう。そして、その思いは、次のプロジェクトへと引き継がれていくと信じています。

テストを書いて、定期的にビルドすることでリスクを減らし、朝礼やランチでコミュニケーションを取り、チームを創りだす。僕にとっては、「真実で嘘・偽りのない姿」すなわち、「当たり前のことを当たり前にやる」ことが、本当に難しいと感じた半年間でした。そして、「コミットすること」「集中すること」「 オープンであること」「敬意を払うこと」「勇気を出すこと」というスクラムの価値を伝えるために、膨大な時間がかかったように感じます。

今回のプロジェクトでは、プロジェクトリーダー、アジャイルコーチ、スクラムマスター、プロダクトオーナーのサポートといろいろやらざるを得なかったのですが、途中、正直に言うと、「リーダーってなかなか報われないなぁ」と感じました。チームとか形のないものを作るせいか、成果として見えるものも少なく、人のサポートばかりが中心になります。

しかし、プロジェクトが終わって、しばらくたったあと、チームが自分たちで新しいタスクボードを作り、自分たちの手で改善をしている姿を見て、「リーダーも悪くない仕事かもしれない」と思うようになりました。動画の最後のほうにあるのですが、リリースの時の失敗や、そこからのリカバリについては、当日はハラハラしましたが、あきらめずに1つずつクリアしていく姿には心を打たれます。時間はかかるのですが(僕はせっかちなのですが)、人が成長する姿はとてもいい。一つの方向をみんなで目指すのは楽しい。

現在、僕は別プロジェクトでコーチをしているのですが、時間のあるときなどに、プラクティスの意味や価値を伝えたり、一緒に問題解決や改善案を考えたり、ヒントとしてアジャイルサムライを貸したり、アジャイルというものの価値や原則をもとに、1歩ずつ彼らに開発を伝えています。

チームは、半年でアジャイル開発を実践する力をつけ、アジャイルになろうとしています。きっと彼らはアジャイルなチームになっていくでしょう。そして、彼らはより開発を楽しむでしょう。

そして、アジャイルチームは決してチームをあきらめないでしょう。