<오늘의 용어>eXtreme Programming(XP)

 

 XP(eXtreme Programming)란 단순성, 의사소통, 피드백, 용기 등 네가지 가치를 매우 중요하게 생각하는 소프트웨어 개발방법론 중 하나로 ‘고객에게 최고의 가치를 가장 빨리’ 전달하도록 하는 것을 최고의 가치로 삼는다. XP 기법 대부분은 수년간 개발 경험들이 축적된데서 나왔는데 고객, 관리자, 프로그래머 각각의 역할에 초점을 맞춰 각 역할에 적절한 권리와 의무를 부여해 전제적인 맥락 속에서 성공적인 소프트웨어를 개발할 수 있도록 유도한다.

 특히 요구사항 많거나 잦은 변화가 예상되는 위험부담이 큰 프로젝트를 하는 경우에 개발자가 소규모(10명 내외)이고 같은 공간을 사용하는 경우에 높은 효과를 볼 수 있다고 알려져 있다.

 이 방법론의 대표적인 방법으로는 팀워크와 고객가치를 중시, 2인조 프로그래밍, 우선순위가 높은 일 지속적으로 처리하기, 자료를 따로 보관하지 않고 지속적으로 통합하기, 메타포 사용하기, 테스팅 적극적으로 이용하기, 코드 공동소유하기, 고객 현장에 참여하기, 설계를 단순하게 짜기 등이 있다.