写真●静岡大学 情報学部 情報社会学科 助教 森崎 修司 氏(撮影:平瀬 拓)
写真●静岡大学 情報学部 情報社会学科 助教 森崎 修司 氏(撮影:平瀬 拓)
[画像のクリックで拡大表示]

 ITの現場で行われている設計書やソースコードなどのソフトウエアレビューには、典型的な間違いがある――。静岡大学の森崎修司氏(情報学部 情報社会学科 助教、写真)は、9月16日に都内で開催された開発者向けイベント「X-over Development Conference 2011(XDev2011)」において「間違いだらけのドキュメントレビュー」と題した講演を行い、こう指摘した。

 その典型的な間違いとして、森崎氏は「(1)時間切れ」「(2)作成者気分」「(3)人間関係の持ち込み」「(4)意地の張り合い」「(5)人格攻撃」「(6)意図的な見逃し」の六つを挙げた。このうち(1)から(3)は、レビューアーが成果物から欠陥を見つける「欠陥検出」フェーズにおける間違い。(4)から(6)は、見つけた欠陥を成果物の作成者に指摘する「欠陥指摘」フェーズにおける間違いだという。

レビューに人間関係を持ち込む

 森崎氏は、「欠陥検出」フェーズにおける三つの典型的な間違いから説明を始めた。

 (1)時間切れとは、成果物を部分的にしかチェックできていない状態で、欠陥検出に使える時間がなくなることだという。具体例として森崎氏は、「設計書の前半しか見ていない」「エラーコードの整合はチェックしたが性能については精査していない」といった問題を挙げた。

 レビューアーがレビュー対象の成果物を作った設計担当者やプログラマになり代わり、「もっといいものに作り直してやろう」と考える。これが(2)作成者気分という間違いだと、森崎氏は説明した。レビューアーが成果物を作り直すと、作り直すための工数だけでなく、別のレビューアーによる一からのレビューが必要になり、コストが高くつく、と森崎氏は訴えた。

 (3)人間関係の持ち込みは、レビューアーが成果物の作成者との人間関係を考え、欠陥検出に手心を加えることだ。例えば、生意気だと感じている後輩エンジニアが作った成果物については「つけあがらないように厳しく見ておこう」と考え、頭が上がらない先輩エンジニアの成果物については「下手に欠陥を指摘してにらまれたら嫌だからチェックは甘めにしておこう」と考えるという具合だ。