정처기(시나공)

Section 003. XP(eXtreme Programming) 기법

곽수진 2021. 12. 25. 03:08
반응형

XP(eXtreme Programming)

: 일부 요구사항이 적용된 기능이 완성될 때마다 고객에게 보여주고 반응을 확인하는 과정을 최종 제품이 완성될 때까지 지속적으로 반복

      ▶ 릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성을 높임

      ▶ 5가지 핵심 가치 : 의사소통, 단순성, 용기, 존중, 피드백

 

 

# XP 개발 프로세스

  • 사용자 스토리

    : 고객의 요구사항을 간단한 시나리오로 표현

      ▶ 기능 단위 구성

 

  • 릴리즈 계획 수립

    : 부분 / 전체 개발 완료 시점에 대한 일정 수립

 

  • 스파이크

    : 요구사항의 신뢰성을 높이고 기술 문제에 대한 위험을 감소시키기 위해 별도로 만드는 간단한 프로그램

 

  • 이터레이션

    : 하나의 릴리즈를 더 세분화 한 단위

 

  • 승인 검사

    : 릴리즈 단위의 부분 완료 제품이 구현되면 수행하는 테스트

 

  • 소규모 릴리즈

    : 릴리즈를 소규모로 하게 되면 고객의 반응을 기능별로 확인할 수 있어 고객의 요구사항에 유연하게 대응 가능

 

 

# XP 주요 실천 방법

  • Pair Programming 짝 프로그래밍

    : 다른 사람과 함께 프로그래밍을 수행해 개발에 대한 책임을 공동으로 나눠 갖는 환경 조성

 

  • Collective Ownership 공동 코드 소유

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

 

  • Test-Driven Development 테스트 주도 개발

    : 실제 코드 작성 전 테스트 케이스를 작성해 무엇을 해야 할지 파악

      ▶ 테스트가 지속적으로 진행될 수 있도록 자동화된 테스팅 도구 사용

 

  • Whole Team 전체 팀

    : 개발에 참여하는 모든 구성원은 역할이 있고 책임을 가져야 함

 

  • Continuous Integration 계속적인 통합

    : 개발된 코드들은 하나의 작업이 마무리 될 때마다 지속적으로 통합됨

 

  • Design Improvement 디자인 개선 / Refactoring 리팩토링

    : 프로그램 기능의 변화 없이 시스템 재구성(단순화 / 유연성 강화 등)

 

  • Small Releases 소규모 릴리즈

    : 릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응

반응형