2013년 11월 25일 월요일

XP (Extreme Programming)


[출처] http://blog.naver.com/c7h4a/130106247141

1. Agile Process의 대표적 방법론 XP의 개요
  가. XP (Extreme Programming)의 정의
    - 짧은 개발주기(Iteration)을 통해 고객이 원하는 핵심적인 기능을 우선 구현함으로써 프로젝트의
      위험을 줄이는 프로그래밍 중심의 소프트웨어 개발방법론

  나. XP의 등장배경 및 핵심가치
    - 효율적 요구사항 변화관리, 생산성감소, 급변하는 환경에서 빠르게 SW개발 필요
    - 4가지 핵심가치 : 용기(고객의 요구사항 변화에 능동적인 대처), 의사소통, 빠른 피드백,
                              단순성(부가적기능,사용되지 않는 구조와 알고리즘 배제)

2. XP의 개발절차 및 실천항목
  가. XP의 개발절차
    - 유저스토리 : 고객 요구사항, UML의 유즈케이스와 같은 목적, 배포계획 시간 계산,
                        요구사항 문서 대용
    - 스파크 : 잠재적 솔루션 고려를 위한 간단한 프로그램, 유저스토리 신뢰성향상, 기술적 위험 관리
    - 배포계획 : 전체 프로젝트 배포계획, 의사결정 규칙, 프로젝트 수행방법 정의
    - 반복 : 짧은주기(1~3주) 반복 (개발 → 테스트 → 배포), 프로세스 평가/계획 단순화, 신뢰성
    - 인수테스트 : 반복 단위별 테스트, 진척사항 확인, 검증
    - 작은 배포 : 반복단위별 배포, 빈번한 소규모 배포, 점증적 기능제공, 빠른 피드백

  나. XP의 실천항목


단계 실천항목 설명
 분석/설계  On-Site Customer  고객의 팀 합류, 의사결정 지원
  Small Design  고객요구기능 중심, 짧은시간 릴리즈
  Simple Design  단순하고 정확히 작동하는 디자인
  메타포 (Metaphor)  문장형태 시스템 아키텍쳐 기술,
  고객과의 의사소통 언어
 구현  Refactoring  기능변화 없이 코드 수정통한
  디자인 개선, 중복성 복잡성 개선
  Pair Programming  두명이 한 프로그램 개발
  (오류감소, 생산성 향상)
  Continuous Integration  지속적 통합, 개발 불일치 최소화
테스트  Testing (TDD)  유저스토리 → 테스 트시나리오,
  테스트주도, 고객검증, 승인
 배포  작은배포  기능단위 빠른배포 및 피드백


3. XP의 적용방법 및 고려사항
  - Agile Process와 RUP 혼용형태 프로세스 권장
    (프로젝트 전반부는 RUP, 중반부터는 XP의 하이브리드 형태)
  - 계획/디자인 단계에 많은 시간할애, 전체 유저케이스/디자인 반복 정제 → 코드수준 →
    프로그래머는 단순코딩 작업만 수행.
  - On-Site 고객관점접근, 상위 관리자 미고려로 프로젝트 전반적 오류 가능성.
  - 테스트 중심 개발 등 프로젝트 초반 오류를 최대한 잡아내기 위한 노력 필요.

댓글 없음:

댓글 쓰기