2025-08-09 00:12

Tags: 소프트웨어 공학

과잉 설계 (Over engineering Over spec)

  • 필요 이상으로 복잡하고, 비싸고, 정교하게 만들어진 시스템이나 제품
  • ‘만약’ 이라는 가정에서 나오는 불확실성을 제거하기 위해 최대한 여유롭고 실제 필요한 것 보다 더 높은 스펙을 추구하는 경향
  • 기술 발전 자체가 목적이 되어 과시하고자 과하게 많은 투자를 하기도 함
  • 엔지니어 자신 자체의 순수한 열정과 자기만족 기술적 완성도 집착
  • 기능, 복잡성, 품질이 오버됨.
  • 단순히 비싸고 싸고가 아니라 티타늄 종이컵 처럼 목적과 상황에 부합하지 않음
  • YAGNI 원칙 MVP KISS 원칙 등을 활용해 대처

References

인터페이스 분리 원칙 중복 제거 추상화

과잉 설계 핸드북 (Handbook of Over-engineering)