수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법
이미지 출처 : https://velog.io/@donghoim/정보처리산업기사-13강-XP-기법
실천 방법 | 내용 |
---|---|
Pair-Programming (짝 프로그래밍) | 다른 사람과 함께 프로그래밍을 수행함으로써 개발에 대한 책임을 공동으로 나눠 갖는 환경을 조성 |
Collective Ownership (공동 코드 소유) | 개발 코드에 대한 권한과 책임을 공동으로 소유 |
Test-Driven Development (TDD) (테스트 주도 개발) | 개발자가 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하므로 자신이 무엇을 해야 할 지 정확히 파악. 테스트가 지속적으로 진행될 수 있도록 자동화된 테스팅 도구(구조, 프레임워크)를 사용 |
Whole Team (전체 팀) | 개발에 참여하는 모든 구성원(고객 포함)들은 각자 자신의 역할이 있고 그 역할에 대한 책임을 가져야 한다 |
Continuous Integration (계속적인 통합) | 모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리 될 때마다 지속적으로 통합 |
Design Improvement (디자인 개선) 또는 Refactoring (리팩토링) | 프로그램 기능의 변경 없이, 단순화, 유연성 강화 등을 통해 시스템 재구성 |
Small Releases (소규모 릴리즈) | 릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응할 수 있다. |