レビューとは
レビューとは、システム開発の各工程(要件定義、設計、プログラミングなど)で作成された成果物(仕様書やソースコード)を複数のメンバーで確認し、誤り(バグ)や考慮不足がないかを検査する作業のことです。早期に問題を発見することで、開発の後半での手戻り(修正作業の増加)を防ぐ目的があります。
レビューには、以下のような代表的な手法があります。
- ウォークスルー:成果物の作成者が進行役となり、関係者を集めて成果物を読み進めながら、意見交換や問題点の洗い出しをカジュアルに行う手法。
- インスペクション:役割(司会者、記録係など)を明確に決め、厳格な手順に沿って公式に行う、極めて精度の高いレビュー手法。
具体例
プログラムのソースコードが完成した際に行われる「コードレビュー(ウォークスルー)」の実施例です。
- 作成者がソースコードを画面に映し、「この関数は注文データをデータベースに保存する処理です」と説明しながらプログラムの流れを読み上げる。
- 参加している別の開発者が「データベースの接続が切れたときのエラー処理が抜けているので、追加した方が良いですよ」と指摘し、バグを未然に防ぐ。
もう少し詳しく
システム開発におけるレビューとは、要件定義書、設計書、ソースコードなどの成果物を、作成者以外のメンバーが検証し、誤りや不備を早期に発見・修正する共同作業です。開発の後期でバグを見つけるよりも、設計などの初期段階でミスを修正するほうがコストが大幅に抑えられるため、品質管理において極めて重要な役割を持ちます。
レビューには、目的や進め方に応じて以下のような様々な手法があります。
- インスペクション(Inspection): 最も厳密な形式で、独立した「モデレータ(司会役)」のもと、評価シートや基準に従って公式に進められます。作成者の説明なしで客観的にドキュメントの欠陥を洗い出し、レビューの記録や修正結果の追跡まで義務付けられます。
- ウォークスルー(Walkthrough): 作成者が主催し、関係者に成果物の内容をステップバイステップで説明しながら、ロジックの誤りや改善点を探し出す非公式な共同レビューです。
- ピアレビュー(Peer Review): 同僚(ピア)同士で気軽にコードや設計書を確認し合い、ダブルチェックを行う形式です。
試験でのポイント
試験では、様々なレビュー手法の定義や、それぞれの特徴の違い(特に「インスペクション」と「ウォークスルー」の違い)がよく出題されます。
インスペクションは「モデレータと呼ばれる司会進行役を立て、明確な役割分担のもとで公式に実施し、欠陥の記録や追跡を行う最も厳格な手法」であるのに対し、ウォークスルーは「作成者が主導し、参加者を集めて成果物を読み進めながら疑問点を解消していく比較的カジュアルな手法」です。この実施プロセスと責任者の違いが問われます。
関連する用語
関連する用語には、レビューで司会進行役を務める「モデレータ」、2人のプログラマーが1台のPCで開発とレビューを同時に行う「ペアプログラミング」、およびレビュー結果を記録する「指摘事項一覧」があります。