본문 바로가기
IT기술노트/소프트웨어공학

XP(eXtreme Programming)

by 비트코기 2021. 1. 26.
반응형

유저스토리, 스파이크, 릴리즈계획 / 개발에 포커싱을 맞춘 애지일


I. 고품질 SW를 빠르게 고객에게 전달, XP의 개요

가. XP (eXtreme Programming)의 정의

   - 고품질의 소프트웨어를 빠른 시간안에 고객에게 전달하는 것을 목적으로 고객의 요구사항 변화에 적극적으로 대응하는 방법론

나. XP의 핵심가치 (용단커피존)

   - 용기 : 고객의 요구사항 변경에 능동적 대처

   - 단순성 : 필요한 것, 요구한 것만 수행

   - 의사소통 : 개발자, 관리자, 고객 간의 원활한 의사소통

   - 피드백  : 지속적, 반복적 제품 데모를 통한 의견 수렴

   - 존경 : 모든 프로젝트 관계자는 가치 있는 팀원으로 대우


II. XP의 절차 및 구성요소

가. XP의 절차 (구사수배반소인)

나. XP의 구성요소

프로세스

설명

유저스토리

사용자의 요구사항을 정제한 목록으로 배포시간 계산시 사용

스파이크

프로토타입과 유사한 것으로 핵심 기능을 중심으로 기술

릴리즈 계획

전체 프로젝트에 대한 배포 계획을 생성

반복

1~2주 단위의 반복 주기를 기반으로 프로젝트 전반에 균일하게 유지

승인 테스트

고객이 요구한 명세에 만족했는지에 대한 테스트

작은 릴리즈

소규모의 빈번한 배포, 빠른 속도의 피드백

 


 

III.             XP 12원칙

구분

실천항목

내용

개발

Pair Programming

명이 한대 컴퓨터에서 개발

Collective Ownership

시스템에 있는 코드는 누구든지 언제든지 수정 가능

Continuous Integration

하루에 번이라도 시스템 통합하여 빌드 가능

관리

Planning Game

User Story 이용하여 Next Release 범위 빠르게 결정

Small Release

필요한 기능들만 갖춘 간단한 시스템을 빠르게 릴리즈(2주단위)

System Metaphor

문장 형태로 시스템 아키텍처 기술,고객과 개발자간 의사소통언어

구현

Simple Design

요구사항을 만족시키도록 가능한 단순하게 설계

Test Driven Develop

테스트 주도, 테스트를 통한 고객 검증, 승인

Refactoring

기능에 변화 없이 코드 수정을 통해 디자인 개선

환경

 

40-hour per week

40시간 이상 일하지 않기, 2주연속 오버타임 금지

On-Site Customer

고객이 프로젝트에 타임 상주, 의사결정지원

기타

Coding standards

커뮤니케이션 향상을 위해 코드가 표준화된 관례에 따라 작성

 

반응형

'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글

Lean  (0) 2021.01.29
Burn-down Chart  (0) 2021.01.27
Product Backlog  (0) 2021.01.27
SCRUM  (0) 2021.01.26
애자일 방법론  (0) 2021.01.26
RUP(Rational Unified Process)  (0) 2021.01.26
SSPL(System & Software Product Line)  (0) 2021.01.26
SPL(Software Product Line)  (0) 2021.01.26

댓글