1️⃣ “똑똑해 보이는 설계”의 특징 (위험 신호)
보통 이런 말이 나옵니다.
- “이 패턴 알죠?”
- “이렇게 하면 우아합니다”
- “확장성까지 고려했어요”
- “나중에 다 쓸 수 있어요”
현실 결과:
- 이해하는 사람 1명
- 디버깅 난이도 급상승
- 운영자 접근 불가
- 변경 시 전면 수정
👉 지적 만족은 높고, 생존성은 낮음
2️⃣ “안전해 보이는 설계”의 특징
보고 나면 이런 느낌이 듭니다.
- 어디가 바뀔지 보인다
- 실패 지점이 예상된다
- 되돌릴 수 있어 보인다
- 운영자가 개입할 수 있다
👉 사람이 시스템을 통제할 수 있다는 인상
3️⃣ 안전함은 단순함에서 나온다
단순함 = 기능이 적음 ❌
단순함 = 예외의 수가 적음 ⭕
- 분기 적음
- 상태 명확
- 책임 단일
- 경계 분명
그래서 안전합니다.
4️⃣ 리뷰 때 써먹는 질문
이 질문들이 YES면 안전한 설계입니다.
- 신규 인력이 하루 만에 흐름을 그릴 수 있는가?
- 장애가 나도 조치 포인트가 보이는가?
- 이 기능을 꺼도 시스템이 살아남는가?
- 데이터가 왜 이렇게 됐는지 설명 가능한가?
NO가 많으면 아무리 세련돼 보여도 위험합니다.
5️⃣ 좋은 설계의 감정 지표
“아, 이건 망가질 일이 별로 없겠네”
이 느낌이 들면 그 설계는 이미 성공입니다.
한 줄 요약
좋은 설계는 머리를 자극하지 않는다.
불안을 줄인다.
LIST
'Spring & Backend > Architecture' 카테고리의 다른 글
| 결합도는 줄이고, 되돌릴 수 있는 선택을 늘려라 (0) | 2026.02.06 |
|---|---|
| 미래를 대비한 설계는 필요하지만, 미래를 가정한 설계는 위험하다. (0) | 2026.02.04 |
| 설계는 정답을 고르는 게 아니라 변경 비용을 정하는 일이다 (1) | 2026.02.04 |
| 좋은 백엔드는 트래픽이 아니라 운영 시간을 줄인다 (0) | 2026.02.04 |
| 모놀리스는 죄가 아니다. 이유 없는 분산이 죄다 (0) | 2026.02.04 |
