변경 빈도·의존성 두 축 우선순위·테스트 먼저·점진적 교체 방식 중심으로 푸는 결
기술 부채 정리에 직접 참여해본 건 주니어 때 사내 레거시 모듈을 리팩토링하던 작업입니다. 당시 문서 없이 동작만 하는 함수들이 흩어져 있었고, 수정하면 예상치 못한 곳이 깨지는 일이 반복됐습니다. 우선순위는 두 축으로 정했습니다. 첫 번째는 변경 빈도로, 자주 수정되는 모듈일수록 부채가 비용으로 돌아오는 속도가 빠르다고 판단했습니다. 두 번째는 다른 모듈의 의존성 수준인데, 의존성이 높은 모듈은 테스트 커버리지를 먼저 올린 다음 손대는 순서로 접근했습니다. 리팩토링 범위는 한 번에 다 바꾸지 않고, 기능 단위로 새 모듈을 만들어 두고 기존 코드에서 조금씩 호출을 이전하는 방식을 썼습니다.
롤백이 필요하면 호출 경로만 원복하면 됐기 때문에 서비스 중단 리스크를 낮출 수 있었습니다. "왜 이 모듈부터 해야 하는지"를 팀에 납득시킬 때 변경 빈도 데이터와 과거 버그 이력을 함께 보여줬는데, 기술 부채도 데이터로 설명해야 우선순위가 받아들여진다는 걸 그때 배웠습니다.