XP(eXtreme Programming)

XP(eXtreme Programming)는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법이다. - XP는 짧고 반복적인 개발 주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 한다. - 릴리즈[^1]의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성[^2]을 높인다. - 릴리즈 테스트마다 고객을 직접 참여시킴으로써 요구한 기능이 제대로 작동하는지 고객이 직접 확인할 수 있다. - 비교적 소규모 인원의 개발 프로젝트에 효과적이다. - 애자일 개발 방법론을 기반으로 한다. - XP의 5가지 핵심가치 - 의사소통(Communication) - 단순성 (Simplicity) - 용기(Courage) - 존중(Respect) - 피드백(FeedBack)

[^1]: 릴리즈는 몇 개의 요구사항이 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것을 말합니다.

[^2]: 일반적으로 가시성이란 대상을 확인할 수 있는 정도를 의미합니다. 릴리즈 기간을 짧게 반복하면서 개발 과정에서 제품 소프트웨어의 일부 기능이 구현될 때마다 고객에게 이를 확인시켜주면, 고객은 요구사항이 잘 반영되고 있음을 직접적으로 알 수 있다는 의미입니다.