개발공방

팀의 성장을 멈추게 만드는 마법의 단어 'LGTM' 본문

개발 토크

팀의 성장을 멈추게 만드는 마법의 단어 'LGTM'

chemi_ 2023. 5. 29. 17:25

노션에 먼저 정리하고 블로그로 옮기기 때문에 노션이 더 보기 편할 수 있습니다.

노션 : https://star-team-55e.notion.site/LGTM-b735fbb31b314e0ebd881a2a9a2fada8

 

 

LGTM이란 뭘까??

"Looks Good To Me"

말 그대로 내가 보기엔 좋아보인다. 라는 뜻이다.

 

LGTM은 코드리뷰에 굉장히 많이 사용되는 것 같다.

 

난 이 LGTM이 아주 강한 기능을 가지고 있다고 생각한다.
제목에서처럼 팀의 성장, 그리고 개개인 팀원의 성장까지 멈추게 만드는 아주 강한 단어라고 생각한다.

그렇게 생각하는 이유에 대해 적어보겠다.

 

읽기전에 짚고 넘어가고 싶은게, 많은 리뷰를 남기고 마지막 Approve에 LGTM에 대해서 얘기하는게 아니다. 별다른 리뷰 없이 LGTM 이란 단어만 적고 Approve를 주는 부분에 대한 얘기이다.

1. 칭찬의 부재

칭찬을 싫어하는 사람은 아마도 없을 것이다. 속담중에 칭찬은 고래도 춤추게 한다 라는 속담이 있다. 칭찬의 긍정적 효과를 설명하는 속담이다.

PR중에 잘했거나 좋은 코드가 있었다면 거기에 대해 코멘트를 남기고 칭찬을 해주는게 어떨까?

설령 코멘트를 남길게 없고, 진짜 LGTM하다고 생각하면, LGTM이란 단어보단 감사와 격려의 말을 전하는 건 어떨까?

+) 현 주제와는 다른 맥락이지만, 최근 읽었던 책에서 상사에게도 가능하다면 칭찬해주는게 좋다고 설명했다. 칭찬을 싫어하는 사람은 없으니까.. 누구나 가릴 것 없이 칭찬을 아끼지 말자

책) 실리콘밸리에선 어떻게 일하나요 p.75

 

2. 과연 내 PR을 제대로 확인했을까? 라는 의문

열심히 작업 후 PR을 올렸는데, 단지 LGTM 이라고만 리뷰를 남기고 Approve를 준다면 어떨까?

혹여나 실수가 있진 않았는지, 함수명을 더 개선할 수 있다던지 등등의 이유들에 대한 리뷰를 전혀 받지 못하고 LGTM 만 있는다면 "과연 내 PR을 제대로 확인했을까?" 란 의문이 생길 것 같다.

이런 작은 의문을 시작으로 생기는 사이드 이펙트와 스노우볼은 프로젝트를 실패로 이끌 수 있을만큼 크다고 생각한다. (너무 극단적일지도 모르지만)

 

사실 이 의문은 "수고하셨습니다" 라는 코멘트를 받아도 생길 수 있는 의문이다. 진짜 내 코드를 확인했는지 의문이 생기는건 마찬가지다.

 

가능하다면 코드에 칭찬이나 격려 같은 코멘트를 남기도록 노력해보자. 하지만 코드에 대해 남길 코멘트가 없이 해당 PR이 간결하고, LGTM하다면 적절한 멘트를 통해 코드를 확인했다는 리뷰를 남겨보는 건 어떨까??

3. 코드 리뷰의 의미 X

우리가 코드 리뷰를 하는 이유는 무엇일까?

많은 이유가 있겠지만 가장 큰 이유는 다른사람과의 협업을 해야하기 때문이라고 생각한다. 혼자 무언가를 하는게 아니기 때문에 각자의 코딩 스타일이 다를 수 있고 (아무리 컨벤션을 정해도 코드리뷰가 원활히 되지 않으면 완벽히 지키기 어렵다고 생각한다), 생각치 못한 더 좋은 방법의 코드들이 있을 수 있다.

 

이런 부분을 서로가 아는 지식으로 개선하고 같이 고민하며 프로젝트를 진행한다면 서로가 성장하는 프로젝트가 될 수 있을 것이다.

 

난 이게 코드리뷰를 하는 이유고, 가장 큰 장점이라고 생각한다.

현재 진행중인 프로젝트에서 코드리뷰 문화를 처음 접했는데, 각자의 첫 PR에서 코멘트 개수가 상당했다. 이를 통해 각자의 코드 스타일이 하나의 컨벤션으로 통일시킬 수 있었고, 더 나은 방법에 대해 많이 배웠다.

https://github.com/DeveloperAcademy-POSTECH/MC2-Team5-Firefighter/pull/14 , https://github.com/DeveloperAcademy-POSTECH/MC2-Team5-Firefighter/pull/15 , https://github.com/DeveloperAcademy-POSTECH/MC2-Team5-Firefighter/pull/38

 

난 코드리뷰 문화를 굉장히 좋아한다. 프로젝트를 진행하면서 성장한다는 느낌을 굉장히 강하게 느꼈고, 그 이유가 코드리뷰의 엄청난 효과덕분이었다.

 

우리의 PR은 상사에게 결재를 받는 PR이 아니다. 같이 프로젝트를 이끌어가는 사람들에게 나의 코드들을 제안하는 것이다. 새로운 기능에 대한 PR, 버그를 수정한 PR 등등.. 어떤 부분은 이러이러해서 좋았고, 또 어떤 부분은 이러이렇게 수정하면 좋을 것 같다는 코멘트를 남기도록 노력해보는건 어떨까?

 

그럼에도 LGTM을 사용할 수 밖에 없는 이유

  1. PR의 양이 너무 방대해서 리뷰가 힘들다.
    이 문제라면 팀의 룰이 필요해 보인다. PR에 대해 룰을 정하고 PR의 크기를 최대한 줄이는데 초점을 맞춰야 할 것 같다. 그리고 PR을 작성하는 사람도 리뷰어의 입장을 최대한 고려해서 작성하도록 노력해야한다. 코드 수정에 대한 아무런 설명과 근거 없이 PR만 올려놓고 좋은 리뷰를 기대하는건 앞뒤가 안맞다고 생각한다.

    현재 내가 속한 팀에서 사용하는 방법인 생산성 높은 Pull Request 문화에 대해 잠깐 소개하고 싶다. 29CM iOS 리드 개발자 김우성님이 Async Swift2022 세션에서 발표하신 내용인데 굉장히 흥미로웠고 실제 적용해보니 팀에 굉장한 도움이 되었다. 핵심은 PR을 최대한 상세히 작성하는 것이고, 설명이 필요한 코드엔 내가 미리 어떤 코드인지 설명을 달아놓는 방식이다.
    예시 : https://github.com/DeveloperAcademy-POSTECH/MC2-Team5-Firefighter/pull/446
  2. 칭찬이나 수고하셨습니다 란 멘트를 하기엔 사이가 애매하다.
    아직 직장인이 되어보진 못해서 잘은 모르겠지만, 팀마다 분위기가 다를 것 같다. 선뜻 칭찬이나 수고하셨습니다 란 리뷰를 남기기 사이가 어색하거나 상황이 애매할 수 있을 것 같다. 그런 팀이라면 서로의 심리적 안전감을 더 키워보는 건 어떨까?

    심리적 안전감을 높이기 위한 방법은 다양하지만 현재 팀에서 프로젝트에 대한 회고를 진행하고 있다면 해당 앱을 사용해 회고를 진행해보길 바란다. 내가 속한 팀에서 만든 앱인데, 서로에게 효과적으로 피드백을 주고 받으며 심리적 안전감을 높일 수 있는 앱이다.
    앱스토어 : https://apps.apple.com/kr/app/키고-keygo/id6444039454?l=en

심리적 안전감 구글 검색

 

 

느낀점

내 생각을 정리하다 보니, 정작 나 또한 코드리뷰를 진행하면서 놓친 부분들이 있었다. 지난 PR들에서 더 좋은 코멘트를 남기지 못한 부분에 대해서 반성했고, 개선해야하는 부분들을 포착했다. 나 또한 성장할 수 있는 탐구였던 것 같다.

 

결론

위와 같은 이유들로 LGTM이 팀의 성장과 개개인의 성장을 멈추게 만든다고 생각한다.

진짜 제대로 확인하고, LGTM하기 때문에 LGTM이라 남긴거라 말할지도 모르겠다. 하지만 LGTM보단, 수고하셨어요. 감사합니다. 라는 말이 훨씬 더 듣기 좋지 않을까?

잘했으면 잘했다 칭찬을 해주고, 잘 짠 코드나 성장한 듯한 코드가 보인다면 꼭 코멘트를 달아서 칭찬을 해주길 바란다.

리뷰를 남기는 자신도 성장 할 것이고, 리뷰를 통해 코드를 고치며 다시 한번 생각하게 되는 PR 작성자도 성장할 것이라 믿어 의심치 않다.

Comments