みんなレビューが大嫌い


 いきなり挑発的なタイトルつけてきたな>俺。

 いやね、プロジェクトが進む中で、各フェイズの終わり頃には、大抵この「レビュー」というイベントがあるじゃないですか。

 設計レビューにコードレビュー、テストケースレビューにユーザレビュー。自らの成果物を第三者に提示し、チェックを受け、妥当性を問うこのイベント。

 ぶっちゃけた話、嫌ですねー。昔も今も。

 いやね、レビューが品質向上の為に一定の成果がある、ってこと頭では理解してんですよ?でもねぇ、実際レビューが近づいてくると胃がきゅーっってなるような圧迫感が身を襲いますな。自分の作った成果物の自信の有る/無しを問わずに。

 一方、レビュー受ける側ではなく、場合によってはレビューする側に回ることも何度かあったのですが。こちらもいざやろうとなるとずーんと気分が重くなってましたな。あーなんでこんなことに貴重な時間と手間かけなきゃいけないんだろーなー。やらなきゃいけないのはわかってんだけどなー。でもなんか違うよーな気がするんだよなー。こんな感じで。

 する側される側を問わず、なんとも言えないダークな気分にさせられる、できれば避けて通りたいイベントです。レビューって行為は。

 で、ここで葛藤が起こる訳で。

 こうゆうレビューが有効なのかってのは理解はしてるはずだと。第三者が客観的な視点で成果物眺めることで、作った本人では気付かなかった見落としとか食い違いを食い止める。この意図はわかる。実際に恩恵に授かったことも何度とある。

 そこまでわかってるのに、なんで頭と体と心がバラバラに反応しちゃうんでしょ?

 という訳でちょっと考えてみました。みんながレビューを嫌う理由。みんなって決めつけかよ。いいの。過去に世間話で聞いてみた時、上司部下を問わず4人中4人イヤだって答えてたから。いいんかそんなサンプル数で。

 それはそうと。心理的にレビューを避けたくなってしまう理由、箇条書きするとこんな感じになっちゃうのではないでしょうか。

 上2つに関しては、結局は各参加者の気持ちの持ちように委ねるしかない部分があるのですが、私としては下2つをちょっと問題視します。

 まずレビューを行うからにはする側がされる側の成果物を「正当に」「正確に」指摘する必要性があると。でも場合によってはこれが全く成立しないことがあるんですよね。

 例えばコードレビューだったりすると、立場上部下が作ったモノを上司がレビュー、なんて構図はよくあると思うんですが。上司がわかってないとレビューも何もあったもんじゃないと。レビューする側の指摘が的はずれの連発で、される側が「何寝言言ってんじゃボケ聞いてられっかタコ」となってしまっては問題点発見の貴重な場も単なる時間のムダと化します。何回あったっけなぁそうゆうこと。遠い目。

 ついでなんでちょいと愚痴ってみると。なんか経験的にはいわゆる「わかってねぇ奴」程レビューするのは大好き、ってヤツの方が多いような気がするんですが。 なんででしょーねアレ?そうゆう時でも無いと己の存在価値誇示できないから? それともただのサディスト? おめーが口挟めば挟んだ分だけ品質悪くなるんだから窓際でおとなしく役に立たない書類書いてろボケ、てなこと思ったことは何度かありますな。

 で、次。

 逆に、対象となる成果物の精度が低すぎた場合もこれまた問題となります。結局指摘を続けていくうちに、攻撃対象がその成果物じゃなくて、作成した本人に向かっちゃうんですよね。

「何やってんだ馬鹿か!何年この世界でやってんだ!」
「お前才能ねーよ!田舎帰れ!」
「それ位気付けよ!節穴かよテメーの目は!」

こんな感じで。さながら会議室は魔女狩りか軍事裁判。

 ちなみに、この両者が不幸にも同時発生してしまった場合、レビューの会議室は0−5で惨敗した時のカンプ・ノウ(FCバルセロナのホームグラウンド)のような雰囲気になること必至です。あーあの時は殺人事件一歩手前の惨状だったよなぁ。遠い目。またかよ。

 とまぁこうゆう「副作用」がレビューをする側される側双方に「イヤだなぁ・・・」と思わせてしまうのではないでしょうか、と推測してるんですが如何か。

 その結果。

(聞きにくいなぁ。ただでさえ遅れてるのになぁ)
「あのーすいません、レビューなんですけどいつやる予定ですか?」
(げ!まいったなぁ彼の面倒まで見きれないよ・・・)
「うーん・・・どう?間に合いそう?」
(あ、ひょっとしてラッキー?)
「うーん・・・正直間に合うかどうか・・・後もつかえてますし」
(あ、ごまかせるか?)
「えーと、じゃあ作業の方に専念しちゃって。余裕できたら改めて機会設けましょう」
(良かった、やらずにすむ・・・)
「わかりました。そうします。」
(良かった、やらずにすむ・・・)
「はい、よろしくお願いします。」

 こんな双方同意の「レビュー回避」なんてのが結構な確率で成立してしまう訳で。

 まぁ実際の話、冷徹に成果物の品質を考えれば、レビューすっとばすなんてのはそれこそとんでもない暴挙なんですけど。忙しければ忙しい程、余裕が無ければ無い程、すっとばされてしまう工程なんですね。レビューって。同じようなことはテスト全般にも言えることなんですけど。チェックするはずの作業がその時間が持てないがためにすっ飛ばされる。こうして更に品質は下がり、デスマーチは更に深刻度を増していく・・・そんな構図が、日本全国各地で行われてるんだろうな、と。

 さて、ここまで散々前フリしてきたんですが。前フリかよ。もうすぐに結論じゃんか。

 とかく作業内容としては非難を浴びることの多いペアプログラミングなんですが。果たして、↑のような、心理的に受けるダメージを和らげるという意味ではどれくらい効果的なんでしょうか?実は結構、いや、かなり効果的なんじゃないかな?というのを考えていたりします。勿論現時点では当然単なる妄想の域を出ませんが。

 まぁペアプロって英語で言っちゃえばカッコよさそうなもんですが、結局のところは「常時相互監視」ですからね。少なくとも通常のレビューなんかよりはよっぽど効果的に作用しそうだ、というのに関してはおそらく異論は無いのではないかと。ペアプロ自体に肯定してようが否定していようが。

 それよりも重要なのが、もしペアプロがうまくいく、ということならばそれは同時に「監視に見えない監視」「チェックと感じないチェック」というのが成立するんじゃないかと思ってて。

 もちろん普通に考えた場合、「何日もペアプロで監視するよか、最後にレビューでチェックした方が結局はトータル時間少なくて済むんじゃないの?」というのはしごくまっとうな反論だと思いまする。コード読み、コード検閲の考え方なんかも、この部分をうまく突いてるしね。同じレビューにしてもここまで突き詰めるってのもひとつの手だと思いますし。

 でもね。レビューによって受ける精神的ダメージやプレッシャーって、案外無視できないような気がしてきてるんだけどな?「やるだけ無駄なレビュー」「下手糞なレビュー」によって、メンバー間の信頼関係がズタズタになった現場を実際に見てきてるだけに、そう感じる部分も多々あるんですが。どうなんでしょうその辺。

 おそらく数値化は難しいと思うんだけど、もしこれが成立するならば、ペアプロによって各作業者が抱える負担ってとんでもなく軽くなるんじゃないかしら?少なくとも「品質へのプレッシャー」はかなり軽減されると思う・・・んですけどね?

 ・・・・・・どうなんだろ?コラコラ弱気になるな>俺。

 ペアプロに関してはまだまだツッコみたい箇所ありますので、その辺は順番に書いてみることにいたしませう。

 という訳で今回はこれまで。


新着順INDEX 分類別INDEX
Top