2010年12月4日土曜日

「アジャイル インスペクション ワークショップ in 関西」に参加。

12月3日、XPJUG関西主催のイベント「アジャイル インスペクション ワークショップin関西」に参加した。

司会はソニー株式会社永田敦さん。

正直、インスペクションという言葉は知っていたが、正確な意味は理解できていなかった。「インスペクション」がどういうものであるか、アジャイルインスペクションがどの様な方法なのかを知るために、イベントへの参加を決意した。

ちなみに、インスペクションについては以下wikiの引用を参照頂きたい。

インスペクションとは、ソフトウェア開発プロジェクトで作成された成果物(仕様書やプログラムなど)を、実際に動作させることなく人間の目で見て検証する作業を言う。

様々な会社や団体で言葉は違うものであるが、僕の場合、上記の行為を「レビュー」と呼んでいた。

「人間の目で検証する作業」を有意に実行するためには、時間がかかる。時間を掛けずに実行したととしても、無意味にしかならない。

「アジャイルインスペクション」とは、時間の掛かるインスペクションを、短時間で効率的かつ効果的に実践するための手法である。簡単にまとめると、下記内容となる。


1.レビュー対象物作成期間中、一定期間でレビューする。
2.レビューは、下記レビュープロセスを繰り返し実行する。
 2.1.サンプリング
 2.2.インスペクション
    a)1枚15分ペースで実施
    b)5つの観点 「曖昧」「不明確」「矛盾」「設計要素」「重要な欠陥」
 2.3.評価 → 欠陥の種類と数を集計し、合否判定する
 2.4.ロギング
 2.5.修正

注目すべきは、「すべての成果物をレビューしない」と宣言している点。成果物の中のいくつかをサンプリングし、濃密にインスペクションを実施する。最初は問題だらけでも、指摘結果を開発チームへフィードバックすることで、段々指摘件数が減るという。

これは、「小さく繰り返して開発」を基本とするアジャイル開発プロセスにとても類似している。

僕は今まで、ここまでシンプルで効果的な「レビューの観点」にお目にかかった事がない。素晴らしいレビュープロセスとレビューの観点を知ることができ、非常に有意義な内容であった。