アジャイルインスペクションを体験してみた
森崎さんの計らいによりアジャイルインスペクションを体験する勉強会に参加してきました。
「組込みシステム教育教材 話題沸騰ポット GOMA-1015型 要求仕様書」を題材にしてアジャイルインスペクションの手法について体験することができました。アジャイルインスペクションとはその言葉の通りにインスペクションをアジャイルに行うものでした。
アジャイルというとシステム開発の手法が想像されます。アジャイル開発ではウォーターフォール開発の弱点である「手戻り」を減らすためにシステムをいくつかの小さなパーツに分割します。そしてその小さなパーツをひとつずつ完成させていきます。
レビューの大家Tom Gilb氏が考案したとのことで、レビューの対象となるドキュメントから一部を抜き取り、その一部分を集中的にレビューすることで効率的なレビューを実現しています。
抜き取ってくる語数(情報量)には標準値があり、それに対するレビュー時間が設定されています。そうすることで一回の抜き取りレビューで発覚した指摘事項からドキュメント全体の完成度を計算により推定することができます。このあたりの推定のロジック(指摘件数などから計算する)はこれから精度を高めていくことになるのでしょうが、この判断基準を積極的に変更し、また多年度に渡る運用からのフィードバックを吸収することで品質をコントロールできるように思います。
それにより完成度があまり高くないと判断された場合はドキュメントの残りの部分をレビューすることなく差し戻して作り直しを行います。そして抜き取りレビューが合格したら別の部分を抜き取ってレビューを行い、全体が合格したらドキュメントが完成するという流れです。
ソニーの永田氏による解説の中で「時間的な焦りがレビュー効率を著しく下げることがある」という話がありました。分厚い資料のレビューを行うと時間配分がよくわからず、尻すぼみになって焦って読み込むということがあります。文字を目で追っているだけになると確かに指摘事項を見つけることが大変難しくなるように思います。抜き取りによりレビューの対象をA4で1枚程度にすると時間の配分がとてもわかりやすくなります。また、ドキュメントをパーツの集合とすることで進捗を把握しやすくなりますし、できた部分からレビューしていくことも可能になるというメリットがあります。
もちろんデメリットも考えられ、ある部分のドキュメントの品質がなかなか向上しない場合はそこで詰まってしまって後工程に影響があるかもしれない、ということでした。そういった場合の対処は難しいと思われますが、詰まったことを早期に検知して応援を投入したり仕様を考え直したりできるところはメリットであるように思います。
適用できる対象は要件定義書から設計書、ソースコード、テスト計画書/項目書と多岐に渡ります。さほど難しい手法ではありませんし、ISO9000シリーズなど何らかの品質管理手法を取り入れている現場でもさほど運用を変更せずに取り入れることができるように思います。今後に期待です。