'extreme programming'에 해당되는 글 1건

  1. 2008.04.19 방법론- eXtreme Programming

설명
XP는 애자일 개발 방법론의 한 종류로서 1990년대 초 Kent Beck에 의해 고안되었다. 기존의 방법과는 달리 요구사항의 변경으로 인한 비용이 개발 기간에 상관없이 일정하게 유지되도록 하는 것이 핵심이다.
XP는 의사소통, 단순성, 피드백, 용기를 중시하는 개발 방법론이다. XP에서 프로그래머와 고객, 동료 프로그래머와의 의사소통을 중시하고, 설계를 단순하고 명확하게 유지하려고 하며, 비즈니스에서 가장 우선순위가 높은 것 부터 개발한다 이런 것은 고객의 요구사항과 기술의 변경에 대응할 수 있다.

XP는 2종류의 약속을 한다.
프로그래머에게 대해, XP는 프로그래머가 매일, 중요한 업무에 열중 할수 있도록 약속한다. 프로그래머는 불안한 상황에 자기 혼자만 직면하지 된다. 시스템을 성공 시키기 위해서, 자신의 힘으로 모든 할 수 있는 일을 할 수 있도록 된다. 최선을 위해서 결단을 내리고, 자신이 적임이지 않은 일에 관해서는 결정은 내리지 않는다.
고객과 매니져에 대해, XP는 매주마다 어느 프로그래밍으로부터 최고의 가치를 얻을 수 있다는 것을 약속한다. 수주간마다 골을 향해서 구체적인 진보가 보일도록 한다. 계획 외의 코스트가 생기지 않도록 하고, 개발 도중에서 프로젝트의 방향이 변하는 것이 가능하도록 한다.
다시 말해, XP는 프로젝트의 리스크를 줄이고, 비지니스 변화에 리스폰스(적응)를 개선 하고, 시스템의 가동기간(라이프)을 통해서 생산성을 향상시키고, 동시에 팀에게 소프트웨어를 만들때 기쁨을 느낄 수 있도록 약속한다.

역할
프로그래머
분석, 설계, 테스트, 코딩, 시스템 통합을 하며 업무에 대한 난이도 조정 및 시스템 관리를 한다.

관리자
고객과 프로그래머가 함께 일할 수 있도록 해준다. 프로잭트 총괄의 의미보다는 진행에 도움을 주는 역할을 한다.

고객
실제적으로 시스템에 대한 요구사항을 정의하고 우선순이를 설정한다. 고객이 필요한 범위를 결정하면 개발자는 개발을 한다.

관계도

사용자 삽입 이미지

XP의 12가지 실천사항
계획세우기: 고객이 요구하는 비즈니스 가치를 정의하고 개발자에게 필요와 어떤 부분이 지연될지 알려준다
소규모릴리즈: 작은 시스템을 만들고 단위별로 업데이트한다.
상징: 공통적인 이름 체계를 갖는다.
단순한 디자인: 현재의 요구사항에 맞는 단순한 시스템을 설계한다.
지속적인 테스팅: XP는 적합성을 중요시 여긴다.
리팩토링: 개발하는 동안 제품 설계를 향상시킨다.
짝프로그래밍: 개발자 두명이서 5분동안 번갈아가며 하나의 개발을 서로 쭉 내려가며 코딩한다.
공동 코드 소유: 누구나 코드 수정이 가능하며 그에 대한 책임도 공유한다.
지속적인 통합: 매일 여러번 소프트웨어를 통합하고 빌드한다.
주당 40시간의 업무: 피곤한 개발자가 실수를 더 많이하기 때문에 휴식을 보장한다.
현장 고객 지원: 의사소통을 향상시키고 문서양을 줄일 수 있다.
코딩 표준: 코딩 가이드라인을 작성하여 모두 가이드라인을 따른다.



좀 더 자세한 내용을 원한다면 아래 링크를 찾아가도록 하자
http://www.gpgstudy.com/gpgiki/eXtreme%20Programming%20explained

Posted by 서오석
,