連載
» 2010年12月02日 00時00分 UPDATE

現場の声からプロセス改善を深掘りする(5):効果的なレビューとそのフォロー【後編】 (1/2)

今回は、レビューの観点とポイント、レビュー効果を認識してさらに良くしていくためのデータ収集と分析に関して紹介する

[清水 祐樹 横河ディジタルコンピュータ株式会社,@IT MONOist]

 前回「効果的なレビューとそのフォロー【前編】」では、主にレビューのルールに関して紹介しました。皆さんの組織でレビュー活動を見直すきっかけとなりましたでしょうか。改善活動もまずはその“土俵”に上がることが重要で、そこが難しい部分でもあります。組織の中で“議論する場”をまずは設けてみてください。

 さて、今回も「効果的なレビューとそのフォロー」をテーマにした第4回勉強会(補足)の議論の内容を基に進めていきます。

補足:本連載は、横河ディジタルコンピュータ主催「組込みソフト開発現場が抱える課題の解決を考える勉強会」での議論を基に、組み込みソフトウェア開発現場で抱える課題やその解決策のヒント、気付きを読者の皆さんと共有することを目的にしています。

 後編となる今回は、「定義したルールに基づいて実施するレビューの観点とポイント、レビュー効果を認識し、さらに良くしていくためのデータ収集と分析」に関して見ていきたいと思います。

レビュー実施時の観点とポイント

 レビューに関する大きな問題の1つとして、“レビュアーのスキルレベルにバラつきがある”ことが原因で、“取り除くべき不具合を指摘できない”点が挙げられるのではないでしょうか。

 その大きな問題点を解決するためには、レビュー実施時に何に注意して進めなければならないのか、どこを見なければならないのかを、明確にしておく必要があります。

 まずは、参加者の皆さんが何に注意してレビューを実施しているのか聞いてみました。

   
  ・レビューでは「なぜ」「どうして」を聞くようにしている

・レビュー対象だけでなく、上位の入力となる成果物も持ち出している

・コードレビューでは、変更前と変更後のソースコードの差分を見て確認している

・不具合の発見に注力する
 
     



 表面的な問題点やポカミスを指摘することも当然必要ですが、十分検討された成果物をレビューするわけですから、奥底に潜む不具合を指摘することは容易ではありません。そのためには最初の意見にあるように、「なぜ」「どうして」というような理由・根拠に関して重点を置くことが必要です。

 また、要求、仕様などの上流工程のレビューでは、どう作るのかに目が行きがちですが、「誰のために」「何のために」に注意すると、不具合発見の確率が高まります。また、レビュー対象だけではなく、その対象への入力情報と比較しながら確認することも有効です。

 レビューの現場でよく見かける光景として、議論が白熱していることがあります。それは不具合の指摘と併せて解決策を検討しているからです。レビューではまず、不具合の発見に専念し、解決策の検討は別途実施するのがよいでしょう。

 レビューを実施するに当たって、「気付きを促すためにチェックリストを作成している」との意見が、参加者の半数近くからありました。以下にチェックリストに関する意見を紹介します。

   
  実施するレビューごとにチェックリストを作成している  
     


   
  チェックリストには詳細な部分まで記述するのではなく、着眼点のみを書いている  
     


   
  成果物のテンプレートに記述のガイドラインを記し、それに着目してレビューしている  
     



 チェックリストを作成すると、視野が狭くなるので否定的な意見も聞かれますが、人に依存しないよう組織としてレベルアップしていくためには、作成することが望ましいと思います。そして、実施するレビューごとに対象が異なるので、当然チェックリストもそれぞれ用意しておくのが通常です。

 それぞれのレビューでの観点を大まかに見てみましょう。

【要求/仕様レビュー】

  • 顧客の要求事項とシステムの要求事項が意識されているか
  • 誰のための要求で、その要求が必要な理由を考える
  • 設計に対しての曖昧(あいまい)さが排除されているか

【基本/アーキテクチャ設計】

  • 要求事項、仕様を充足しているか
  • 実現性(技術面や工数)に問題はないか
  • モジュール構成/分割

【詳細設計】

  • 仕様/基本設計の内容が正確に反映されているか
  • 過不足や曖昧さはないか
  • 実現方法、異常系、互換性、移植性

【コードレビュー】

  • 正確性(詳細設計との差異、タイミング、組み合わせ、例外)
  • よくある不具合(データ定義/初期化/参照、計算/比較/繰り返し、インターフェイス/引数)
  • 標準化(命名規則、コメント、書式)

【テスト項目/結果】

  • 上位成果物、要求に対する網羅性
  • 期待値
  • テスト手順

 このような点を考慮し、自分たちの製品、組織にマッチしたレビューチェックリストを作成してみてください。

 チェックリストの作成は、スキル依存を脱却するためには有効です。そのほかにも、レビュー活動で要員を育成するための工夫として、以下の意見が挙がりました。

   
  過去の経験を管理し、知識の交換も目的として経験のある人を参加させる。さらに、そのエリアに経験がない人も参加させ、新たな視点(斬新)で見るようにする  
     


   
  新技術に関するレビューの場合は、教科書をしっかりと理解している人を参加させる  
     


   
  スペシャリストの中にも得意不得意があるので、人それぞれのミスの傾向を把握する  
     


   
  若手、新人も参加させ、知識の伝承を行っている  
     



 OJTでの教育は、レビューに関しても当然効率が落ちることになります。組織のマネージャやリーダーは、部分的な最適にとらわれず、計画的にレビューを構築していく必要があります。そして、レビューにおいてもスキルを伝達する文化を、組織に定着させなければなりません。


       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.