AI 인사이트 목록
AI

소프트웨어 공학의 법칙들 (Laws of Software Engineering)


소프트웨어 공학의 법칙들 — 원본 요약

원문: https://lawsofsoftwareengineering.com
GeekNews 게시: https://news.hada.io/topic?id=28760
추천: 131P

개요

56가지 소프트웨어 공학 원칙·패턴을 7개 카테고리로 정리한 컬렉션.

Teams

  • Conway's Law: "Organizations design systems that mirror their own communication structure."
  • Brooks's Law: "Adding manpower to a late software project makes it later."
  • Dunbar's Number: 한 개인이 유지할 수 있는 안정적인 관계는 약 150개
  • Ringelmann Effect: 그룹 규모 증가에 따라 개인 생산성 감소
  • Price's Law: 전체 참여자의 제곱근이 50% 업무 담당
  • Putt's Law: 기술을 이해하는 사람은 관리하지 않음
  • Peter Principle: 계층 구조에서 직원은 무능 수준까지 승진
  • Bus Factor: 프로젝트를 위험에 빠뜨릴 최소 팀원 수

Planning

  • Premature Optimization: 조기 최적화는 모든 악의 근원 (Knuth, 1974)
  • Parkinson's Law: 업무는 할당된 시간만큼 확장
  • Ninety-Ninety Rule: 첫 90%가 90% 개발 시간 소요 + 남은 10%도 90%
  • Hofstadter's Law: 예상보다 항상 더 오래 걸림 (Hofstadter 법칙 포함)
  • Goodhart's Law: 측정 지표가 목표가 되면 좋은 지표가 아님

Architecture

  • Hyrum's Law: "With a sufficient number of API users, all observable behaviors will be depended on by somebody."
  • Gall's Law: 작동하는 복잡 시스템은 작동하는 단순 시스템에서만 진화
  • Law of Leaky Abstractions: 비자명한 추상화는 모두 누수 존재
  • Tesler's Law: 어플리케이션의 기약 불가능한 복잡성은 이동만 가능
  • CAP Theorem: 분산 시스템은 일관성·가용성·분할 허용성 중 2가지만 보장
  • Second-System Effect: 성공한 시스템 후속작은 과도하게 설계됨

Quality

  • Boy Scout Rule: "Leave the code better than you found it."
  • Murphy's Law: 잘못될 수 있는 것은 반드시 잘못됨
  • Postel's Law: 보수적으로 행동하고 관대하게 받아들이기
  • Broken Windows Theory: 나쁜 설계는 즉시 수정해야 함
  • Linus's Law: 충분한 검토자가 있으면 모든 버그는 명확함
  • Kernighan's Law: 디버깅은 코딩보다 2배 어려움
  • Testing Pyramid: 단위 테스트 多 → 통합 테스트 少 → UI 테스트 최소

Design

  • YAGNI: 필요할 때까지 기능 추가 금지
  • DRY Principle: 모든 지식은 단일 명확한 출처 필요
  • KISS Principle: 설계는 최대한 단순하게
  • SOLID Principles: 유지보수성·확장성 강화 5가지 원칙
  • Law of Demeter: 객체는 직접 친구와만 상호작용

Scale

  • Amdahl's Law: 병렬화 불가능 부분이 속도 제한
  • Metcalfe's Law: 네트워크 가치는 사용자 수의 제곱에 비례

Decisions

  • Dunning-Kruger Effect: 지식 부족할수록 과신 경향
  • Occam's Razor: 가장 단순한 설명이 정확함
  • Sunk Cost Fallacy: 이미 투자한 비용으로 계속 진행하는 오류
  • Pareto Principle: 80% 문제는 20% 원인에서 발생

GeekNews 댓글 핵심 논점

  • 조기 최적화 재해석: 1974년 맥락 vs 현대 아키텍처 선택
  • 법칙 간 충돌: Postel's Law vs Hyrum's Law, DRY vs 단순성
  • KISS·YAGNI가 가장 실질적 효용 제공
  • 맥락 없이 한 줄 명언으로 압축되면서 오해되는 경향
원문 보기