IT 쪽에서 리뷰를 하는 작업은 내가 현재 알고 있는 내용들에 대해서 동료, 조직장, 기타 관련된 사람들에게 이슈들을 포함하여 발생한 이슈를 설명하는 것일 수도 있고 더 나은 것들에 대한 경험을 리뷰라는 항목으로 한다는 개념이다.
개발 조직에서 꼭 지켜야 할 코드 리뷰 원칙과 문화는 무엇이고 그에 정의해서 개발 업무에 국한되어 필자는 두가지 정도의 리뷰를 경험하고 리딩하였다.
이전 글에서는 코딩 규칙에 대해서 설펴 보고 어떤 규칙들을 만들어 가는지에 대해서 설명해 보았다.
개발업무와 관련된 문화(코딩규칙 정하기)
이전글에서는 전체적인 개발자가 개발을 하여 리포지토리에 푸시하고 머지하는 행위까지 전반적인 내용을 다루었다. 전체적인 개발 프로세스 정의 하기어느 개발 조직이든 비슷하게 개발완료
hbungshin.tistory.com
코드리뷰
일단 서비스를 개발하려는 로직과 서비스에 적용돼야 하는 내용을 개발자가 파악한 후 코드를 작성하는 행위를 하게 된다. AI 시대가 도래하면서 코드리뷰의 형태도 많이 틀려졌을 것이라고 생각한다. 그러나 본질은 바뀌지 않을 것 같다고 생각하지만 AI와 코딩에 대한 내용은 다음 기회에 한번 더 이야기하도록 하고 개발 문화로 범위를 좁혀서 일반적인 내용에 대해서 설명하고자 한다.
기본 원칙
리뷰 받는 사람(Reviewee) | 리뷰 해주는 사람(Reviewer) | |
기본 원칙 |
|
|
- 위의 7가지 원칙만 지켜도 코드리뷰 중 일어날 수많은 충돌을 사전에 방지한다. 위의 원칙은 복잡하지 않다. 다만, 지금 내가 가진 역량으로 내가 최선의 코드를 짜냈는지를 정확하게 드러내야만 수준 높은 코드리뷰가 이루어질 수 있다.
구체적인 액션 원칙 내용들
리뷰 받는 사람(Reviewee) | 리뷰 해주는 사람(Reviewer) | |
코드리뷰전 준비 |
|
|
기본 절차 |
|
|
진행 절차 |
|
|
리뷰어 지정 |
|
|
완료 후 작업 |
|
|
- 대부분의 내용들은 회사의 상황 , 개발자의 역량으로 변경이 충분히 가능하다고 생각한다. 리뷰어 필수를 1명을 지정한다던가 또는 개발한 내용의 정리하는 것들, 그리고 왜 이렇게 했는지에 대한 여부 등등
- 그러나 가장 중요한 내용은 회사 입장 혹은 조직, 팀의 입장에서 보면 아래 내용은 꼭 지키게끔, 지켜야 하는 것이라고 생각한다.
개인 의견과 프로젝트의 방향성은 구분한다.
개인 의견과 프로젝트 전반적인 방향성이 다를 수 있음을 인정하고,
프로젝트 전체적인 방향에 집중하자.개인의 의견에 옳고 그름은 없지만, 프로젝트의 방향성에 도움이 되느냐 되지 않느냐는 명확하다.
이 내용이 그르치게 되면 팀웍과 조직의 방향성이 흐트러지게 되고 조직의 성과와 성장에 방해가 된다.
스타트업이든 어느정도 규모가 있는 회사든지 간에 회사의 방향성을 이해하고 그 이해된 신뢰를 바탕으로 코드를 작성하는 것이 가장 중요하다.
스타트업은 당장 우리의 아이디어, 메인 가치가 시장에 먹힐 것인가를 고민해야 하는데 구구절절한 절차를 가지고 한다는 것은 난센스가 될 것이고 어느 정도 고객을 확보하고 시스템의 안정성, 절차 그리고 누군가 새로 들어오는 멤버들에게 합리적으로 설명해야 하는 곳이라고 절차와 과정이 갖추어져 있어야 그 신규 직원도 신뢰를 가지고 움직 일 수 있을 것이기 때문이다.
서비스 리뷰
서비스 리뷰는 개발 하기전 혹은 개발을 완료된 후에 그 기획을 한 기획자, 운영자, 마케터들에게 현재 내가 구현되어 있는 로직이 무엇이고 예외상황에 대해서 리뷰를 하는 것이다.
이과정이 중요한 이유는 기획의 문서를 가지고 코드로 녹여내는 작업을 해야 하는데 100% 반영되기 어려운 예외 상황들이 항상 존재하기 때문이다.
또한 플랫폼이 다양하게 서비스를 하고 있는 회사일 경우 Android,iOS,PC, 웹 등 다양한 클라이언트 뷰를 가졌을 경우 서로의 로직을 상반되게 생각할 수도 있고 더군다나 기술의 특성상 적용의 한계 때문에 다르게 풀어가는 것들도 존재하기 때문이다.
절차
보통은 서비스 기능 개발 담당자가 메신저 혹은 슬랙 등 온라인으로 먼저 물어보게 된다. 그러나 이 부분의 단점은 2명의 대화자가 이야기를 해서 결론이 나긴 해도 최종 문서에 업데이트가 되지 않거나 말로의 서로 생각들이 불일치도 될 수 있다. 이 히스토리는 2명만 아는 것일 확률이 높기 때문이다. 그래서 이럴 때는 반드시 회의록 작성을 하거나 스크럼, 주간회의 때 꼭 기록하는 습관을 가지자.
QA 전 전체 프로세스 리뷰
대부분 기능들은 일정 기간 개발 기간을 거친 후 통합적인 QA 를 진행한다. 일전에 쓴 글에도 명시를 했지만 개발을 완료 뒤에 문서 혹은 구두로 아니면 개발자가 직접 예외 상황을 처리한 경우 개발 일정에 통합 리뷰 시간을 가져서 궁금한 사항들, 기획자의 의도가 맞는 것인지, QA 가 생각하는 내용과 문서 작성에 필요한 내용들에 대해서 전체 리뷰를 가지는 시간이 있어야 한다.
결론
개발 문화에 대해서 작성하는데 리뷰란 내용을 2가지를 나누어서 설명하였다. 이미 자기 조직에서 대부분 시행하고 있는 것들도 있을 것이다. 무수히 많은 요구사항이 쏟아지고 더군다나 지속되게 바뀌는 요구사항을 한 번에 정리하긴 어렵지만 적당한 이정표를 만들고 그 시간에 정리하는 시간을 가져야 코드의 지속성과 건전성이 향상되며 그리고 개발자의 신뢰도에 많은 영향을 줄 수 있다고 생각한다.
'프로세스' 카테고리의 다른 글
개발업무와 관련된 문화(코딩규칙 정하기) (6) | 2025.04.08 |
---|---|
전체적인 개발 프로세스 정의 하기 (0) | 2025.04.07 |
Development Culture (0) | 2025.04.07 |
화성에서 온 남자, 금성에서 온 여자 (0) | 2025.03.02 |