문서
달리는 기차의 바퀴 교체하기 1. Planning
한재엽 · 토스 · 토스 기술 블로그
소개
이미 운영 중인 제품을 전부 갈아엎고 다시 만드는 경험을 하기는 어려운데요. 운 좋게 팀 내 공감대가 형성되어 여러 팀원과 하나의 제품을 온전히 개선해 볼 수 있었어요. 이 글에서는 구체적인 개선 내용에 앞서 어떻게 프로젝트를 셋업하고 진행했는지 소개할게요.
AI 핵심 요약
토스페이먼츠 브랜드페이는 가맹점별 요구사항이 늘면서 코드가 파편화되고, 테스트가 구현 세부사항에 얽혀 기능 추가와 안전한 변경이 어려워졌다. 팀은 제품을 새로 만드는 대신 기존 제품을 재구조화하기로 하고, 테스트의 리팩토링 내성을 높이는 것을 우선 목표로 삼았다. 개선 작업이 신규 기능 개발에 밀리지 않도록 두 작업의 인력을 별도 트랙으로 나누고, 프리모템과 문서화로 실패 위험과 진행 상황을 관리했다. 제품 개선은 기술적 문제 정의뿐 아니라 이해관계자의 공감대, 명확한 목표와 프로젝트 운영 장치가 함께 필요하다는 점을 보여준다.
- 운영 중인 SDK 제품은 새로 만들 경우 기존 버전과 새 버전을 함께 유지해야 하는 비용까지 고려해야 한다.
- 리팩토링 내성이 약한 테스트는 비즈니스 로직이 그대로여도 구현 변경만으로 실패할 수 있다.
- 개선 작업과 신규 기능 개발의 리소스를 분리하면 단기 성과에 밀려 구조 개선이 미뤄지는 일을 줄일 수 있다.
- 프리모템으로 실패 원인을 미리 가정하고 우선순위, 역량, 일정 관리 위험을 점검한다.