AI Briefing

소프트웨어 공학의 법칙들

·2026.04.22 09:47

핵심 내용

팀·아키텍처·품질·설계를 관통하는 56개 소프트웨어 원칙 모음.

자세히 보기

소프트웨어 시스템, 팀, 의사결정에 영향을 주는 56가지 원칙과 패턴을 한곳에 정리한다.

팀(Teams)

  • Conway의 법칙: 조직의 커뮤니케이션 구조가 시스템 구조에 반영된다.
  • Brooks의 법칙: 늦은 프로젝트에 인력을 더 넣으면 오히려 더 늦어진다.
  • Dunbar의 수, Ringelmann 효과, Price의 법칙 등은 팀 규모와 생산성의 한계를 설명한다.
  • Bus Factor, Peter 원칙, Dilbert 원칙은 지식 집중과 승진/관리의 문제를 보여준다.

계획(Planning)

  • Premature Optimization, Parkinson's Law, 90-90 Rule, Hofstadter's Law가 일정과 추정의 함정을 다룬다.
  • Goodhart's Law는 지표가 목표가 되면 지표가 망가진다고 경고한다.
  • Gilb's Law는 완벽하지 않아도 측정은 하지 않는 것보다 낫다고 말한다.

아키텍처(Architecture)

  • Hyrum's Law, Gall's Law, Leaky Abstractions는 현실 시스템의 제약과 추상화의 한계를 짚는다.
  • Tesler's Law는 복잡성을 없애는 것이 아니라 어디로 옮길지의 문제라고 본다.
  • CAP 정리, Fallacies of Distributed Computing, Second-System Effect는 분산 시스템과 확장 설계의 핵심 함정을 정리한다.

품질(Quality)

  • Boy Scout Rule, Murphy's Law, Postel's Law, Broken Windows Theory는 지속적 개선과 방어적 설계의 필요성을 강조한다.
  • Technical Debt, Linus's Law, Kernighan's Law, Testing Pyramid, Pesticide Paradox는 코드 품질과 테스트 전략을 다룬다.
  • Lehman의 법칙, Sturgeon's Law는 소프트웨어 진화와 품질 편차를 설명한다.

스케일(Scale)

  • Amdahl's Law와 Gustafson's Law는 병렬화의 한계와 가능성을 함께 보여준다.
  • Metcalfe's Law는 네트워크 효과가 사용자 수의 제곱으로 커질 수 있음을 설명한다.

설계(Design)

  • DRY, KISS, SOLID는 중복 제거, 단순성, 책임 분리를 위한 기본 원칙이다.
  • YAGNI, Composition over Inheritance, Demeter's Law 같은 패턴도 함께 묶어 실무 설계 감각을 정리한다.
  • Separation of Concerns, Law of Demeter는 결합도를 낮추고 변경 비용을 줄이는 방향을 제시한다.

전체적으로 팀 운영부터 분산 시스템, 테스트, 리팩터링, 설계 철학까지 소프트웨어 엔지니어링의 기본 법칙들을 빠르게 훑을 수 있는 참고 목록이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.