レビューの方法

レビューの重要性

ソフトウェア開発において、品質を向上するための技術の一つにレビューがあります。ソフトウェア開発時に必ずテストは実施するけれど、レビューは時間があった時しか実施しない、という方もいるかもしれません。レビューは、ソフトウェア品質確保という意味でとても重要な技術です。今回は、そのレビューの方法について解説します 。

レビューとは

レビューとは何かについては、規格や研究者によってさまざまな定義があります。ここでは、プレスマンの定義を紹介します。

レビューとは、「開発中のさまざまなポイントで不具合を検出して除去する「フィルタ」」である

R. S.Pressman(著),西康晴,榊原彰(監訳):「実践ソフトウェアエンジニアリング-ソフトウェアプロフェッショナルのための基本知識」,日科技連出版社,東京,2005.

レビューは、ソフトウェア開発の成果物に対して、誤りがないかを確認するために行われます。 ウォーターフォールモデル開発では、さまざまな場面で使われ、特に設計段階の早期から品質を確保するための重要な技術として適用されています。そのレビューの方法には、以下の表に示すように、いろいろな方法が提案されています。

レビュー方法一覧

レビュー方法一覧

上記のレビュー方法一覧は、公式な手順に沿っているか、レビュー記録を取るか、レビューの再現性があるかといった観点から、公式からカジュアルまで分類しています。表の上にあるほうがより公式な方法、下に行くに連れて、よりカジュアルな方法を並べました。以下に主なレビュー方法について、解説します。

インスペクション

もっとも公式なレビュー方法は、インスペクション(No.1)です。参加者の役割が、モデレーター、インスペクターなどと決まっており、チェックリストを用いてレビューを行い、レビュー記録を取ることなどが定められています。

チームレビュー

日本のソフトウェア開発の現場でよく行われているのは、チームレビュー(No.2)だと思います。チームで実施するレビューで、インスペクションほど厳格ではありませんが、レビュー記録を残すことが多く、チェックリストを用いてレビューすることもよく行われています。

ウォークスルー

ソースコードなどの対象物を、処理の順を追って複数人で確認していく方法は、ウォークスルー(No.3)と呼ばれます。

ピアレビュー

ピアレビュー(No.5)は、同僚(ピア)によるレビューの総称です。ピアレビューはCMMIで紹介されて有名になったように思います。困ったときに、隣の同僚に声をかけて、ちょっと相談に乗ってもらう、というようなレビュー方法です。上記の表で、最もカジュアルな方法に位置付けたアドホックレビュー(No.10)は、ピアレビューの仲間です。

最近注目されているレビュー方法とは

最近注目されているレビュー方法は、ペアプログラミング(No.6)とモダンコードレビュー(No.7)の2つでしょう。

ペアプログラミング

ペアプログラミング(No.6)は、アジャイル開発方法論の一つであるXP(eXtreme Programming)でプラクティスとして提案された技法です。ここでは、レビュー方法の一つとして紹介します。2人一組で一台のPCを囲んでプログラミングします。一人がPCを操作し、もう一人が助言や指摘をする役です。2人でプログラミングするので、工数が2倍かかるように思うかもしれませんが、生産性が落ちるというデータはありません。むしろ、開発者からは、集中できる、迷ったときにすぐ議論できるのでよい、など好評のようです。

モダンコードレビュー

モダンコードレビュー(No.7)は、コードレビューのツールを用いて、SNSでコミュニケーションするようにツール上でレビューをする方法です。当初はOSS開発など、遠隔地同士で開発を進める場合に使われることが多かったと思いますが、リモートワークが普及して、当たり前に適用されるようになってきたと思います。ツール上にレビュー記録が残るため、後から別の人がコードを読むときにも理解しやすくなるというメリットがあります。

さいごに

今回はさまざまなレビュー方法をご紹介しました。次回は、レビュー対象物を読む技術についてご紹介します。お楽しみに。

2 Comments

  1. […] 今回ご紹介するのは、レビューの方法(前々回)で解説した「チームレビュー」と、レビューのリーディング方法(前回)で解説したPBR(パースペクティブ・ベースド・リーディング)を組み合わせた方法です。 […]

  2. […] 前回説明したレビュー方法と今回説明したリーディング方法を組み合わせることにより、かなり効果的なレビューができるようになると思います。ぜひご検討ください。 […]

コメントを残す