Q7-1
기술 부채와 일정이 부딪힐 때 어떻게 해결하시나요?
핵심 포인트
- "둘 다 다 한다"는 답변은 비현실적 — 어떤 기준으로 양보·결합·연기하는지가 핵심
- 본인 사례: Emotion v10 → v11 업그레이드를 패키지 재편 PR에 결합한 사례
- 판단 축: 사용자 임팩트 / 안전망 유무 / 결합 가능성
- 결합·연기·즉시 처리 세 가지 옵션을 사례별로 다르게 적용
모범 답안먼저 답해보고 펼치기
원칙은 단순합니다. 사용자에게 보이는 일정과 사용자에게 보이지 않는 시스템 건강성을 분리해서 우선순위를 매기되, 결합할 수 있으면 결합합니다.
구체 사례를 말씀드리면, 멀티 프로덕트 패키지 재편을 진행하던 시기에 Emotion v10 → v11 메이저 업그레이드라는 별도 부채가 있었어요. 둘을 따로 진행하면 사용처에서 import 경로를 두 번 손대야 해서 동료 부담이 컸습니다. 그래서 한 PR에 두 변경을 결합했어요. 단, 결합의 정당화 조건이 있었습니다 — 시각 회귀 테스트라는 안전망이 미리 깔려 있어서, 어디가 깨지면 즉시 잡힐 수 있었어요. 안전망이 없었다면 결합을 포기하고 별도 PR로 분리했을 겁니다.
다른 사례로, "이 부채는 지금 안 잡으면 6개월 뒤엔 못 자른다"는 신호가 있을 땐 일정을 일부 양보해서라도 잡았습니다. core 패키지를 product별로 자른 결정이 그 사례였어요. 반대로 "지금 잡든 1년 뒤 잡든 비용이 같다"는 부채는 일정을 우선했고요.
결국 판단축은 세 가지입니다 — 사용자 임팩트, 안전망 유무, 결합 가능성. 이 세 가지를 동료들과 공유하고 결정 근거로 합의한 뒤 진행하면, 일정과 부채 둘 다 어느 정도 챙길 수 있다고 봅니다.
이 답변, 어땠나요?
꼬리 질문
- Q-a. 일정이 빠듯한데 부채가 절대 못 미루는 수준일 때는요?
PM·디자이너에게 "이 부채를 안 잡으면 다음 사이클에서 추가 비용이 N% 올라간다"는 데이터를 들고 협상합니다. 감으로 말하면 안 받아들여지고, 데이터로 말하면 양보 받기가 가능합니다.
- Q-b. 결합 PR이 너무 커지면 리뷰가 어렵지 않나요?
그래서 PR 안에서도 commit을 의미 단위로 분리합니다. "패키지 분리 commit", "Emotion 업그레이드 commit", "import 경로 일괄 변경 commit" 식으로 쪼개서, 리뷰어가 한 단위씩 따라갈 수 있게 했어요.