Extreme Programming (XP) — 베스트 프랙티스를 극단까지
Extreme Programming (XP) — 베스트 프랙티스를 극단까지
1. 요약
Extreme Programming (XP) 는 1996년 Kent Beck 이 Chrysler C3 (Comprehensive Compensation System) 급여 시스템 프로젝트를 이끌면서 정리하고, 1999년 Extreme Programming Explained: Embrace Change 책으로 발표한 경량 SW 개발 방법론 이다. "좋은 관행을 극단까지 (extreme) 밀어붙이자" 가 철학.
2. 배경 (이전 도구의 한계)
1990년대 초까지 SW 개발 베스트 프랙티스 (코드 리뷰, 테스트, 통합, 짧은 사이클) 는 알려져 있었지만 어쩌다 한 번 만 했다. Beck 의 통찰: "코드 리뷰가 좋다면 항상 하라 (페어 프로그래밍) → 테스트가 좋다면 항상 하라 (TDD) → 통합이 좋다면 항상 하라 (CI)" — 극단까지 가면 다른 산물 이 나온다.
3. 핵심 개념·표기법
XP의 4 가치: Communication · Simplicity · Feedback · Courage
XP의 12 관행 (1999):
- Planning Game (계획 게임 — User Story 기반)
- Small Releases (작은 릴리스)
- Metaphor (메타포 — 시스템 비유)
- Simple Design (단순 설계)
- Testing (테스트 우선 = TDD)
- Refactoring (리팩토링)
- Pair Programming (페어 프로그래밍)
- Collective Ownership (공동 소유권)
- Continuous Integration (지속적 통합)
- 40-hour Week (40시간 주)
- On-Site Customer (온사이트 고객)
- Coding Standards (코딩 표준)
4. 언어·OS 매핑 (★ 강의 핵심)
| 시대 | 언어 | XP 활용 |
|---|---|---|
| 1996~99 | Smalltalk → Java | Chrysler C3 첫 적용 |
| 2000s | Java, Ruby, Python | XP 보급 + Scrum 과 결합 |
| 2010s | 모든 언어 | DevOps 와 융합 |
| 2020s | + AI 페어코딩 | Copilot, Cursor = 페어 프로그래밍의 AI 진화 |
★ XP의 페어 프로그래밍 이 25년 후 AI 페어코딩 으로 진화한 것은 가장 흥미로운 사례. 사람 둘이 하던 일을 사람 + LLM 이 하게 됐다.
5. 현대까지의 영향
- TDD (Test-Driven Development) — XP의 Testing 관행이 독립 방법론화
- Pair Programming — 협업 표준
- CI/CD — Continuous Integration 의 진화
- Refactoring — Martin Fowler 의 동명 책 (1999)
- Agile Manifesto (2001) — XP가 4 핵심 가치의 모태
- AI 페어코딩 (2021~) — Copilot 부터 Cursor 까지
6. 주요 인물·사건
| 연도 | 사건 |
|---|---|
| 1995 | Beck + Cunningham, OOPSLA — XP 사상 기록됨 |
| 1996 | Beck, Chrysler C3 프로젝트 리드 → XP 정립 |
| 1999 | Beck, Extreme Programming Explained: Embrace Change (10월) |
| 2001 | Agile Manifesto, Snowbird — Beck 17명 중 1인 |
| 2004 | Beck, XP Explained 2판 (12 → 24 관행 확장) |
| 2014 | DevOps 와 융합 |
| 2021 | GitHub Copilot — AI 페어 프로그래머 등장 |
7. 강의 활용
"Beck 이 1996년에 박은 페어 프로그래밍이 2021년 AI 페어코딩으로 부활" — 25년 만에 형식이 바뀌었지만 짧은 피드백 + 즉각 검증 + 협업적 사고 의 본질은 동일. XP는 AI Native Vibe Coding 의 직계 조상 — 짧은 사이클·자동화·단순성 모두 그대로 살아있다.
출처
- Extreme programming — Wikipedia
- Extreme Programming Explained — Beck 1999 (PDF)
- What Is Extreme Programming (XP)? — NimbleWork
- eXtreme Programming (XP) — Smith CSC 465
그룹 시리즈
→ synthesis/group-se_g4 (시대 그룹 종합 카드)