コードレビュー、好きですか?
エンジニアリンググループの山口です。
クラウド電子カルテ「エムスリーデジカル」を開発しています。
今回は、チームに根ざしている『褒め文化』についてお話しします。
※この記事は、エムスリー Advent Calendar 2018 13日目の記事です。
『褒め文化』とは
簡単に言えば、コードレビューで褒める文化です。
とても簡単です。
とても簡単なのですが、前職(SIer)ではこういった経験が全く無かったため*1、join直後は(良い意味で)驚いたのが印象に残っています。
とにかく褒める
けっこう安易に安直に褒められますし、褒めます。
思ったことを素直にコメントにしてしまいます。
褒め文化の効用
ここからは「※個人の感想です」になってしまいますが、こうした褒め文化は、レビュア・レビュイどちらの立場でも非常にありがたい存在です。
レビュイ視点: 指摘されることを恐れない
レビュイの立場では、レビュー指摘の捉え方が大きく変わりました。
これまでは、指摘はある種の減点評価であり、指摘を受けることは即ち品質に問題のあるコードを書いたのだ、という認識でした。指摘ゼロとなるよう念入りに自己レビューし、指摘ゼロを達成して自尊心が満たされる、そんな状況でした。
現在は、指摘と褒めを同時に受け取るため、そこそこ書けたけど、より良くする余地があると考えるようになりました。指摘を過度に恐れることはなく、「より良いコードを書き、サービスも自分も成長するためのプロセス」としてレビューを受け止めています。
レビュア視点: 指摘することを恐れない
レビュアの立場でも、やはり捉え方が大きく変わりました。
レビュー指摘はコードに対する指摘であって、人格否定ではありません。しかし、それを理解していても、相手に誤解なく伝えるのは難しいと感じていました。軽微な内容であれば、心の中で(まあいっか…)と指摘を諦めることさえありました。
しかし、安易で安直な"褒め"が入ると、レビューの雰囲気は変わります。良くも悪くもコードに対して率直な意見を述べる場。そんなニュアンスが出せている… ような気がします。
これまでレビュー指摘の文言を考えるのに苦労していましたが、不要になりました。褒めも指摘も、シンプルな表現で済ませています。
共通の視点: 議論、相談、無知を恐れない
もっと言うと、レビュアとレビュイは「上下関係」ではなく「対等な関係」という考え方があるように思います。*2
例えば、「もっと良い書き方があれば知りたい」と思えば、そこから議論をはじめてより良いコードが生まれることもあります。レビュイのコードを見て、レビュアが新たな知識を得ることもあります。
We are praising!
このように『褒め文化』は、心理的に良い影響を与えるとともに、レビューの質も向上させることが出来ます。みなさんもぜひ試してみてください。
そして、エムスリーのエンジニアリンググループは、ソフトウェアエンジニアが楽しく働けるような文化が根付いています。
まずはカジュアル面談で、気軽にお話ししてみませんか?