홈

© 2026 Ki Chang. All rights reserved.

본 블로그의 콘텐츠는 CC BY-NC-SA 4.0 라이선스를 따릅니다.

소개JSON Formatter개인정보처리방침이용약관

© 2026 Ki Chang. All rights reserved.

콘텐츠: CC BY-NC-SA 4.0

소개|JSON Formatter|개인정보처리방침|이용약관

미리 개발하지 말자: 운영에서 사용하지 않는 코드는 제거되어야 한다

정기창·2026년 1월 20일

첫 프로젝트 배포 3개월 후, 깨달은 것

실제로 일반 유저가 사용하는 웹서비스를 처음부터 끝까지 기술적으로 모두 관여했던 첫 프로젝트가 배포된 지 약 3개월이 지났습니다. 당시에 저는 해당 서비스에 결제 기능도 붙이려고 했고, 갤러리 기능도 필요하다고 해서 일부 기술적으로 미리 개발할 수 있는 부분을 개발했습니다.

1차 배포에 필요한 기능들은 25년 11월이라는 마감기한이 있어서 해당 기간 내에 모두 작업을 마무리 지었습니다. 하지만 이후 필요하다고 했던 기능들은 마감기한이 없었고, 당장에 필요한 기능이 아니라서 우선순위가 밀려 지금까지도 언제 작업에 착수하게 될지 모르는 상황에 놓여졌습니다.

미리 개발한다는 것의 함정

기획과 디자인이 채 나오기도 전에, 단순히 구두상으로 필요하다고 합의된 내용을 프로젝트를 빨리 완성하겠다는 명목으로 미리 개발하여 효율을 도모하고자 했습니다. 그러나 결과는 예상과 달랐습니다.

사용하지 않는 불필요한 코드가 자리만 차지하고, 유지보수할 때마다 이게 정말 쓰이는 코드인지 맥락에 방해가 된다는 것을 깨달았습니다. 코드를 읽다가 "이 함수는 어디서 호출되지?"라고 찾아보면 아무 데서도 사용되지 않고 있었습니다. 미래를 위해 만들어둔 코드가 현재의 이해를 방해하는 상황이 된 것입니다.

혼자만의 속도는 의미가 없다

개발을 빨리 끝내고 싶은 마음은 혼자서만 가지고 있을 경우 해결이 되지 않습니다. 이 프로젝트에 관여하는 실무자, 클라이언트의 마음이 모두 동일해야 프로덕트는 현실에 나올 수 있다는 것을 깨달았습니다.

저 혼자 앞서나가 코드를 미리 짜놓아도, 기획이 바뀌면 그 코드는 쓸모없어집니다. 디자인이 달라지면 다시 작업해야 합니다. 결국 미리 개발한 시간은 낭비가 되고, 오히려 "이미 만들어놨는데"라는 매몰 비용의 함정에 빠지기 쉽습니다.

AI 시대, 코드는 언제든 다시 만들 수 있다

언젠가 사용할 코드라고 남겨놓는다면, 그 '언제'가 언제 올지 몰라서 계속 헷갈리고 갑갑하고 혼란스러운 마음이 들게 됩니다.

요즘은 AI를 활용하여 작업을 하기 때문에 코드는 곧바로 생성해낼 수 있습니다. 3개월 전에 미리 짜둔 코드가 꼭 필요한 것이 아닙니다. 필요한 시점에 그때의 맥락과 요구사항에 맞게 새로 작성하는 것이 더 정확하고 적절한 코드가 됩니다.

그렇기 때문에, 운영에 사용되고 있지 않는 코드라면 과감하게 제거하여 말끔한 상태를 유지하는 게 옳다고 생각했습니다.

결론: 지금 필요한 것만 만들자

돌이켜 생각해보면, 소프트웨어 공학에서 말하는 YAGNI(You Aren't Gonna Need It) 원칙이 왜 존재하는지 몸소 체험한 셈입니다. "나중에 필요할 것 같아서"라는 이유로 미리 만드는 코드는 대부분 필요하지 않게 됩니다.

이제는 다음 원칙을 지키려고 합니다:

  • 기획과 디자인이 확정되기 전에는 코드를 작성하지 않는다
  • 운영에서 사용하지 않는 코드는 주저 없이 삭제한다
  • 필요한 시점에, 그 시점의 맥락에 맞게 개발한다

코드를 아끼는 것보다 코드베이스를 깔끔하게 유지하는 것이 더 중요하다는 생각이 들었습니다. 미사용 코드는 기술 부채가 아니라, 그냥 부채입니다.

YAGNI클린 코드기술 부채개발 원칙프로젝트 회고코드 품질

관련 글

6년간의 웹빌더 회사 경험: 개발 여정을 돌아보며 얻은 실질적인 배움

6년간 웹빌더 회사에서 다양한 웹 시스템 유지보수 및 고도화를 경험하며 사용자 경험과 안정성을 중시한 개발 여정을 소개합니다. 개인 프로젝트로 AI 웹 서비스를 구축하며 얻은 실질적인 배움도 공유합니다.

관련도 78%

요즘 고민하는 것 : 추상화

AI 시대에 추상화와 테스트 코드가 왜 더 중요해졌는지에 대한 고민. 자연어보다 인터페이스로 명세를 작성하고, 테스트로 검증하는 것이 더 정확하고 신뢰할 수 있다는 생각을 정리했습니다.

관련도 77%

Claude Code 사용량 관리, 작은 불편함이 크롬 익스텐션 개발로 이어진 과정

Claude Code 사용량 관리에 불편함을 느껴 직접 크롬 확장 프로그램을 개발했습니다. 개인적인 불편함 해소에서 시작된 개발 경험과 그 과정에서 얻은 인사이트를 공유합니다.

관련도 75%