一歩進んだインスペクションにむけて

一歩進んだインスペクションにむけて

 一部のエンジニアにとってインスペクションは「やらなければならない会議の1つで、通過儀礼」という認識ではないでしょうか。また、プロジェクトリーダの中にも「プロジェクト計画書の『インスペクション実施予定日』を埋めるための会議」と考えている方もいるのではないでしょうか。インスペクションは技法の導入、やり方、観点といった点に留意することにより、その効果を飛躍的に向上できます。

 一方で、欠陥の指摘は誰もが苦手とする分野であり、作成者自身を批判してしまうような指摘では、指摘の効果が減ってしまいます。発見の技法だけでなく、作成者が思わず修正したくなるような指摘のしかたを身につける必要があります。筆者の担当記事では、欠陥という呼び方をしてきましたが、欠陥という呼び方ではあらさがしをしているイメージを与えるため「エラー」「不備」「心配点」と呼んでいる組織もあります。

さらなる情報が必要な方に

 インスペクションの歴史は長く、最初に文献として発表されたのは1970年代にFagan氏がIBM Systems Journalで発表した「Design and code inspections to reduce errors in program development」(http://www.research.ibm.com/journal/sj/153/ibmsj1503C.pdf)です。

 標準化文書では、IEEE 1028 Software Reviews and Auditsが、マネジメントレビュー、テクニカルレビュー、インスペクション、ウォークスルー、監査(Audit)を定義しています。ほかの文書と比較して詳細に書かれているので、何らかの標準が必要になる場合に、参考になるでしょう。ISO 9001(Quality management system)、JIS Q 9001(品質マネジメントシステム)では、文書管理と設計・開発の(ソフトウエアに限定しない)レビューの項目があります。

 CMMIではキープロセスエリア「検証(VER)」でピアレビューに関する言及があります。SWEBOK(SoftWare Engineering Body Of Knowledge)では「ソフトウエアエンジニアリング マネジメント」の章の「レビューおよび評価」節に簡単な記述があります。

 SQuBOK(Software Quality Body Of Knowledge)では、「ソフトウエア品質マネジメント」の一要素として「レビューのマネジメント」の章でインスペクションのプロセスが述べられています。また、「ソフトウエア品質技術」の一要素として「レビューの技法」でピアレビュー、インスペクション、チームレビュー、ペアプログラミング、ピアデスクチェック、パスアラウンド、ラウンドロビンレビュー、ウォークスルー、アドホックレビューが紹介されています。

 学術論文ではLaitenbergerの「A Survey of Software Inspection Technologies」が包括的なサーベイとなっています。CiteSeer等のサイトからダウンロードできるものもあるようです。

 最近では、オープンソース開発でソースコードリポジトリへの登録の前にコードレビューを実施することを推奨したり、義務付けたりすることがあるようです。Googleが公開しているGoogleにおけるコードレビューのビデオ(http://video.google.com/videoplay?docid=-8502904076440714866)では、プロセスとツールをまじえた説明があります。

 ソフトウエア開発自体と同様に、インスペクションにもプロジェクトやソフトウエアの事情にあわせたカスタマイズが必要になります。最終回である次回では海外事例を紹介します。

[参考文献]

文献[1] Petersen K. , Ronkko K. and Wohlin C. “The impact of time controlled reading on software inspection effectiveness and efficiency: a controlled experiment”, In the Second ACM-IEEE international Symposium on Empirical Software Engineering and Measurement p. 139-148 (2008)

文献[2] Karlsson, J.; Ryan, K, “A cost-value approach for prioritizing requirements”, IEEE Software, Vol. 14, No. 5, pp. 67-74 (1997)

文献[3] 田村 晃一, 亀井 靖高, 上野 秀剛, 森崎 修司, 松村 知子, 松本 健一 “見逃し欠陥の回帰テスト件数を考慮したコードレビュー手法”, 電子情報通信学会技術研究報告, Vol.108, No.173, p.61-66 (2008)

文献[4] Morisaki S. , Monden A. , Matsumura T. , Tamada H. and Matsumoto K. , “Defect Data Analysis Based on Extended Association Rule Mining,” In Fourth International Workshop on Mining Software Repositories (MSR 2007), p.17-24 (2007)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30