정보처리기사

[정보처리기사-설계] XP(eXtreme Programming) 익스트림 프로그래밍이란?

쩨비 2022. 6. 10. 11:00
728x90

소개

  • 익스트림 프로그래밍(영어: eXtreme Programming, XP)는 켄트 백 등이 제안한 소프트웨어 개발 방법이다. 비즈니스 상의 요구가 시시각각 변동이 심한 경우에 적합한 개발 방법
  • 애자일 개발 프로세스라 불리는 개발 방법 중의 대표적인 하나로 꼽힘
  • 비교적 적은 규모의 인원의 개발 프로젝트에 적용하기 좋다. 개발 문서 보다는 소스코드를, 조직적인 개발의 움직임 보다는 개개인의 책임과 용기에 중점을 두는 경향이 크다.
  • XP의 목적은 '고객이 원하는 양질의 소프트웨어를 빠른 시간안에 전달하는 것'이다. 수시로 발생하는 고객의 요구사항에 대처하고, 고객이 원하는 SW를 고객이 원하는 시간에 인도하기 위해서는 고객과 팀원간의 대화를 통해 해결한다.

 

테스트 방법

  • XP는 프로그래머들이 코딩을 할때에 테스트 코드를 작성하도록함과 동시에 테스트를 기반으로 프로젝트를 완성시켜 나가도록 한다. 또한 이러한 테스트에 기반을둔 프로젝트 발전 과정은 애자일 방법론의 기본 개념인 "반복적으로 프로토 타입을 고객에 전달함으로써 고객의 요구사항 변화에 민첩하게 대응한다"를 실천하는데에 큰 도움을 줄 수 있다. 왜냐하면 매번 프로토 타입을 고객에 전달함에 있어서 프로토 타입 자체로써 버그가 상대적으로 적은 완벽에 가까운 데모를 경험하게 해줄 수 있기 때문이다.

 

가치

  • 의사소통
  • 단순성
  • 피드백
  • 용기
  • 존중

 

원칙

  • 인간성
  • 경제성
  • 상호이익
  • 자기 유사성
  • 개선
  • 다양성
  • 반성
  • 흐름
  • 잉여
  • 실패
  • 품질

 

실천방식

  • Whole Team - 모든 프로젝트에 참여하는 팀원들을 가리키며 개개인이 각자의 역할이 있고 그들의 역할의 중요성을 이야기 한다.
  • Planning Game - 프로젝트기간에 맞추어  개발이 가능한가
  • Customer Tests - 잘못 이해하고 있었던 부분에 대해서 수정
  • Small Releases - 실제로 작동이 되는 데모 모델을 볼 수가 있으며 추가 사항을 요구 할 수도 있다. 
  • Simple Design - 모든 코딩을 가능한 간단하게 할것을 강조 (버그수정쉽게)
  • Test-Driven Development - 테스트를 기반으로한 개발은 XP에서 가장 중요한 실천 방안중 하나이다. 테스트를 거치고 코딩을 하며 프로젝트를 개발해 나간다.
  • Pair Programming - 두명 혹은 그 이상의 프로그래머가 함께 코딩을 하는 것을 말한다. 두명의 프로그래머가 함께 코딩을 하고 테스트를 통해서 개발을 할 수도 있고, 한명은 코딩을 하고 한명은 Quality Assurance 역할 통해서 테스트에만 집중을 할 수도 있다.

 

 

 

참고 문서 : https://ko.wikipedia.org/wiki/익스트림_프로그래밍

 

익스트림 프로그래밍 - 위키백과, 우리 모두의 백과사전

익스트림 프로그래밍의 계획 및 피드백 루프 익스트림 프로그래밍(영어: eXtreme Programming, XP)는 켄트 백 등이 제안한 소프트웨어 개발 방법이다. 비즈니스 상의 요구가 시시각각 변동이 심한 경우

ko.wikipedia.org

 

 

728x90

'정보처리기사' 카테고리의 다른 글

[정보처리기사-설계] Use Case 유스케이스란?  (0) 2022.06.10