コードレビューのコスト
私のチームでも、当然のようにコードレビューは行っています。そして品質向上に一定の効果をあげているのですが、しかしそのコストが支払えなくなってきています。
うちのチームでは、
- 実装前(実装中でもよいのだけれど)に どういう風に実装するか チーム全員に対しホワイトボードでプレゼンする
- 実装が終わったら レビュワーにコードを渡す
- レビュワーはコードをレビュー。
- 指摘事項を直してコミット
という流れになっています。
ホワイトボードプレゼンは、毎朝の朝会の後に 「レビューある人?」と聞いて手を上げた人がいたらやるかんじ。プレゼンなしでの実装完了はご法度というルールです。
コードレビューはペアレビューとかじゃなく、基本的に一人でコードを読みます。ソフトの構造の大枠はプレゼン済みなので、改めて実装者が説明する必要なしという考え。(それでも話と違うじゃん、みたいなのはあって、そうなれば任意聞き取り調査になります)
コードレビューは、だいたい実装する人が2人いたら、レビューする人が1人弱つぶれる感じ。それくらいのコストがかかるのは当然なのですが、開発も大分キツキツになってきて、そのコストを許容してもらえないようなムードになりつつあります。チームは、仕様を詰める人(お客様との窓口)が1人、コードレビューとウォーターフォール偽装(^^;)のための人員が1人、プログラマ3人(うち1人が新人)という構成ですが、作る人をせめてもう一人分くらいは増やしたい状況です。それでなくともコードレビューが回しきれていないですし、そこで効率の良いコードレビューの方法ってないかな、という話が出てくるわけでして。
無いかなぁ、虫のいい話だものね。
話はズレますが、コードレビューにこれだけのコストを書けるのなら、普通にペアプロやっちゃっても割に合いますねぇ。もうペアプロしてしまいたい。でも世の中そう論理的に判断してくれる人ばかりではないので。しくしく。