설계 없이 개발 시작했다가
전부 뒤엎은 경험
3주 만에 완성한 코드를, 설계 없이 짰다는 이유로 처음부터 다시 짠 이야기.
사이드 프로젝트로 소규모 예약 관리 서비스를 만들 때였다. 기획서를 받자마자 바로 컴포넌트부터 짜기 시작했다. "일단 화면부터 빨리 보여드리고 싶다"는 마음이 컸다. 3주 동안 열심히 만들었고, 첫 데모에서는 반응도 나쁘지 않았다. 근데 두 번째 요구사항이 추가되는 순간 전체 구조를 처음부터 다시 짜야 했다. 그때 배운 게 있다면, 빠르게 시작하는 것과 제대로 시작하는 것은 완전히 다른 얘기라는 것이다.

1. "일단 만들면서 생각하자"는 착각
예약 관리 서비스의 핵심 기능은 시간대별 예약 슬롯을 관리하는 것이었다. 처음엔 예약 하나를 Booking 컴포넌트 안에서 상태로 직접 관리했다. 화면 하나 완성하는 재미에 빠져서, 데이터 구조를 어떻게 설계할지는 전혀 고민하지 않았다.
1주 차, 2주 차까지는 문제가 없었다. 근데 "같은 시간에 여러 좌석을 예약할 수 있어야 한다"는 요구사항이 추가되자 완전히 무너졌다. 예약 하나당 좌석 하나만 가정하고 짠 구조라, 좌석 개념을 끼워 넣으려니 이미 만든 컴포넌트 전체를 뜯어고쳐야 했다.
2. 팀 리더의 한마디 — "이거 데이터부터 다시 그려봐요"
결국 좌석 개념을 추가하려다 코드가 완전히 꼬여서 리더에게 도움을 요청했다.
처음엔 3주 동안 만든 걸 버린다는 게 너무 아까웠다. 근데 화면 대신 데이터 구조부터 종이에 그려보니, Booking, Seat, TimeSlot이 서로 다른 개념인데 하나로 뭉쳐 있었다는 게 명확히 보였다.
3. 다시 그린 설계 — 이번엔 화면보다 데이터가 먼저였다
재설계할 때는 화면을 그리기 전에 세 가지 개체의 관계부터 정리했다.
데이터 구조를 먼저 정리하고 나니, 정작 컴포넌트는 오히려 더 단순해졌다. 각 컴포넌트가 하나의 개념만 다루도록 나뉘면서, 좌석을 추가하거나 시간대를 늘리는 기능도 큰 리팩토링 없이 붙일 수 있었다.
4. 재작업이 오히려 더 빨랐던 이유
처음 3주보다 재설계 후 5일이 훨씬 빠르게 느껴졌다. 빠르게 시작하는 것처럼 보였던 방식이 사실은 가장 느린 길이었다는 걸, 코드를 통째로 갈아엎고 나서야 몸으로 배웠다.
결론
설계 없이 시작한 개발은 처음엔 빨라 보이지만, 요구사항이 하나만 추가돼도 그 대가를 몇 배로 치르게 된다는 걸 직접 겪고 나서야 체감했다. 화면을 그리기 전에 데이터와 개념부터 정리하는 짧은 시간이, 결과적으로 전체 개발 시간을 크게 줄여준다는 것도 배웠다. 지금 "일단 만들면서 생각하자"는 유혹을 느끼고 있다면, 종이 한 장 꺼내서 핵심 개념부터 적어보는 걸 권하고 싶다.
여러분도 비슷한 경험이 있으신가요?
설계 없이 시작했다가 갈아엎었던 경험이나, 그 과정에서 얻은 교훈이 있다면 댓글로 공유해주세요. 지금 비슷한 고민을 하고 있는 다른 개발자분들께 큰 도움이 될 것 같습니다.
'개발자 > 실무 개발 현장' 카테고리의 다른 글
| 프론트엔드 개발자가 백엔드 건드려야 했을 때의 경험 (1) | 2026.09.03 |
|---|---|
| 주니어 개발자가 시니어한테 혼나면서 성장한 이야기 (0) | 2026.08.29 |
| Git 실수로 코드 날린 날 - 복구기 (1) | 2026.08.23 |
| 1인 개발자로 사이드 프로젝트 런칭하며 배운 것 (0) | 2026.08.17 |
| 기술 부채를 처음 실감한 순간 (0) | 2026.08.10 |