애자일(agile) 방법은 품질의 저하 없이 변화를 수용하고, 협업을 강조하며, 제품의 빠른 인도를 강조하는 반복적 방법이다. 진정한 개발 산출문은 코드임을 강조한다.
프로세스 중심이 아닌 사람 중심의 방법으로 개발을 즐기기 위해 요구사항이나 설계 문서를 최소화할 필요가 있다는 것이다. 소프트웨어 자체에 집중하고 기본적으로 명세, 개발 및 제품 인도에 반복적 방법을 적용한다.
약칭: XP
켄트 백의 저서에서 처음 등장한 용어로, 반복적 개발이나 고객의 개발 참여와 같은 기존의 좋은 실천 기술들을 extreme 수준으로 끌어올려라 또는 적극적으로 적용하라는 의미이다.
켄트 백은 TDD를 퍼뜨린 장본인이기도 한데, XP에서의 테스트 선행 프로그래밍과 관계있다.
실천 기술들
(1) 짝 프로그래밍
두 사람이 하나의 작업대에서 짝이 되어 함께 작업하는 기술이다. 한 사람은 코딩을 하며, 다른 사람은 코딩 과정을 검사한다. 30분 정도마다 두 사람의 역할을 맞바꾼다.
(2) 테스트 선행 개발(test-first development)
XP는 통합테스트를 매우 중요시하며, 새로운 점증의 추가로 인해 기존 소프트웨어에 오류가 생기는 가능성을 줄이고자 한다. 테스트 선행 개발은 테스트 케이스를 먼저 작성한 후, 이것을 통과하는 코드를 만들고 다듬어서 기능을 구현하는 것이다.