Extreme Programming

🏷️ 정보

익스트림 프로그래밍(Extreme Programming, XP)은 Kent Beck이 1996년 크라이슬러 C3 프로젝트에서 체계화한 소프트웨어 개발 방법론이다. 1999년 저서 Extreme Programming Explained로 공식 출간되었다.

다른 애자일 방법론이 계획·프로세스 중심인 반면, XP는 **"어떻게 코딩할 것인가"**를 구체적 실천 단위로 규정한다는 점에서 차별화된다.

핵심 가치 5개

원조 실천 12개

  1. Planning Game — 사용자 스토리 기반 추정·우선순위
  2. Small Releases — 자주 릴리즈하기
  3. Metaphor — 공통 은유로 시스템 설계 공유
  4. Simple Design — YAGNI(You Aren't Gonna Need It) 원칙
  5. Testing (TDD) — 테스트 먼저 작성 후 구현
  6. Refactoring — 기능 변경 없이 구조 개선
  7. Pair Programming — 2명이 1대의 컴퓨터에서 함께 코딩
  8. Collective Ownership — 누구나 어떤 코드든 수정 가능
  9. Continuous Integration — 하루 여러 번 통합 빌드
  10. 40-hour Week — 지속 가능한 속도 유지
  11. On-site Customer — 고객이 팀과 함께 상주
  12. Coding Standards — 공통 코딩 규약

특징

영향

TDD, CI, Pair Programming, Refactoring은 오늘날 소프트웨어 공학의 상식이 되었다. GitHub의 Pull Request 리뷰 문화, CI/CD 파이프라인, JUnit 계열 테스트 프레임워크의 대중화는 XP의 직접적 영향이다.

관련 문서