InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

よいアジャイルなメトリクスとは何か?

作者 Mark Levison , 翻訳者 近藤 寛喜 - (株)チェンジビジョン 投稿日 2009年11月12日

セクション
プロセス/プラクティス
トピック
Agile ,
Agile in the Enterprise
タグ
Value & Metrics ,
マネジメント

原文(投稿日:2009/11/05)へのリンク

Measure アジャイルコーチやコンサルタントは、クライアントにアーンド・バリューや作業時間、コード行数、テストによるコードカバレッジがアジャイルプロジェクトにはあまり適さないとよく警告する。しかし、それではアジャイルにあうよいメトリクスとは何だろうか、という質問がクライアントに残る。どのように良いメトリクスと悪いメトリクスを見分けるとよいだろうか。よいメトリクスには悪いコンテキストがあるのだろうか?

XPやScrumのチームにとって伝統的なメトリクスには、もちろんベロシティや直近のイテレーションでどれだけの仕事が完了できたか、がある。そもそもこれらのメトリクスが作られたのは、チームが次のイテレーションでどれだけの仕事をこなすのか、決めるのを助けるためである。しかしながら、よくある質問に、チームの生産性を測るためにベロシティを使えるのではないか?というものがある。二つのチームを比較するためだろうか?Hiren Doshi氏は、ベロシティのメトリクスは「チームに」とても特化したメトリクスであることを指摘した。加えてアジャイルコンサルタントであるPeter Stevens氏は測定をゲームに使う理由があるか、と尋ねた。「このストーリーは2ポイントですか?3ポイントですか?それはチームの判断によります。チームがもし可能な限り多くのストーリーポイントを提供したいと感じているとき、はっきりと3とするか、5とするかもしれません。」

アジャイルとリーンのコーチであるDave Nicolette氏は、貧弱にデザインされたメトリクスは、貧弱な成果物をもたらすと警告する。例えばバグ修正や火消しに報酬を与えると–人々はバグを書き、火をつけはじめる。

適切でアジャイルな計測として、アジャイルコーチのDeborah Hartmann Preuss氏とアジャイルマネジメントコンサルタントのRobin Dymond氏はよいアジャイルな計測の経験則を提示した。

  • リーンとアジャイルの原則への理解を促進すること
  • 生産量ではなく、成果を測定すること
  • 数値ではなく、傾向を追いかけること
  • メトリクスと診断は小さな組み合わせから始めることs
  • 集めやすいものからやること
  • 隠すよりもむしろ大きな影響を与える変数や文脈を明らかにすること
  • 意味のある会話を産むための材料として提供すること
  • 価値、もしくは製品か、プロセスを測るようにすること
  • 「十分によい」品質から自信をつけること

アジャイルなよい計測とはなんだろうか。

Ron Jeffries氏はテストフィーチャーを実行することを提案している。:

  1. デザインされたソフトウェアは、デザインされたシステムの一部分として提供するため、名付けられたフィーチャー(要求、ストーリー)に分割されます。
  2. どの名付けられたフィーチャーも一つ以上の自動化された受け入れテストがあり、チームが仕事をする度、フィーチャーに問題がないか実行されるのを示します。
  3. テストフィーチャーによるメトリクスは、どのプロジェクトでもどれだけのフィーチャーが全ての受け入れテストに合格しているかを示します。

スクラムコーチであるPeter Hundermark氏は、自動テストの実行を一つの計測方法であると示唆した。:

制限の中で、チームがより多くの(言い換えれば 成功する)自動テストを実行することは適切で肯定的な
品質の計測が行えます。一定の水準を越えるまで、そのポイントには到達していないとして
中断できるでしょう。(私たちもそう望んでいます!)
...
ついでに、これはsalesforce.comがアジャイルへ一気に
移行するときの主要なメトリクスでした。

加えて彼は進行中(WIP)を提案した。

進行中のストーリーの数は、生産性のメトリクスです。チームが協調的に作業できているか、
そうではないか追跡することで助けようとします。アジャイルチームにおける考えとして、
チームを全体のためのもので可能な限り協調して一つの作業項目を‘完了’します。これは
生産率や品質と横断的な学習を促します。スプリントの終わりにおける結果的にムダとなる未完了の項目のリスクを減少します。


シンプルに毎日を追跡すること、どれだけ多くの進行中があるかを見える化することは
彼らをより協調的にします。この図は何日もの間、進行中のストーリーを追跡したものです。
スプリントの境界ははっきりわかりません。時間が経つに連れ、1の方に近づくべきです。2以上の値は
どれもスクラムマスターの行動が原因です。

最後にDeborah氏とRobin氏はメトリクスをデザインする時には使うときの事だけを考えるのではなく、いつ止めるのか、またどうやったらゲームにできるのかを思い出させた。

InfoQの過去の記事には、"アジャイルワールドのメトリクスアジャイルEVM"があります。

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。