유저스토리, 스파이크, 릴리즈계획 / 개발에 포커싱을 맞춘 애지일 |
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 |
댓글