728x90
XP (eXtreme Programming) 기법
XP (eXtreme Programming) 기법은 수시로 발생하는 요구사항에 유연하게 대응하기 위해 고객 참여와 개발 과정의 반복을 극대화 하여 생산성 향상을 도모하는 방법이다.
짧고 반복적인 개발 주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하며 릴리즈 시간을 짧게 반복하여 고객의 요구사항을 빠르게 파악한다.
XP 기법의 5대 핵심 가치
- 의사소통 (Communication)
- 단순성 (Simplicity)
- 용기 (Courage)
- 존중 (Respect)
- 피드백 (Feedback)
XP 개발 프로세스
- 릴리즈 계획 수립 (Relase Planning): 개발 완료 및 부분 완료 시점에 대한 일정을 수립
- 이터레이션(Iteration, 주기): 개발을 진행하는 과정 (1-3주)
- 승인 검사 (Acceptance Test, 인수 테스트): 하나의 이터레이션 안에서 부분 완료 제품이 구현되는 수행하는 테스트
- 소규모 릴리즈(Small Release): 릴리즈 규모를 축소하여 요구사항에 유연하게 대응할 수 있음
XP의 예시
- Pair Programming (짝 프로그래밍): 다른 사람과 프로그래밍을 수행하는 방식, 개발에 대한 책임을 공동으로 나눠갖는 환경
- Collective Ownership(공동 코드 소유): 개발 코드에 대한 권한과 책임을 공동으로 소유
- Test-Driven Development(테스트 주도 개발): 개발자가 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성함으로 자신이 무엇을 해야할지 정확히 파악, 자동화된 테스트 사용(프레임워크)
- Whole Team(전체 팀): 모든 구성원은 각자에게 책임이 있고 역할이 있음
- Continuous Integration(계속적 통합): 모듈 단위로 나눠서 개발된 코드들이 하나의 작업이 마무리 될 때마다 지속적으로 통합됨
- Refactoring : 기능의 변경 없이 시스템을 재구성 (프로그램을 쉽게 이해하고 쉽게 수정하여 빠르게 개발할 수 있도록 하는 것)
- Small Release(소규모 릴리즈): 릴리즈 기간을 짧게 반복하여 고객의 요구 변화에 신속히 대응
'CS' 카테고리의 다른 글
스크럼 (Scrum) 기법 (0) | 2023.03.30 |
---|---|
소프트웨어 생명 주기 (Software Life cycle) (0) | 2023.03.30 |
[데이터베이스] DB(Data Base)와 SQL (Structured Query Language)의 이해 (2) | 2022.10.05 |