Programming in the eXtreme

1. XP는 무엇인가?(What is the XP?)



이 글을 읽고 있는 당신도 잘 알겠지만 간단하게 XP가 무엇인지를 설명하고 넘어가자.

Agile이 탄생한 이유처럼 XP라는 소프트웨어 개발 방법론이 나온 이유는 간단하다.

전통적인 개발방식(예를 들어 SDLC 또는 Waterfall 등)에서 발견되는 문제점을 제거하기

위해 생각하다보니 초창기의 XP가 시작된 것이다.


2. XP에 대한 소개(Introduction)

현대 소프트웨어 개발은 대체로 SDLC나 Waterfall 과 같은 전통적인 개발 방법론을 통해

개발되었다. 하지만 이들을 통한 개발을 하다보니 점점 복잡해져가는 세상속에서

사용자들의 요구사항은 점점 복잡해졌고 변화가 무척이나 빨라지게 되었다. 이런 급진적인

변화는 분명하게 회사 운영에 커다란 리스크로 자리잡게 된다.

따라서 이를 해결하고자 좀더 빠르고 사용자 또는 고객의 요구사항을 충족시킬 수 있을 뿐

아니라 비용까지 절감할 수 있는 방법론, 즉 Agile 방법론이 최근 각광받기 시작했다.

특히나 XP는 사용자로부터의 빠르고 다양한 피드백, 단위 테스트, 계속적인 코드리뷰를 통해

제 시간에 잘 짜여진 검증된 프로그램으로 거듭나 고객의 욕구를 만족시키고 있다.

이러한 XP의 시작은 어떠했는지, 그것이 추구하는 가치는 무엇인지 하나하나 낱낱이

파헤쳐 보자!! 팍팍!!



3. XP의 시초(The beginning of XP)


XP는 1996년에 Daimler Chrysler 에서 일하는 Kent Beck

이라는 사람에 의해 개발되었고 처음으로 시행된 방법론이다.

당시 C3(Chrysler Comprehensive Compensation)프로젝트를

담당하던 Kent는 기존에 실패했었던 C3프로젝트와는 다르게

XP와 유사한 프레임워크 모델을 제시하여 성공적으로

프로젝트를 마무리 할 수 있었다.

여기에는 Merisalo-Rantanen, Tuunanen, Rossi 와 같은

사람들의 끊임없는 전통 개발론에 대한 공부와 분석이 큰

기여를 했다.


4. XP가 추구하는 가치들

XP는 다음과 같은 가치들을 추구한다.


  • Communication & Feedback
  • Simplicity
  • Responsibility

첫번째 가치인 Communication & Feedback을 살펴보자

XP는 고객과 개발자간에 서로 얼굴을 마주하고 대화하는 것을 추구한다. 대화 뿐만 아니라

지금 실행되고 있는 프로그램의 코드에 대한 설명까지도 가능하면 자주 공유하는 것이

좋다고 권하고 있다. 왜일까?

이것이 서로가 생각하고 있는 내용을 가장 정확하게 체크할 수 있는 방법이기 때문이다.

두번째 가치인 Simplicity.

이는 말 그대로 최대한 간결한 것을 뜻하는데 여기에는 다음과 같은 사상이 녹아 있다.

"XP는 미래에 생길 일에 대해 걱정하지 않는다. 단지 현재 사용자의 요구사항만을 생각한다."

이렇게 말뚝을 박아 놓고 최대한 간결하게 하여 개발의 리스크를 줄여준다.

마지막으로 Responsibility는 개발자가 고객에게 최상품질의 프로그램을 원하는 때에

제공할 수 있도록 해주는 원동력이라고 할 수 있다.

간략하게 정리를 해봤다.

뭐 간혹 내가 이해를 잘못해서(영자 문서를 봤기 때문-_-;) 틀린 점이 있을수도 있으니

발견 즉시 득달같이 코맨트 남겨주시면 충분한 논의를 거친 후에 수정하겠다.

그럼 오늘도 안녕히들 주무시길...

아...퓌건해...ㅋ

댓글 없음:

댓글 쓰기

Latest Contents

pytorch installation with GeForce RTX 3050 Ti

 1. Install CUDA toolkit 11.8     ※ WARNING : Please except for "Nsight VSE" to avoid Installation fail.      2. Download cuDNN ( ...

Most viewed