코드 리뷰에서 인지 부하 관리하기

문제 진단

코드 리뷰가 지루하고 피곤한 이유는 단순히 ‘양이 많아서’가 아니다. 리뷰어의 작업 기억(Working Memory)이 과부하되기 때문이다. 인간의 작업 기억은 동시에 3~5개의 ‘청크(Chunk)‘만 처리할 수 있다. PR이 10개의 논리적 변경을 포함하면, 리뷰어는 이미 2번째 변경에서 이전 내용을 잊어버린다.

실용적 해결 전략

1. PR을 ‘인지적 청크’로 분할하라

  • 규칙: 하나의 PR은 리뷰어가 한 번에 이해할 수 있는 하나의 논리적 변경만 포함.
  • 실천: “이 PR의 목적이 무엇인가?”라는 질문에 1문장으로 답할 수 없으면 PR을 쪼개라.
  • 예시: “리팩토링”이라는 PR 이름은 금지. 대신 “OrderService에서 결제 로직을 PaymentService로 분리”처럼 구체적으로.

2. 리뷰어에게 ‘맥락(Context)‘을 먼저 제공하라

  • 문제: 리뷰어가 코드만 보고 변경의 의도를 유추해야 함 → 인지 부하 증가.
  • 해결: PR 설명에 다음을 포함:
    1. 변경의 동기: 왜 이 변경이 필요한가?
    2. 변경의 영향: 이 변경이 어떤 모듈/시스템에 영향을 미치는가?
    3. 고려한 대안: 왜 이 방법을 선택했는가?
  • 효과: 리뷰어가 ‘무엇(What)‘보다 ‘왜(Why)‘에 집중할 수 있음.

3. ‘리뷰 시간 제한’ 도입

  • 규칙: 한 번의 리뷰 세션은 최대 60분으로 제한.
  • 이유: 60분 이후에는 인지 자원이 고갈되어, 리뷰 품질이 급격히 떨어짐.
  • 실천: PR이 너무 크면, 리뷰어가 “이 PR은 60분 내에 리뷰할 수 없습니다. 쪼개주세요.”라고 말할 수 있는 문화 조성.

4. 리뷰어의 에너지 상태를 고려하라

  • 통찰: 오전 10시 vs 오후 4시의 리뷰 품질은 다르다.
  • 실천: 팀 내 ‘리뷰 시간대’를 정하거나, 리뷰어가 자신의 에너지가 높을 때 리뷰하도록 장려.

연결된 개념