xp

WEB
posted by 구름너머 2008. 3. 3. 13:43
XP(EXtreme Programming)의 12가지 핵심 훈련
[방법론] XP(EXtreme Programming)의 12가지 핵심 훈련

http://xprogramming.com/

XP는 객체지향의 대가인 켄트 벡(Kent Beck)이 창시하였으며, 혁신적인 새로운 소프트웨어 개발 방법론이다. XProgramming.com의 편집주인 론 제프리(Ron Jeffries)는 XP를 위한 12가지 핵심 훈련을 다음과 같이 서술하였다.

1. 계획 절차(The Planning Process) : 고객이 요구하는 비즈니스 가치를 정의하고, 개발자가 필요한 것은 무엇이며 어떤 부분에서 지연될 수 있는지를 알려준다.

2. 소규모 릴리즈(Small Release) : 작은 시스템을 먼저 만들고, 짧은 단위로 업데이트한다.

3. 상징(Metaphor) : 공통적인 이름의 체계를 갖고 공통적인 시스템 서술서를 갖게 되면, 개발과 의사소통을 돕는다.

4. 단순 설계(Simple Design) : 현재의 요구사항에 들어맞는 가장 단순한 시스템을 설계한다. "미래를 위해서"라는 것은 필요 없다. 리팩토링을 통해서도 좋은 설계를 할 수 있다.

5. 테스팅(Testing) : XP는 항상 소프트웨어의 적합성에 초점을 두고 있다. 개발자는 테스트를 먼저한 후에 소프트웨어를 작성한다. 그렇게 되면 이미 테스트에서 요구사항을 충족하게 된다.

6. 리팩토링(Refactoring) : 개발하는 동안내내 시스템의 설계를 향상시킨다.

7. 짝 프로그래밍(Pair Programming) : 개발자 둘이서 짝으로 코딩한다. 짝 프로그래밍은 혼자 코딩하는 것보다 비슷하거나 혹은 더 적은 비용을 들인다고 한다.

8. 공동 소유(Collective Ownership) : 모든 코드는 모든 개발자에게 속해있다. 이는 팀을 최상의 속도로 움직이게 하며, 변경이 필요할 때에도 지연을 줄인다.

9. 지속적인 통합(Continous Integration) : 매일 여러 번씩 소프트웨어를 통합하고 빌드한다.

10. 주당 40시간 업무(40 hour Week) : 피곤한 개발자가 실수를 더 많이 한다.

11. 현장고객 지원(On site Customer) : 의사소통을 향상시키고 문서의 양을 줄일 수 있다.

12. 코딩 표준(Coding Standard) : 효과적인 공동 작업을 위해서는 모든 코드에 대한 코딩 표준을 정의한다.


발췌 : 이클립스 기반 프로젝트 필수 유틸리티 CVS, Ant, JUnit, 민진우, 이인선, 한빛미디어, 2004



1. 조금씩, 하지만 자주 발표한다.

2. 사이클을 반복해서 돌리면서 개발한다.

3. 스펙에 없는 것은 절대 집어넣지 않는다. (아무리 그 기능이 나중에 쓰일 것 같은 느낌이 들어도 그러지 않는 것이 좋다.)

4. 테스트 코드를 먼저 만든다.

5. 야근은 하지 마라. 항상 정규 일과 시간에만 작업한다.

6. 기회가 생기는 족족 언제 어디서든 코드를 개선한다.

7. 모든 테스트를 통과하기 전에는 어떤 것도 발표하지 않는다.

8. 조금씩 발표하는 것을 기반으로 하여 현실적인 작업 계획을 만든다.

9. 모든 일을 단순하게 처리한다.

10. 두 명씩 팀을 편성하고 모든 사람이 대부분의 코드를 알 수 있도록 돌아가면서 작업한다.

발췌 : Head First Java, 케이시 시에라, 버트 베이츠, 한빛미디어, 2004
내용 발취 : http://www.eve.or.kr/study/s_content.asp?idx=353&page=1

'WEB' 카테고리의 다른 글

오픈소스 chart  (0) 2009.12.16
바이러스? 웜? 악성코드?  (0) 2008.03.03
웹로직 에러 <BEA-101215>  (0) 2008.01.17
DAX 에러  (0) 2007.12.21
WebLogic 세션 클러스터링  (0) 2007.08.20