71
XP [정의] 의사소통 개선, 즉각적인 피드백에 의해 단순하게 코딩하여 SW품질을 높이기 위한 방법론
[5가치] 용기, 피드백, 의사소통, 단순함, 존중
[12Practice] 개발 - 페어프로그래밍,공동소유/공동책임,CI
관리 - Planning Process, Small Release, Metaphor
구현 - Simple Design, TDD, 리팩토링
환경 - 40-hour work, 고객의 상주 / 기타 - 코드표준준수
[구성] User story -> 구조적Spike-배포 계획-추가(반복)-인수테스트-작은릴리즈 ->Spike

용단커피존
유구배반인작
토픽 이름() XP
분류 프로젝트 관리 > Agile 프로세스 > XP
키워드(암기) 용단커피존, 12 프랙티스
전체팀(Whole Team)
암기법(해당경우) 가치 : [용단커피존] 용기, 단순함, 커뮤니케이션, 피드백, 존중
12가지 실천항목
[개관구환] 개발, 관리, 구현, 환경
- [공지페] 공동책임, 지속적 통합, 페어프로그래밍
- [메게작(PMS)] -> 메타포, 게임계획, 작은릴리즈 / Planning Game, Metaphor, Small
Release
- [리테디] 리펙토링, 테스트주도개발, 단순한 디자인
- [4상표] 40시간 작업, 고객상주, 코드표준화

 

기출문제

번호 문제 회차
1 2. XP(eXtreme Programming) 특징 실천 방법(practice)들을 설명하시오. 123.컴시응.3교시.2
2 XP 12가지 Practice중의 하나인 Continuous Integration 설명하시오 합숙_2012.08 4일차
3 eXtreme Programming 대해 설명하시오. 합숙_2013.01 1일차
4 많은 기업에서 애자일 방법론을 도입하려 고민하거나, 현재 적용하고 있습니다. 이유나 목적은 다양하지만 ‘신뢰성 높은 소프트웨어를 빨리 개발하자’는 가치를 공유하고 있습니다.
. 애자일 방법론 대표적인 방법론인 XP, 스크럼, 린에 대해서 설명하시오.
. 애자일 방법론의 대표적 실천사항(Practice) 사용자 스토리(User Story), 플래닝 포커(Planning Poker), 속도(Velocity) 대해서 설명하시오.
모의_2014.12 2교시
5 최근 다양한 Agile 개발방법론이 대두되고 있는데, 다음 세가지 Agile 개발 방법론에 대해 비교 설명하고, 향후 Agile 개발 방법론 발전 방향에 대해 기술하시오.      . XP      . SCRUM     . KANBAN 모의_2015.11 4교시
6 소프트웨어 Agile개발방법론에 대해 다음 질문을 설명하시오.
. XP, SCRUM, KANBAN 대해 비교 설명
. LEAN개발방법론에 대해 설명
모의_2016.10 4교시
7 소프트웨어 제품에 대한 가시성을 제공하는 애자일(Agile) 헌장을 기술하시고 애자일 개발방법론인 스크럼(SCRUM) XP 대하여 아래 항목을 설명하시오
. 스크럼(SCRUM) 개념 프로세스
. XP(eXtreme Programming) 프로세스 12 가지 실천사항(7 개이상)
. 사용자스토리(User Story), 스토리포인트(Story Point)
모의_2016.11 4교시
8 애자일(Agile)방법론인 XP 12가지 Practice 하나인 TDD(Test Driven Development) 프로세스 장단점을 설명하고 BDD(Behavior Driven Development) 설명하시오. 모의_2013.07 3교시
9 XP User Story 대해 설명하시오. 모의_2012.05 2교시
10 XP 핵심가치를 실현하기 위한 12가지 프렉티스 CI(Continuous Integration) 대하여 설명하시오 모의_2011.04
 3교시
11 XP 핵심가치를 실현하기 위한 12가지 프렉티스를 6가지 이상 설명하시오. 모의_2010.01 1교시

 

I. 유연하고 신속한 개발 방법론, XP 개요

. XP(eXtreme Programming) 정의

  • 의사소통과 TDD(Test driven development)를 기반으로 짧은 개발 주기를 통해 소프트웨어를 생산하는 애자일 개발 프로세스의 대표적 개발 방법론

. XP 핵심가치

핵심가치 설명
고객의 요구사항 변화에 능동적인 대처
순성 부가적 기능, 사용되지 않는 구조와 알고리즘 배제
의사소통() 공통의 메타포 사용, 페어 프로그래밍 관리자, 개발자, 고객 간의 의사 소통
드백 빠른 피드백을 원칙으로 해결 할 수 있는 일 먼저 처리
구성원 상호간의 존중, 프로젝트에 대한 존중

 

II. 개념도(구성도) 및 기술요소

  1. XP 프로세스

 

  1. XP 개발 프로세스 단계별 내역
단계 설명
유저스토리
User Story
- 고객이 필요한 것이 무엇인지를 기술(요구사항 수집, 의사소통 도구)
- 릴리즈 계획을 작성하기 위한 단위
스파이크
Spike
- 잠재적 솔루션들을 고려하기 위해 작성하는 간단한 프로그램(핵심 기능 프로토타입)
- 사용자 스토리의 신뢰성을 증대 시키거나 기술적 문제의 위험성을 줄일 목적으로 작성
배포계획
Release Planning
- 전체 프로젝트에 대한 배포 계획을 생성
- 의사결정 모든 규칙을 포함, 규칙에 의한 프로젝트 수행 방법 정의
반복
Iteration
- 반복적 개발에서는 민첩함이 중요, 1-3 정도로 나누어 반복을 균형적으로 유지
- 프포세스의 평가와 계획을 단순하고 신뢰성 있게 만드는 핵심 항목
인수 테스트
Acceptance Test
- 고객은 작동하는 시스템을 보면서 진척 사항 확인
- 고객이 직접 명세한 테스트 통과 파악
소규모 배포
Small Release
- 짧은 사이클, 소규모의 빈번한 배포를 통해 고객에게 이득을 조기 제공
- 프로그램은 빠른 피드백을 제공 받음

 

III. XP 12가지 실천항목

구분 실천항목 내용
개발 페어 프로그래밍
(Pair Programming)
두명이 한대 컴퓨터에서 개발(오류 감소, 생산성 향상)

공동 책임
(Collective Ownership)
시스템에 있는 코드는 누구든지 언제라도 수정 가능

지속적 통합
(Continuous Integration)
하루에 몇 번이라도 시스템 통합하여 빌드 가능
관리 게임 계획
(Planning Game)
User Story 이용하여 next Release 범위 빠르게 결정

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

메타포(Metaphor) 문장형태로 시스템 아키텍처 기술, 고객과 개발자간 의사소통 언어
구현 단순한 디자인
(Simple Design)
요구사항을 만족시키도록 가능한 단순하게 설계함

테스트 주도 개발
(Test Driven Develop)
테스트 주도(TDD), 테스트를 통한 고객 검증, 승인

리펙토링 (Refactoring) 기능에 변화 없이 코드 수정을 통해 디자인 개선
환경 40시간 작업
(40-hour per week)
40시간 이상 일하지 말도록 규칙, 2 연속으로 오버타임 금지

고객 상주
(On-Site Customer)
고객이 프로젝트에 풀타임 상주, 의사 결정 지원
기타 코딩 표준화
(Coding standards)
커뮤니케이션 향상을 위해 코드가 표준화된 관례에 따라 작성
반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

Lean(린)  (1) 2024.03.05
Kanban  (4) 2024.03.04
SCRUM  (0) 2024.03.02
Agile 선언문 4-12  (0) 2024.03.01
정량적 위험 분석  (4) 2024.02.29

+ Recent posts