한 팀원이 개발 일정 막바지에 펑크를 냈습니다. 1주도 안 남은 상태에서 일정 내 개발을 못 끝내겠다고 한 것이지요. 개발 일정이 마침 조정되어서 유관부서와의 조율까지는 없었지만, 통합 테스트 기간에도 개발을 해야 하는 상황이 벌어졌습니다.
이 일이 왜 이렇게 벌어진 것인지 면담하며 같이 회고를 해 보았습니다. 개발 초기 업무를 나누며 막내인 개발자에게 업무가 나름 적당히 할당되었습니다. 선배 개발자들이 보기에는 적당한 개발량이었는데, 막내가 진행을 하다보니 일이 커졌습니다. 더 완벽하게 개발하고 싶은 욕심이 들었던 것이지요. 기존 코드도 리팩터링 하고 싶어지고, 이번 추가 개발도 더 그럴듯하게 설계를 하고 싶어졌지요. 그러다 보니 개발의 시간이 더 많이 들어가게 되었고, 급기야 기한 내에 못 마치는 상황이 된 것이지요. 본인이 벌인 일이다 보니 동료들과 충분한 공유도 못하였습니다.
이미 만들어진 레거시 코드가 불만스러웠던 개발자로서 리팩터링의 욕심이 생기는 것은 너무 자연스러운 자세인 듯 합니다. 오히려 칭찬을 받아도 될 상황이지요. 다만, 기한을 지키지 못한 깨끗한 코드가 무슨 의미가 있을까요?
개발자에게 기한을 지키지 못하는 품질은 아무 의미가 없다
팀원과 같이 얘기를 나눴습니다. 코드를 대하는 자세는 좋았다. 다만 개발의 주요 목표는 적시에 제공해야 하는 것임을 생각해야 한다. 기한을 지키지 못한 품질은 결국 실패한 결과일 뿐이라고 말이지요. 그리고 그 결과가 본인의 실패 뿐 아니라 같이 개발한 동료들의 실패라는 것도 말이지요. 결국 그 프로젝트는 결과적으로 일정을 준수하지 못했다는 실패 결과를 받게 되니까요.
신입 개발자인 본인도 금새 수긍했습니다. 그리고 좋은 깨달음을 얻은 듯 합니다. 위축되고 어두웠던 얼굴도 금새 나아졌습니다. 100% 완벽한 코드로 시간을 못 지키는 것보다, 시간을 지키고 80% 품질의 코드가 훨씬 낫다는 제 의견에 같이 동의를 했습니다.
완벽함을 추구하고 싶은 개발자의 열정에 현실적인 타협을 하라는 훈계로만 비치지는 않았는지 염려가 되긴 합니다. 그럼에도, 현실이 없는 개발은 아무 의미가 없다는 생각은 여전합니다. 무엇인가를 얻고자 하면, 그에 맞는 무언가는 버려야 할 수도 있다는 생각이 개발에 입문한 신입 팀원에게 잘 전달되었기를 바랍니다.
- 2023.10.31 삼평동에서
'Joshua > 직장' 카테고리의 다른 글
혼자가 아니라 같이 잘해야 (0) | 2025.01.06 |
---|---|
개발자에게 좋은 소통이란 (1) | 2024.12.14 |
팀장의 역할 범위 (0) | 2024.07.13 |
공식적인 뒷담화 (0) | 2023.12.23 |
동료와의 불화도 실력 (1) | 2023.12.09 |
댓글