Extreme programming
익스트림 프로그래밍(영어: eXtreme Programming, XP)는 켄트 백 등이 제안한 소프트웨어 개발 방법이다. 비즈니스 상의 요구가 시시각각 변동이 심한 경우에 적합한 개발 방법이다. 1999년 켄트 백의 저서인 'Extreme Programming Explained - Embrace Change'에서 발표되었다.
이 방법은 애자일 개발 프로세스라 불리는 개발 방법 중의 대표적인 하나로 꼽히며, 약칭인 ‘XP’로 잘 알려져 있다.
이 방법은 10~12개 정도의 구체적인 실천 방법(Practice)을 정의하고 있어, 비교적 적은 규모의 인원의 개발 프로젝트에 적용하기 좋다. 개발 문서 보다는 소스코드를, 조직적인 개발의 움직임 보다는 개개인의 책임과 용기에 중점을 두는 경향이 크다.
YAGNI (You aren't gonna need it)
YAGNI(You aren't gonna need it)는 프로그래머가 필요하다고 간주할 때까지 기능을 추가하지 않는 것이 좋다는 익스트림 프로그래밍(XP)의 원칙이다. 익스트림 프로그래밍의 공동 설립자 론 제프리스는 다음과 같이 썼다: "실제로 필요할 때 무조건 구현하되, 그저 필요할 것이라고 예상할 때에는 절대 구현하지 말라." "You aren't going to need it"와 "You ain't gonna need it"의 준말로도 인용된다.
KISS (Keep it small and simple)
KISS(키스)는 “Keep it small and simple.”, “Keep it short and simple.”, 또는 “Keep it simple, stupid.”의 첫글자만 따서 만든 약어로, KISS 원칙이란 디자인에서 간단하고 알기 쉽게 만드는 편이 좋다는 원리를 말한다. 1960년에 미국 해군이 고안한 디자인 원리이다.
프로그래머들 사이에 많이 통용되는 격언이다. 이 디자인 원리는 간단하고, 나중에도 쉽게 이해되는 해결 방법을 최적의 해결책으로 생각한다. KISS는 과학 이론에서 있으나 없으나 차이가 없는 불필요한 가정은 잘라내야 한다는 오컴의 면도날 원칙과도 맞닿아 있다.
DRY (Don't repeat yourself)
중복 배제 (Don't repeat yourself; DRY)는 소프트웨어 개발 원리의 하나로, 모든 형태의 정보 중복을 지양하는 원리이다. 특히 다층 구조 시스템에서 유용하다. 중복배제 원리는 한마디로 “모든 지식은 시스템 내에서 유일하고 중복이 없으며 권위있는 표상만을 가진다”는 말로 기술할 수 있다.