개발 문화
개발팀 어떻게 일하면 좋을까?
- 신뢰 기반 자율 X 프로세스 표준화 기반 효율
- 자율적인 업무 수행 성과가 가장 높이 평가됨 (자유 No! 합의된 규범을 자율적으로 Yes!)
- 모든 문제와 비효율의 원인은 동료가 아니라 프로세스 (No 방어적! 함께 프로세스에서 원인 찾기 Yes!)
- 동료를 불신하는 순간 결국 상호간의 불신으로 악화되고 최악의 비효율이 발생됨
- 리뷰 승인 없는 머지는 불가, 책임은 나눌수록 Better (리뷰도 업무다)
- 사막에서 바늘을 찾는 가장 쉬운 방법은 뒤따라가던 동료가 바로 주워주는 것
- 내가 올린 PR은 내가 머지 (물론 동료의 리뷰 승인 후)
- PR은 작을수록 자주할수록 Better (코드가 줄어드는게 최고의 PR)
- PR이란? 마스터 머지전 동료들에게 코드 리뷰를 요청하는 것. Github의 Pull Request의 약자
- 코드는 적을수록 Better (세상에 아직 없는 것을 만들어요~)
- 쓴 만큼 동료들이 읽어야 한다
- 코드를 읽는 시간 대 코드를 짜는 시간 비율이 10:1 이상임
- 반드시 단위 테스트(Unit Test) 후 PR
- CI 툴을 활용한 테스트 자동화가 최고 (Github Action 추천)
- 이슈 해결하면서 또 다른 이슈 만들면 네버엔딩
- 설계로 대화하자
- Module view 정도는 그려서 피드백을 요청해보자 (말로 설명하는 것보다 다수의 동료들에게 전혀 오해 없이 전달됨)
- 설계 리뷰 참여한 동료의 경우 코드 리뷰의 수준이 높아짐
- 코드는 가독성(Readability)이 가장 중요한 덕목
- Comment 달 시간에 함수 이름, 변수 이름을 잘 짓자!
- 클린 코드 읽고 실천하자
- Convention은 통일이 중요 (Lint를 활용한 자동화가 최고)
- 각 개발 그룹별로 Convention 통일안 합의
- 이슈는 부담없이 주고 받자
- 해결할 수 없는 이슈 가지고 있지 않기!
- 근태/휴가에 대해서는 눈치보지 말자
- 휴가는 동료에게 승인 받는게 중요, 매니저는 동료에게 승인 받았는지 여부를 확인하는 수준의 관리
- 자유가 아니라 자율 (프로정신)
- 동료들이 당황하지 않게 계획적으로 알차게 사용하기