パスアラウンドレビューの適用事例
欠陥検出を目的としたレビュープロセスの導入
ソフトウエア開発におけるレビューは、開発技術や管理技術の成果物に含まれる欠陥を早期に検出して取り除く活動として重要です。しかし、レビューの準備段階から指摘に対する是正が完了するまでの活動に誤りがある場合は、効率よく欠陥を検出することができません。
例えば、「準備しないことによって、場当たり的なレビューになってしまい、時間を浪費する」「会議の目的や進め方の認識合わせをしていないことによって、欠陥検出ではなく対策検討会や成果物の説明会になってしまう」「形骸(けいがい)化やスキル不足によって、本来の目的である欠陥検出ができない」といった事態になってしまうこともあります。
このような問題を解決するために、欠陥検出を目的としたレビュープロセスの導入を図ることにしました。しかし、新たなプロセスを組織に導入することが困難であることは、多くのソフトウエア開発プロセス改善活動において認められています。そこで、レビュープロセスを導入するにあたって、まずは組織内の1プロジェクトに対してパスアラウンドレビューをテーラリングして適用しました。
問題点と適用したレビュー技法
レビュープロセスが定着していない組織においても、図1に示すようにアドホックレビュー、レビュー会、デザインレビューなどの活動があります。しかし、欠陥検出を目的としたレビュープロセスが定着していないことによってさまざまな問題が発生します。それらの問題点も図1に示しています。
このような問題を解決するためのファーストステップとして、組織内の1つのプロジェクトに対して、パスアラウンドレビューをテーラリング(カスタマイズ)して適用しました。
ここでパスアラウンドレビューを選択した理由について説明します。新しいプロセスを導入し定着させるためには、最初の導入障壁を低くする必要があります。そこで、既存のレビューと呼ばれる活動を元にして徐々に改善していくという方針にしました。この方針の下、レビュー技法であるパスアラウンドレビュー、ウォークスルー、チームレビュー、インスペクション(それぞれのレビュー技法については参考文献に挙げた書籍を参照)について、導入障壁がどれくらいあるかを評価しました。
まず、パスアラウンドレビューについては、似た活動をしているため比較的導入しやすいことがわかりました。しかし、既存のアドホックレビュー、主に回覧/配布方式のレビューにおける問題点を解決する必要があります。
次のウォークスルーも、似た活動をしているため比較的導入しやすいことがわかりました。しかし、こちらは既存のレビュー会における問題点を解決するために、会議の進め方を変革する必要があります。また、成果物の品質が低い場合、時間を浪費する可能性があります。
そして、チームレビュー、インスペクションについては、組織にとって新しいプロセスの導入となります。既存のレビュー会における問題点を解決するために、会議の進め方を変革する必要があること、チェックリストなどのツールを導入する必要があること、インスペクションを導入するには、インスペクションの対象としない成果物やインスペクション前の成果物の品質を確保するために、前もってほかのレビュープロセスを導入しておく必要があることがわかりました。
これら評価の結果、4つのレビュー技法の中からパスアラウンドレビューを選択しました。