Redmineでアジャイルチームのスピードやパワーを見える化する

2761992149_bc64c13640

burndown chart via kakutani

アジャイルなチームを目指す。私がチーム運営を始めたときのポリシーでした。どうやって作業をこなすだけから、アウトプットへの価値へとシフトしていくか?チームの方向を示すためにも、様々なメトリクスやKPIを見える化する必要がありました。

通常のプロジェクト管理方法だと、ガントチャートでロードマップを設定、進捗の状態を管理。WBSなどを作ってそれぞれのタスクを管理・・・といった形が一般的なのでしょうか。しかし、それではワクワクしない。そんな中、常に改善を心がけ、私が試して行き着いた方法を紹介させていただこうとおもいます。

唯一生き残ったプラグイン

バーンダウンやタスクボードなど、Redmineのプラグインで様々な見える化をしましたが、ずっとそれを使うことはしませんでした。その中で、最終的に生き残ったのがパーキングロットチャートです。なぜ、これが勝ち残ったのでしょうか?

001 (1)

バーンダウンチャートの場合、見積もりから実績入力までを毎日入力しなければなりません。その見せ方はとてもすばらしいのですが、実際にやるとそのプロセスが重くなってしまいました。このまま続けることも考えたのですが、私が関わる仕事は予定が立てにくく、反応反射でやっていく作業が多かったので、パーキングロットチャートの手軽さがマッチしたのだと思います。

パーキングロットチャートやアジャイルの見える化については、@hiranabeさんのかんばんボードによるプロジェクトの見える化 via InfoQがとても参考になります。私が利用した時のパーキングロットチャートでは、イテレーションやストーリーの見える化が視点となり、現在使っている唯一のRedmineプラグインになりました。

単純なビューですが、「色」や「プログレスバー」で状態が分かり、ざっくりと確認したい内容が詰まっています。ふりかえりやスプリント計画では、これを見ながらメンバーを個別に、口頭でコミュニケーションを取るようにしています。

しかし、これだけだといまいちチームのスピード感や、チーム力が見えてきませんでした。そこで、考えたのが、Agile2010のScrum Metrics for Hyperproductive Teamsというセッションで、ダウニーさんやジェフさんが教えてくれたメトリクスの導入です。

チームのスピードを見える化

アジャイルで登場するのがVelocity(速度)です。ベロシティは、チームがコミットしたイテレーション期間内のストーリーポイント合計を指します。ベロシティの予想を立て、実績を入力することでバーンダウンチャートもできあがるのですが、マネージャ視点でチームのスピードを安定化させたい場合は、以下のようにチェックすることも可能です。

Screen shot 2011-04-02 at 8.40.50 PM

上記図では、「ベロシティの安定性」を見える化しています。はじめは予想と実績にずれが大きく出るとおもいます。そして、微調整していくうちに、予想と実績の曲線はいったりきたり交差し、最終的にチームのスピードを「ある程度」認識出来るようになります。

チームのパワーを見える化

Screen shot 2011-04-02 at 8.41.05 PM

スピードからはその達成度も確認することができます。例えば、上記図の青いラインはFocus Factorといい日本語だと「達成度」になるのでしょうか。予想と実績の割合を指し、計算式は以下になります。

Focus Factor(%) = 予想のベロシティ / 実績のベロシティ * 100

Focus Factorによって、「どれだけできたのか?」を見える化できます。

次に、赤いラインであるTargeted Value Increaseは、「どれぐらい成長しているのか?」を見える化できます。

Target Value Increase(%) = 実績のベロシティ / Sprint1のベロシティ

Sprint1のベロシティを参考値として、チームの成長力を計算します。ベロシティはどんどん伸びるものではないと思いますが、人の成長や、改善によって作業が圧縮化されるとすこしはのびるのかなぁと思います。参考値としては「過去最高のベロシティ」とか「過去最悪のベロシティ」とか「GWが途中にあったときのベロシティ」などなど、いろいろ当てはめて仮説を立てることができます。

まとめ

今は、チームのスピードやパワーの見える化チャートは、Redmineから取得したデータを使ってExcelで作成しています。Redmineのプラグインでも実装できそうなので、気が向けばプラグインとしてリリースしようと思います。ただ、「画面よりも模造紙」のほうが強いので、なんでもかんでもプラグインにするのが正解でもなさそうです。

最後に、見える化によって「チームにどのように見せてエンパワーメントするか?」「Managerにはどの情報を見せるか?」といった作戦を練ることができると思います。最近、「世界のAgileなエンジニアはどんな見える化をしているのかなぁ?」と考えることがあり、面白い見える化を見つけたら共有させていただきます。

参考

Focus Factorなどについては、Agile2010のScrum Metrics for Hyperproductive Teamsにセッションのログを残しています。