흔히 1년짜리 일이면 2년 기간을 잡고 일을 해야, 별 탈없이 끝난다고 한다. 코드만 후다닥 짜서 끝나는게 아니라,
코드리뷰부터 해서 테스트, 의사소통 일정까지 포함해야 하기 때문이다.
지금 있는 팀에서도 처음에 일정산정을 할 때, 순수하게 일하는 시간만 산정해서 전달하곤 했다. 그러다보니 예상 외의 일이 터지면
그 것을 처리하느라 업무를 못하고, 업무를 못하니 야근을 하고, 그러다가 실수를 또 반복하는 악순환을 맞고 있었다.
그러한 악순환을 끊고자, 순수하게 업무하는 시간 + 코드리뷰같은 의사소통 비용, 만든 사람이 테스트하는 기간까지 포함해서 2배정도로 잡고 진행하다보니,
예상일정에 맞춰서 업무를 끝내고, 그러면서 테스트도 이전보다 더 신경쓰게 되다보니 이슈도 덜 생기게 되었다.
기획 등 몇몇 부분이 아쉬워서 일정을 더 잡고 꼼꼼하게 하고싶지만, 너무 일정을 길게잡으면 안좋은 눈으로 보이는 것도 있으니, 적당히 선을 잡는게
쉽지많은 않다.
2. 형상관리
많은 회사에서은 Git을 이용해서 코드를 관리하고 있다. 취업시 거의 필수적으로 Github 주소를 요구하고 있기도 하고.
3. 코드리뷰
기능 개발을 할 떄, 동료의 코드리뷰를 위해 커밋과 브랜치 별로 최대한 쪼개려고 노력하고 있다.
코딩 컨벤션을 맞추듯이, 커밋과 PR 컨벤션도 맞출 필요가 있다고 생각한다.
얼마전에 PR 기본 양식을 만들어서 사용하고 있다. 괜찬은 것 같은데 써보면서 점점 개선하면 좋을 것 같다.
서비스의 안정적인 배포를 위해서는 배포 프로세스를 단순하게 하거나, 더 잘하는 쪽에 위임을 주는 방법이 있다. 지속적 통합/제공을 쉽게 하기 위해
AWS CodePipe Line같은 툴을 이용해서 배포 자동화를 구축한다면, 배포를 할때 사람의 실수가 없어서 안정적인 배포를 하는데 도움이 될 것이다.