メトリクスの特性からアジャイル開発を考える
アジャイル開発に関する議論が色々ありますが、メトリクスの特性を考えるとアジャイル開発が何を目指しているかがわかってくると思います。
メトリクスは目的にあわせて定められるものです。GQM(リンク先はWikipedia)のように、測定する目的(ゴール)があり、評価すべき問いがあり、メトリクスが存在します。アジャイルで開発においても、従来からのメトリクスを収集されているところや、StatSVN(リンク先はRyuzee.com)や Sonar(リンク先は@IT)を用いてメトリクスの自動収集をされているところもあるでしょう。しかし、ここではアジャイル開発で特有のメトリクスを考えることで、アジャイル開発を考えてみたいと思います。
メトリクスには、数値、尺度、属性の意味があります(楠本 真二,“ソフトウェアメトリクスの研究動向(PDF),” 第4回エンピリカルソフトウェア工学研究会,December 2004.)。従来から利用されているメトリクスの多くは「数値」として用いられ、アジャイル開発特有のメトリクス(とは意識されない場合も多いかもしれませんが)には「尺度」として用いられています。この「尺度」には以下の種類があります。
比例尺度 ratio scale 数値の差と共に数値の比にも意味がある
間隔尺度 interval scale 数値の差のみに意味がある
順序尺度 ordinal scale 順序のみに意味がある
名義尺度 nominal scale 観察される変数と数値を対応させる(分類として記号の意味を持つだけ)
たとえば、開発対象を表すストーリーポイントや、その開発速度であるベロシティを考えると、これらはプロジェクト間で有効な数値ではなく、チームで決めた比例尺度です。複数のチーム間を比較して善し悪しを決めるものでなく、チームがより良く開発できるように用いるものです。
ストーリーポイントの見積もりにはプランニングポーカーが用いられることが多いようです。プランニングポーカーは、1、2、3、5のように直前の2つの数の合計が次に続く数列であるフィボナッチ数列を基本とするものです。1、2、3、4と続く線形の値で詳細な見積もりをするのではなく、ざっくりとした見積もりをします。
プランニングポーカー(リンク先はEnterpriseZine)は見積もりという意味では比例尺度を示すものですが、ストーリーに対して属性をつけることで、大まかな分類をしている側面があります。分類をすることで、以下の効果が得られます。
- ストーリに対する認識のずれを明らかにする。
- 詳細化が不十分なあまりにも大規模なものを見つけ出す
- ゴールを共有すると共にベロシティを意識する
これらをみていると、メトリクスの向こうにある目的が透け見えます。メトリクスは組織の視点で管理するものでなく、プロジェクトをうまく動かすための道具でり、コミュニケーションや見える化、そしてプロジェクトを前に進めるためのエンジンなのです。
このほかの尺度の例としては、スクラムのバックログがあげられます。バックログは優先順位を持ちますので、順序尺度です。バックログを属性尺度ではなく順序尺度として用いるのは、イテレーション(スプリント)のゴールを明確にするだけでなく、顧客にとっての価値を明確にすることで顧客とのコミュニケーションを向上させているのでしょう。
このように、メトリクスの観点でアジャイル開発を眺めると、従来の開発との違いが見えてきます。数値によってプロジェクトが過去の標準的な開発からずれていないかを管理するというのではなく、これからのプロジェクトに対し、理解を深め、問題点をなくし、ゴールを共有する道具であり、顧客とのコミュニケーションをとる仕組みになっているのです。
アジャイル開発は組織の視点よりも、今のプロジェクトを重視しているのです。

« [#TiDD] 問題の見極めがチケット駆動の成功の秘訣 #RxTstudy | トップページ | アジャイル開発への壁は価値観の壁 »
「私のアジャイル」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- Greedy algorithmと2割8割の法則 - Software Processes are Software, Too -(2021.12.12)
- 「任せて、任せず」「魚を与えるのではなく"釣り"を教えよ」(2021.08.16)
« [#TiDD] 問題の見極めがチケット駆動の成功の秘訣 #RxTstudy | トップページ | アジャイル開発への壁は価値観の壁 »
コメント