Extreme Programming Installed

 



Extreme Programming Installed : XP 도입을 위한 실전 입문


전산분야의 책중에서 이렇게 재미있고 흥미진진하게 본책은 없었다.

내가 추구하는 개발방식과 많이 흡사하고,

좀 깨는 방법도 여러개 등장한다(페어프로그래밍 등)


뭐라고 할까?

새로운 세상을 만난 기분이라고 할까?

개발방법론이라고 하기에는 좀 그렇지만...

개발방법에 대해서 많은 변화를 가져오리라 생각된다.



그리고 몇년전에 신촌에서 책을 읽어버려서 매우 안타까워 하고 있다는...-_-;;



더 자세한 내용은 링크 참고할것!


http://xper.org/wiki/xp/
http://xper.org/wiki/xp/TestFirstProgramming
http://www.gpgstudy.com/gpgiki/eXtreme%20Programming%20explained
http://www-903.ibm.com/developerworks/kr/java/library/j-xp0813.html
http://www-903.ibm.com/developerworks/kr/java/library/j-xp0910.html
http://www.google.co.kr/search?hl=ko&newwindow=1&q=Extreme+Programming&btnG=%EA%B5%AC%EA%B8%80+%EA%B2%80%EC%83%89&lr=lang_ko
==========================================================================
 
웹 통합업체들 XP 개발방법 호평

John Moore, Sm@rt Reseller  
원문보기
2000/05/23    
인터넷 애플리케이션 개발자들은 급격히 늘어가는 고객의 요구 사항과 빠듯한 작업 마감 시간에 묶여 과중한 부담을 안고 있다. 마무리가 될 즈음이면 어김없이 프로젝트 범위는 변경되고, 프로젝트 마지막 작업에 이르면 고객은 추가 사항을 요구하게 되고… 그럴 때마다 개발자들은 그에 따른 엄청난 고통을 감내해야만 한다.

이런 이유로 인해 웹 통합업체(Web integrator)와 애플리케이션 서비스 제공업체들은 유동적인 요구사항에 대처하기 위해 고안된 신규 소프트웨어 개발 방법을 채택하고 있다.

XP(eXtreme Programming)는 4년 전 켄트 벡이라는 한 컨설턴트가 다임러크라이슬러(DaimlerChrysler)에 새로운 개발 방법론을 적용하면서 탄생했다. XP는 반복적인 개발 작업과 소프트웨어 빌드에 대한 빈번한 테스트 작업을 강조한다. 시스템 개발자들은 테스트를 통해 고객이 제안한 새로운 특징에 맞춰 다양한 디자인을 시도해 볼 수 있다.

XP는 최근에야 부각되고 있는 개발 방법이다. 켄트 벡은 지난해 이 주제에 대한 최초의 개념 정의서라 할 수 있는 ‘XP 해설(eXtreme Programming Explained)’을 출간했다. 그리고 오는 6월 하순에는 국제 XP 회의가 이탈리아 카글리아리(Cagliari)에서 최초로 개최될 예정이다.

XP는 주로 역동적인 전자상거래 환경을 구축하기 위해 분투하고 있는 통합업체들 사이에서 인기를 얻고 있다. 예컨대 e-비즈니스 통합업체인 이빌트(eBuilt)는 XP를 자사 개발 방법론의 핵심으로 삼고 있다. 이빌트의 이랩스(eLabs) 담당 부사장인 필립은 “어떤 프로젝트에서는 고객의 요구사항이 말 그대로 매일 변한다”며 XP의 중심 관점을 “변화는 프로세스의 일부”라고 정리했다.

란테(Lante)의 CTO인 마빈 리차드슨은 XP의 철학에 대해 “개발자들이 현재 진행중인 프로젝트의 범위를 다양화시키도록 도와 주면서 치밀한 테스트를 통해 코드의 질적 수준을 보장하는 것”이라고 설명했다. XP의 테스트 중시 철학은 개발 프로세스를 가속화 시킬 수 있다. 이 같은 접근 방식으로 개발자들은 시스템을 개발해 놓고 나중에 버그를 찾아 품질을 보증하기 보다 처음부터 시스템의 질을 담보할 수 있는 방식으로 품질을 관리할 수 있게 됐다.

이 모든 상황으로 인해 XP는 첨단의 개발 방법으로 자리잡고 있다. 또한 XP는 e-비즈니스 계약을 성사시키기 위해 경쟁이 심화되고 있는 시장에서 웹 통합업체에게 경쟁우위를 제공해 줄 것이다. @





SW 개발방법 근본부터 뒤바꾸기
소프트웨어를 만드는 일은 어렵다. 막상 개발을 시작하려면 어떤 과정을 거쳐 무슨 일을 해야 할 것인가와 같은 기본적인 문제부터 막히게 된다. 그렇기에 프로그래머라면 누구나 제한된 자원을 가지고 정해진 기한을 맞추기 위해 밤을 새워본 기억이 있을 것이다.

‘극단’의 뜻을 갖고 있는 ‘익스트림(eXtreme)’이라는 명칭에도 불구하고 『eXtreme Programming Installed XP(이하 XPI)』는 실질적으로 많은 위험을 감소할 수 있는 방법을 제시하고 있다. 프로그램을 배포(release)할 때 이미 유행이 지나버릴 위험, 예산 초과의 위험, 목적한 작업도 제대로 수행하지 못하는 소프트웨어를 구축하는 위험, 게다가 시간에 쫓겨 변변한 테스트도 거치지 않은 버그 투성이의 제품을 내놓을 수도 있는 위험은 프로그래머라면 누구나 경험해본 적이 있는 상황일 것이다.

이 책에서는 지속적으로 고객의 피드백을 얻게 해주는 빈번한 작은 배포, 완성까지의 시간과 개발비용에 대한 정확한 추정, 사정없는 리팩토링, 짝(pair) 프로그래밍, 프로그래머가 자신감을 갖고 진행하도록 도와주는 설계 세션 운영, 현장고객(on-site customer)과 일하기 등의 내용을 이야기하고 있다. 이를 통해 프로그래머가 부닥칠 확률이 높은 장애물에 대한 해법을 조언하고 있는 것이다.

XP는 기존의 개발방법을 근본에서 뒤바꾸는 생각을 담고 있기 때문에 초기에는 급진적이라고 여겨졌지만, XP 방식이 성공적이라는 것이 입증되면서 소프트웨어 개발의 주류로 등장하고 있다.

XPI는 XP에 대해 국내에 처음으로 소개하는 도서다. XPI에서 저자인 론 제프리즈 등은 4년 여에 걸쳐 크라이슬러사의 봉급 지급 시스템을 구축하며 얻은 ‘어떻게 XP를 적용할 것인가’에 대한 지식을 XP의 원칙과 함께 구체적으로 제시하고 있다.

이 책은 소프트웨어 전문 월간지인 마이크로소프트웨어에서 ‘개발자가 놓치지 말아야 할 책 베스트 10’에 꼽히기도 했다. 또 저자인 론 제프리즈는 한국판 발간에 맞춰 변화된 개념에 대한 설명을 서문에 부연하고 있으며, 국내에 XP 도입을 위해 앞장섰던 분들이 번역과 리뷰에 참가해 새로이 나오는 많은 용어들을 세심히 번역했다.

디지털타임스 북리뷰 최창규 와우북팀장 (2002년 8월 9일 금요일)




추천평

< 한국어판 서문 중에서, 원저자 론 제프리즈(Ron Jeffries) >

책이 출간된 지 거의 2년이 지났습니다. 저는 이 새로운 서문에 그간의 시각을 추가할 수 있는 기회를 갖게 된 것을 기쁘게 생각합니다. 책이 나오고 나서 제가 배운 것은 XP의 법칙과 실천사항(practices)에 관한 것들입니다. 우리가 이 책을 썼을 때, XP를 하기 위해서는 실천사항들을 정확히 행하는 것이 중요하다고 생각했습니다. ........ XP 실천사항들을 그 순수하고 "익스트림"한 형태로 시도해 주기 바랍니다. 쓰인 대로 그것들을 완전히 마스터했을 때에, XP가 당신에게 무얼 제공해 줄 수 있는지 배웠을 것이고, 단순한 법칙을 넘어서서 형(形)을 깨트리고, 자신만의 형을 창조할 준비가 될 겁니다. 시작점에서 출발하고, 기본을 마스터하는 것이 최선입니다. 그러고 나서 그것들을 넘어서야죠. 여러분들이 익스트림 프로그래밍을 즐기길 바랍니다. 시험 삼아서 한번 해보면 그것이 유용하다는 것을 알게되리라 확신합니다.


< 켄트 벡(Kent Beck)의 추천사 중에서 >

eXtreme Programming Installed는 급진적인 프로그래밍 실행 그 자체에 관한 것이다. 이 책에서 여러분은 고도의 정신으로 만들어진 XP의 이상을 실제, 그리고 현실적으로 만들어 주는 수많은 기법들을 발견할 수 있을 것이다. ..... XP Installed는 XP를 해보고, 이해하고, 확장한 사람들로부터 나온 것이다.

< 월간 마이크로 소프트웨어 중
'개발자가 놓치지 말아야 할 베스트 10 선정도서' 추천사에서 김창준 >

XPI는 론 제프리와 다른 두 명의 공저자(Ann Anderson, Chet Hendrickson)가 소위 C3 프로젝트(크라이슬러사의 봉급 지급 시스템 구축)라는 실전 경험을 통해 얻은 지식을 구체적인 '어떻게'와 함께 제시하고 있다. 사실 이 책은 4년에 걸친 대규모 프로젝트에서 당면했던 문제들을 하나씩 해결해 나간 그들의 비망록이기도 하다. 게다가 이 책에는 프로그래밍 단계에 적용할 수 있는 XP 원칙들이 구체적으로 소개되어 있다. 열두 개의 핵심 XP 실행법(혹은 원칙) 중에서 현장 고객(On-Site Customer)이나 주당 40시간 업무(40-Hour Week) 등은 사실 개발자들 차원에서는 어찌하기 힘든 면이 있다. 하지만, 짝 프로그래밍(Pair Programming)이라든지, 테스트 우선 디자인(Test First Design), 사정없는 리팩토링(Refactor Mercilessly), 단순한 디자인(Simple Design) 등은 개인적인 차원에서도 실행할 수 있는 것들이다. 더군다나, 이런 것들은 XP라는 전체 틀에서만이 아니고 개별적으로 적용할지라도 가시적인 효과를 볼 수 있다. '즐거운 업무, 깨끗해진 코드, 좀 더 우아한 삶'
물론, 프로젝트 차원에서 XP 도입을 고려하는 사람들에게도 이 책은 정말 요긴하다. XP 시리즈(XPE, XPI, PEP, XP in Practice, XP Explored, XP Examined, XP Applied) 중에서 현장 가이드로서는 XPI만한 것이 없다.




독자 리뷰

프로그램을 개발하는 개발자들과 관리자들 그리고 서비스를 받는 고객사이에 최상에 가까운 시스템을 얻으려면 어떠한 방법이 가장 효율적일까요?

여기 XP가 의문에 답합니다.

XP시리즈 중 입문편인 이 책은 Chaper의 제목만으로도 말하고자 내용을 쉽게 이해할 수 있게 되어 있으며, 원서와의 비교에 매끄러운 문장력을 갖춰 번역되어 있습니다. 또한 각기의 구성이 고객의 입장에서 관리자의 입장에서 그리고 개발자의 입장에서 취해야 할 여러 가지 논리와 이해를 수록했으며, 에세이를 읽듯 편한 문장은 읽는 이로 하여금 보다 쉬운 이해를 제공하고 있습니다.

각자의 권리와 의무, 그리고 예시를 제공함으로써 이해를 돕고 있으며, XP의 중요사항과 원론을 모두 담고 있는 입문서라고 볼 수 있습니다. 스토리 카드나 인수테스트, 고객과의 간단하고도 정확한 요점의 대화, 그리고 고객의 참여 이 모든 것이 함께 어울러져 빠른 시일내에 고객이 원하는 결과값을 얻고자 제안하는 개발론의 한 방법을 알기 쉽게 풀이한 책입니다.

지은이인 론과 앤 그리고 체트간의 대화와 경험담은 XP를 이해하는데 있어 보다 친근감을 느낄 수 있으며, XP에 대한 접근이 용이하게 구성되어져 있습니다. 빠르고 정확한 솔루션을 원하십니까? XP로서 그 해답을 찾을 수 있을것이라고 확신합니다.
또한 XP에 대해 충분히 설득시킬 수 있는 책이라고 생각합니다.