1-1 003 XP기법 [B]

이지우·2024년 3월 27일
0

정보처리기사

목록 보기
3/68

XP(eXtreme Programming)

고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성 향상시키는방법

  • 짧고 반복적인 개발 주기, 단순한 서례, 고객의 적극적인 참여를 통해 빠르게 개발하는 것을 목적
  • 릴리즈 기간을 짧게 반복하여 요구사항 반영에 대한 가시성을 높임
  • 테스트마다 고객을 직접 참여시킴
  • 소규모 인원에 효과적

5가지 핵심 가치

  1. 의사소통(Communication)
  2. 단순성(Simplicity)
  3. 용기(Courage)
  4. 존중(Respect)
  5. 피드백(Feedback)

<피존의 용기는 단순>


XP 개발 프로세스

1. 사용자 스토리(User Story)
2. 릴리즈 계획 수립(Release Planning)
3. 스파이크(Spike)
4. 이터레이션(Iteration)
5. 승인 검사(Acceptance Test, 인수 테스트)
6. 소규모 릴리즈(Small Release)

사용자 스토리(User Story)

: 고객의 요구사항을 시나리오로 표현
: 간단한 테스트 사항(Test Case)도 기재

릴리즈 계획 수립(Release Planning)

: 부분적으로 기능이 완료된 제품을 제공하는 릴리즈 계획 수립
: 부분 혹은 전체 개발 완료 시점에 대한 일정 수립

스파이크(Spike)

: 요구사항의 신뢰서 높이고 위험을 감소시키기 위해 만드는 간단한 프로그램
: 처리할 문제 외의 다른 조건은 모두 무시

이터레이션(Iteration)

: 하나의 릴리즈를 더 세분화 한 단위
: 1~3주
: 새로운 스토리 작성될 수 있음
: 새로 작성된 스토리는 진행 중인 이터레이션 혹은 다음 이터레이션에 포함

승인 검사(Acceptance Test, 인수 테스트)

: 부분 완료 제품이 구현되면 수행하는 테스트
: 고객이 직접 수행
: 오류 사항은 다음 이터레이션에 포함
: 새로운 요구사항이 작성되거나 상대적 우선순위가 변경될 수 있음
: 완료되면 다음 이터레이션 진행

소규모 릴리즈(Small Release)

: 고객의 반응을 기능별로 확인 가능
: 요구사항에 좀 더 유연하게 대응
: 고객에 의한 최종 테스트 수행 후 최종 결과물을 고객에게 전달
: 다음 릴리즈 일정에 맞게 개발 진행


XP의 주요 실천 방법(Practice)

Pair Programming(짝 프로그래밍)

: 다른 사람과 함께 프로그래밍을 수행함
: 책임을 동동으로 나눠 갖음

Collective Ownership(공동 코드 소유)

: 개발 코드에 대한 권한과 책임을 공동으로 소유

Test-Driven Develpment(테스트 주도 개발)

: 테스트 케이스를 먼저 작성
: 자신이 무엇을 해야할지 정확하게 파악
: 자동화된 테스팅 도구 사용

Whole Team(전체 팀)

: 모든 구성원(고객 포함)들은 각자 자신의 역할이 있음
: 역할에 대한 책임을 가져야 함

Continuous Intergration(계속적인 통합)

: 하나의 작업이 마무리될 때마다 지속적으로 통합

Design Improvement(디자인 개선) 또는 Refactoring(리팩토링)

: 프로그램 기능의 변경 없이, 단순화, 유연성 강화 등을 통해 시스템 재구성

Small Releases(소규모 릴리즈)

: 릴리즈 기간을 짧게 반복
: 요구 변화에 신속히 대응

profile
노력형 인간

0개의 댓글