レビューでの欠陥検出シナリオ
ソフトウェアレビューにおいて、検出すべき欠陥を明確にした上で、欠陥検出をするとレビューアの責任分担や完了基準が明確になると考えています。これまで拙著「間違いだらけの設計レビュー」や日経SYSTEMSの連載、講演やセミナーにおいてもその話を伝えており、有効性に関して一定の反響をいただいています。また、検出すべき欠陥の見つけ方を検出シナリオとしてまとめておき、レビューの開始前に合意しておくことをお勧めしています。
検出すべき欠陥やシナリオはソフトウェアに求められる機能や提供する価値、開発チームの構成や体制にも依存するため、「どのようなソフトウェア、プロジェクトにおいてもこれを検出すればよい」というものはありません。抽象的ですが、そのソフトウェア、プロジェクトにおいてもっとも検出の価値が高いものになります。価値は得られるメリットのことで、たとえば、ソフトウェアの利用者の利便性が高まる、レビューで検出するとテストで検出するよりも修正コストが小さくなる、レビューで検出しておくとリリース後に検出されるリスクが低減する、リリース後の保守や拡張コストが小さくなるといったものです。
書籍や連載では、検出すべき欠陥やシナリオをシステマティックに作成する手順は、ボトムアップ、トップダウンによる作成といった方針を示し、具体例は付録に示している程度で、今後充実していかなければならない部分です。実際のソフトウェアでシナリオを作成する手法や手法の適用事例は共同研究や私の研究グループで検討を進めています。そのような手法の一つとして、過去のバグレポートからレビューで検出しておくべき欠陥を明確にし、次のバージョンのレビューで重点的に検出する手法があります。この手法に関して、現時点で、研究論文として以下が該当します。
1 「過去の不具合の修正工数を考慮したソフトウェアレビュー手法」 書籍の付録の検証IIに概要を掲載しています。論文のPDFはこちらから(電子情報通信学会の利用規程に沿って公開しています。利用規程の詳細はこちら。電子情報通信学会論文のオンライン版トップページはこちら)。
2 「業務観点でのレビューを目指した不具合情報の分析」 論文のPDFはこちら(情報処理学会の論文利用規程はこちら)。本論文は2013年度情報処理学会山下研究記念賞を受賞しました。その詳細はこちら。
検出すべき欠陥やシナリオに関してオープンに議論する場を2014/1/16 19:00~ 東京東高円寺で設けていただけるそうです。開催概要はこちら。無料ですが参加登録が必要です。SQuBOKユーザ会の主催で和田 信吾氏(東洋ビジネスエンジニアリング)が問題提起してくださり、その後、シナリオの作成方法やプロジェクトでの管理方法に関するディスカッションとなる予定です。ありがたい話で、私の発案ではないため私も参加できるよう予定を調整しています(少なくともUstreamでは参加します)。