1️⃣ “미래를 대비한 설계”의 의미 (⭕)

이건 불확실성을 전제로 한 설계입니다.

  • 요구는 바뀐다
  • 트래픽은 예측 불가
  • 조직/인력은 변한다

그래서 하는 것:

  • 경계 분리
  • 인터페이스 정의
  • 되돌릴 수 있는 배포
  • 데이터 이력 보존
  • 기능 on/off

👉 모르겠음을 인정하는 설계


2️⃣ “미래를 가정한 설계”의 실체 (❌)

이건 확신을 전제로 한 설계입니다.

  • “나중엔 무조건 커질 거예요”
  • “이 기능은 곧 필요해요”
  • “글로벌 확장 대비”
  • “다른 팀이 붙을 걸요”

결과:

  • 안 쓰는 추상화
  • 죽은 코드
  • 이해 비용 증가
  • 변경 비용 폭증

👉 틀릴 가능성을 코드로 고정


3️⃣ 둘을 가르는 결정적 질문

“이 미래가 안 오면, 우리는 무엇을 잃는가?”

  • 아무것도 안 잃음 → 대비
  • 구조가 무너짐 → 가정

4️⃣ 실무에서 바로 쓰는 구분표

항목대비가정
인터페이스 경계만 정의 구현까지 미리
확장성 분리 가능성 확보 미리 분산
성능 병목 관측 가능 캐시/비동기 선도입
도메인 현재 규칙 중심 미래 정책 반영

5️⃣ 위험한 신호 문장들

  • “일단 만들어 두죠”
  • “나중에 필요할 것 같아서”
  • “확장성 고려했어요” (근거 없음)
  • “요즘 다 이렇게 해요”

이 말이 많아질수록
가정 설계 비율이 높아집니다.


6️⃣ 설계 판단 기준 문장

“지금 안 써도, 지워도 되는가?”

  • YES → 대비
  • NO → 가정

한 줄 요약

대비는 여지를 남긴다.
가정은 결정을 고정한다.

LIST

+ Recent posts