XP기법 (eXtreme Programming) 이란?
eXtreme Programming은
애자일 모델이 추구하는 고객의 요구사항 대응을 위해 고객과의 소통을 극도화 하여
개발 생산성을 향상시키는 방법이다.
- 보통 고객과 소통 하는 때가, 프로그램의 테스트 전, 후인데 XP는 개발 주기를 짧고 반복적으로 만들어서
고객의 적극적인 참여를 유도한다.
- 고객은 프로그램 개발과정 좀 더 자주 직접 확인이 가능 해지는데 이것을 가시성이 높아진다고 한다.
- 이러한 개발기법은 주로 소규모 개발 프로젝트에 사용된다.
XP의 5가지 핵심 가치
피드백(Feedback), 존중(Respect), 용기(Courage), 단순성(Simplicity), 의사소통(Communication)
피존용단소
XP 개발 프로세스 ::
1. 사용자 스토리(User Story)
- 고객의 요구사항
- 기능 단위로 구성하며 필요한 경우 테스트 사항도 기재한다.
2. 릴리즈 계획 수립(Release Planning)
- 프로그램을 배포하는 단위
프로그램 뒤에 붙는 1.0이니 2.0이니 하는 것 하나하나가 릴리즈 단위라고 할 수 있다.
- 부분 혹은 전체 개발 일정을 수립한다.
3. 스파이크 (Spike)
- 전체 기능과 상관없이 특정 기술 및 기능을 테스트하기 위해서 별도로 만드는 간단한 프로그램
4. 이터레이션(Iteration)
- 릴리즈를 세분화한 단위
- 1~2주의 시간으로 완성 가능한 기능을 모아서 고객이 직접 평가할 수 있도록 프로그램을 만드는 과정
5. 승인검사(Acceptance Test, 인수 테스트)
- 이터레이션이 완료되면 고객은 사용자 스토리에 작성한 테스트 사항을 통해서 직접 평가한다.
- 테스트하는 과정에서 오류가 발견되면 다음 이터레이션에 포함한다.
- 테스트 이후 우선순위가 변경될 수 있다.
6. 소규모 릴리즈(Small Relese)
- 위 과정들이 계획대로 되었다면 소프트웨어를 배포한다.
- 릴리즈 규모를 작게 하면 고객의 요청에 신속히 대응할 수 있어 좀 더 완성도 높은 소프트웨어를 개발을 기대할 수 있다.
'정보처리기사' 카테고리의 다른 글
미들웨어(middleware) 인터페이스 설계 (0) | 2021.05.10 |
---|---|
디자인 패턴(Design Pattern) 이란? (0) | 2021.05.09 |
UML 클래스 다이어그램 (0) | 2021.05.06 |
현행 시스템 파악 (0) | 2021.04.25 |
소프트웨어 생명 주기 [소프트웨어 설계] // 스크럼 (Scrum) 이해하기 (0) | 2021.04.24 |
댓글