はじめに
この記事は『伝わるコードレビュー』シリーズの第9回です
前回(Part3-1)では、レビューコミュニケーションを円滑にするためのTIPS 1〜8を紹介しました
今回はその続きとして、TIPS 9〜16を扱います
どれもレビューにおける「伝わる」ための工夫ですが、特に相談・報告・共有の仕方に関わる内容です
コードレビューを技術の議論にとどめず、チーム全体の成長サイクルに変えるヒントを紹介していきます
TIPS 9 相談までの時間を決める
対象:レビュアー・レビュイー
ルール:④チームで仕組みを作る
キーワード:効率・仕組み化
Bad: 難しい問題も時間をかければわかりそうだから、しっかり調べて検討
- 自分で解決しようとする気持ちや、相談をためらう心理から一人で考え込んでしまう
Good: あと15分調べてわからなかったら相談する
- 一人で考える時間をあらかじめ決めておく
- 相談するタイミングの判断が苦手な人はチームのルールとして時間を決めてもらう
- e.g. 15分で解決しなければチャットツールで相談する
- 時間を決めることで相談の心理的ハードルが下がる
- 相談することで思考が整理される
- 壁打ち相手には自分の状態を伝える
TIPS 10 詰まっていることを伝える
対象:レビュイー
ルール:⑤率直さを心がける
キーワード:率直さ・効率
Bad: 実装方法がイメージできていないけど、みんな忙しそうで困った…
- レビュアーからの指摘に対する良い解決策が見つからない
- 不具合を解消しようとすると他に影響が出てしまうが、対応策が見つからない
- 一人で抱え込むことで、問題解決が遅れる・モチベーションが下がる
Good: イメージがわかなくて詰まっているので、相談に乗ってもらえませんか?
- 詰まっていると感じたときは積極的に状況をチームメンバに共有する
- チャットで困っている内容を伝える
- 時間がかかっている理由を他のメンバに理解してもらえる
- わからないレベルも一緒に伝える
[IMPORTANT]
チーム内での情報共有は、効率的な開発を進める上で重要
問題が早期解決されてチーム全体の生産性が向上する
TIPS 11 わからないレベルを伝える
対象:レビュイー
ルール:⑤率直さを心がける
キーワード:率直さ・効率・理解のしやすさ
Bad: 〇〇の実装について相談させてください
- 相談の受け手側に理解度を推測させてしまう
- 推測が外れると的確なアドバイスができない
Good: どこがわからないかもわからないですが、〇〇の実装について相談させてください
- 理解度を伝える
- 「どこがわからないかもわからないです」
- 「考えの方向性を聞いてほしいです」
- 「自分の理解があっているか確認させてください」
- 問題箇所を正確に伝えることで、助けてもらいやすくなる
TIPS 12 遠回しに言わない
対象:レビュアー・レビュイー
ルール:⑤率直さを心がける
キーワード:率直さ・効率・理解のしやすさ・答えやすさ
Bad: このメソッドの定義の部分の長さの見た目が気になります(引数が多いからだと思います)
- 遠回しな表現はPR上のやり取りに向かない
- 読み手が意図を読み解くコストが増える
- 誤解されると、意図と異なる対応をされる可能性がある
Good: 引数が多すぎますので引数をオブジェクトとしてまとめる等の対策が必要そうです
- 必要な情報を揃える
- コメントの意図
- 事実や公式ドキュメントの根拠
- 情報が足りないと攻撃的に見えてしまうこともある
[IMPORTANT]
遠回しな表現が必要だと感じられる場合は、チーム内の信頼感が不足しているサインかもしれない
TIPS 13 自分の考え・意見を添える
対象:レビュアー・レビュイー
ルール:③お互いの前提知識を揃える
キーワード:効率・理解のしやすさ・答えやすさ
Bad: ◯◯のやり方と、△△のやり方があります
- 選択肢だけ提示されると、反論や確認から議論を始める必要がある
Good: ◯◯のやり方と、△△のやり方があります。今回は◯◯のやり方が良いと思っていて、理由は□□です
- 選択肢+意見+理由をセットで伝える
- 相手に十分な情報を提供できる
- 考える手がかりを提供し、議論の無駄を減らす
TIPS 14 根拠がないなら根拠がないことを伝える
対象:レビュアー・レビュイー
ルール:②客観的な根拠に基づく・③お互いの前提知識を揃える
キーワード:効率・受け取りやすさ・理解のしやすさ
Bad: 外部から提供されたAPIが動かないので不具合では?
- 事実か想像かわからない
- 誤解を生みやすい
Good: 外部から提供されたAPIが動かないです。まだ調査中なので正確にはわかりませんが◯◯かもしれません
- 事実と想像を明確に区別する
- 「これは勘ですが」
- 「調べていないので根拠はありませんが」
- 不確実な情報を伝えることも透明性の一部になる
TIPS 15 詳細を明示する
対象:レビュアー・レビュイー
ルール:②客観的な根拠に基づく・③お互いの前提知識を揃える
キーワード:効率・理解のしやすさ
Bad: 軽微な修正で◯◯しました
- 意図や背景が不明確で、読み手が理解しづらい
Good: 軽微な修正で◯◯しました。それは△△の目的です
- 意図を明示することで受け手のストレスを減らす
- 議論の前提を共有できる
- 読む側になったつもりで読み直すと、適切な情報量が見える
TIPS 16 何をして欲しいかを伝える
対象:レビュアー・レビュイー
ルール:⑤率直さを心がける
キーワード:率直さ・受け取りやすさ・理解のしやすさ・答えやすさ
Bad: ◯◯が起きていてずっと調査しているのですが…
- 意図が不明確で、聞き手がどう関わればいいかわからない
- 前置きが長く、結論が曖昧になることでストレスを与える
Good: アドバイスをいただけますか?◯◯が起きているのでA案かB案のどちらが良いか悩んでいます
- 意図を明確にすると、相手が的確に応じやすい
-
相談するときは話を具体的に整理してから伝える
- 具体的な質問は的確なアドバイスを引き出す
- 自分でも問題点をより明確に把握できる
次回予告
次回は Part3-3(全33 TIPS 中の17〜26) を紹介します
ここからはレビューコメントをより「伝わる言葉」にするテクニックに焦点を当てていきます
また、後半には Column:チーム内のレビュー文化を定着させるヒント も掲載予定です
