자격증/정보처리기사

[정보처리기사-필기] 익스트림 프로그래밍(XP; Extreme Programming)

Nirsa 2024. 4. 25. 22:29
반응형
[정보처리기사-필기] 익스트림 프로그래밍(XP; Extreme Programming)

익스트림 프로그래밍(XP)은 고객 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 기법

 

  1. XP는 짧고 반복적인 개발 주기, 단순한 설계, 고객의 참여를 통해 빠르게 개발하는 것을 목적으로 함
  2. 릴리즈의 기간을 짧게 반복하며 요구 사항 반영에 대한 가시성을 높임
  3. 릴리즈 테스트마다 고객을 참여시켜 요구 기능이 잘 동작하는지 직접 확인 가능
  4. 소규모 인원의 프로젝트에 효과적
  5. XP의 핵심 가치 : 의사 소통, 단순성, 용기, 존중, 피드백
※ 릴리즈 : 요구 사항이 부분적으로 완료된 제품을 제공
※ 가시성 : 일부 기능이 구현될 때 마다 고객에게 제품을 확인시켜주어 잘 반영되고 있음을 확인해준다는 의미

 

 


 

 

익스트림 프로그래밍 개발 프로세스

 

A. 사용자 스토리(User Story)
  • 요구 사항을 간단한 시나리오로 표현
  • 기능 단위로 내용을 작성하며 필요한 경우 간단한 테스트 사항(Test Case)을 기재함

 

B. 릴리즈 계획 수립(Release Planning)
  • 스토리가 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것 → 스토리의 일부 기능 = 릴리즈(Release)
  • 릴리즈에 대한 일정을 수립하는 단계를 릴리즈 계획 수립이라 함

 

C. 스파이크(Spalike)
  • 불확실한 추정이 있을 경우 별도로 개발하는 간단한 프로그램
    → 기술 문제에 대한 위험을 감소 시킴
  • 불확실한 추정을 제외한 다른 조건은 모두 무시

 

D. 이터레이션(Iteration)
  • 릴리즈를 더 세분화 한 단위이며 일반적으로 1~3주간의 기간으로 진행됨
  • 새로운 스토리 작성 가능
    → 새로 작성된 스토리에는 진행중 또는 다음 이터레이션이 포함될 수 있음

 

E. 승인 검사(Acceptance Test, 인수 테스트)
  • 하나의 이터레이션이 완료 되었을 때, 즉 릴리즈의 일부 기능(이터레이션)이 완료된 제품을 테스트하는 과정
  • 테스트 사항에 대해 고객이 직접 수행
  • 발견된 오류 사항은 다음 이터레이션에 포함됨
  • 테스트 이후 새로운 요구사항 또는 기존에 존재하는 요구사항의 우선순위가 변경될 수 있음
  • 테스트 완료 시 다음 이터레이션 진행

 

F. 소규모 릴리즈(Small Release)
  • 고객 반응을 기능별로 확인 가능하여 요구 사항에 유연하게 대처 가능
  • 릴리즈 기간 동안 이터레이션이 모두 완료되면 고객의 최종 테스트를 수행 후 릴리즈를 고객에게 전달
    → 릴리즈의 일부 기능들(이터레이션)이 모두 완료되면 최종 테스트 후 최종 결과물(릴리즈)을 전달하는 것을 뜻함
  • 릴리즈가 완제품이 아닐 경우 다음 릴리즈 계획에 맞춰 개발 진행

 

 


 

 

 

익스트림 프로그래밍 주요 실천 방법(Practice)






반응형