book.jayu.org
eXtreme Programming Installed XP 도입을 위한 실전 입문

eXtreme Programming Installed XP 도입을 위한 실전 입문

론 제프리즈, 앤 앤더슨, 체트 핸드릭슨 (지은이), 박현철, 박성희, 이경원, 류미경 (옮긴이)

인사이트·2004-01-26

  • 기술과학
  • KDC 005.3

로그인하면 내 서재에 추가할 수 있어요.

책 소개

소프트웨어를 만드는 일은 어렵다. 개발을 시작하려고 하면 어떠한 과정을 거쳐 무슨 일을 해야 하는가 막막하게 된다. 그래서 관리자들은 누가, 언제, 무엇을 만들어 내는가를 설명해 놓은 방법론이라는 것에 의지하게 된다. 이 방법론이라는 것들은 관리적인 측면을 강조한 것이 대부분이라 어떠한 산출물을 언제 만들라는 것 정도만을 규정하고 있다. 문제는 이러한 방법론들에는 ‘어떻게’에 대한 부분이 빠져 있다는 것이다. eXtreme Programming은 바로 이 '어떻게'라는 측면을 강조한 소프트웨어 개발 방법론이다. - 요청된 작업을 수행하고 기대에 부응하는 소프트웨어 - 완성까지의 시간과 개발 비용에 대한 정확한 추정 - 이번 배포에 포함시킬 기능과 뒤로 미룰 기능을 결정하는 기회 - 지속적인 고객의 피드백을 얻게 해주는 빈번한 작은 배포 - 명확한 코드와 강력한 성능을 보장하는 지속적인 통합과 자동화된 테스트 위에 나열한 것들이 불분명하고 빠르게 변화하는 요구사항에 직면하고 있는 소규모 팀을 위한 소프트웨어 개발 접근법인 익스트림 프로그래밍(XP)의 수많은 이점 중 몇 가지이다. "익스트림"이란 명칭에도 불구하고 XP는 실질적으로 많은 위험을 감소시켜준다. 즉, 결점을 가질 위험, 배포 시에 이미 유행이 지나버릴 위험, 예산 초과의 위험은 물론 목적한 작업도 제대로 수행하지 못하는 소프트웨어를 구축하는 위험 등을 말한다. 초기에는 급진적이라고 여겨졌던 XP는 그 자체가 성공적이라는 것이 입증되어 이제는 소프트웨어 개발의 주류에 입문하고 있다. 이제 소프트웨어 개발 관리자와 엔지니어가 현재 직면하고 있는 가장 큰 문제는 이렇게 유익한 접근법을 어떻게 구현하는가이다. Extreme programming installed는 익스트림 프로그래밍의 핵심 원리와 XP 개발주기의 각 단계별 세부사항을 설명하고 있다. 이 책은 XP 방법론의 본질을 담고 있다. 그 본질이란 구현을 위한 기법과 부딪힐 확률이 높은 장애물, 그리고 성공적인 실행을 위한 경험에 기반한 조언 등이다. 여러분은 이 책을 통해 다음에 열거한 것과 같은 최적의 접근법을 배우게 될 것이다: - 현장 고객과 일하기 - 사용자"스토리"를 가지고 요구사항 정의 - 각 스토리에 대한 시간과 비용 추정 - 빈번하고 작은 배포 실행 - 지속적인 통합과 빈번한 반복 수행 - 프로그래머가 자신감을 가지고 진행하도록 도와주는 설계 세션 운영 - xUnit 자동화 테스트 - 빠른 속도와 팀 중심의 XP 환경에서의 결함 처리 - 빈번한 변화를 통한 추정 정제와 개발 작업 조정 이 책의 저자들은 익스트림 프로그래밍을 처음부터 끝까지 경험해 본 사람들의 의견을 설명하고 있다. 독자는 추정 요령, 개발 인프라 관리, 누가 잘못했는지를 따지지 않는 방식의 문제 해결, 단순성이 주는 중요성, 그리고 아무것도 존재하지 않는 환경에 현대 개발 도구를 도입하는 방법과 같은 주제에 대해, 쉽게 얻기 어려운 지식을 저자의 직접적인 설명으로 들을 수 있다. 책이 출간된 지 거의 2년이 지났습니다. 저는 이 새로운 서문에 그간의 시각을 추가할 수 있는 기회를 갖게 된 것을 기쁘게 생각합니다. 책이 나오고 나서 제가 배운 것은 XP의 법칙과 실천사항(practices)에 관한 것들입니다. 우리가 이 책을 썼을 때, XP를 하기 위해서는 실천사항들을 정확히 행하는 것이 중요하다고 생각했습니다. ........ XP 실천사항들을 그 순수하고 "익스트림"한 형태로 시도해 주기 바랍니다. 쓰인 대로 그것들을 완전히 마스터했을 때에, XP가 당신에게 무얼 제공해 줄 수 있는지 배웠을 것이고, 단순한 법칙을 넘어서서 형(形)을 깨트리고, 자신만의 형을 창조할 준비가 될 겁니다. 시작점에서 출발하고, 기본을 마스터하는 것이 최선입니다. 그러고 나서 그것들을 넘어서야죠. 여러분들이 익스트림 프로그래밍을 즐기길 바랍니다. 시험 삼아서 한번 해보면 그것이 유용하다는 것을 알게되리라 확신합니다. eXtreme Programming Installed는 급진적인 프로그래밍 실행 그 자체에 관한 것이다. 이 책에서 여러분은 고도의 정신으로 만들어진 XP의 이상을 실제, 그리고 현실적으로 만들어 주는 수많은 기법들을 발견할 수 있을 것이다. ..... XP Installed는 XP를 해보고, 이해하고, 확장한 사람들로부터 나온 것이다. XP란 무엇인가? 이 XP는 ‘레드몬드에 있는 회사’(마이크로소프트를 지칭함)와는 별 관련이 없고, 애자일 메소돌로지(Agile Methodology, 민첩한 방법론 정도로 직역할 수 있다)의 하나로 최근 프로그램 개발 방법론 중에서 가장 주목받고 있는 다크호스다. 경제지 이코노미스트에도 특별기사가 실리고, 방법론 관련 컨퍼런스나 세미나에서 XP가 언급되지 않는다면 이상할 정도다. XP의 기본 원리는 간단하다. 뭔가 좋은 것이 있다면 극한까지 실행해 보자는 것이다. 테스팅이 좋다면 모든 사람이 늘 테스팅을 하는 것이고, 디자인이 좋은 것이라면 모든 사람이 그걸 날마다 하도록 만든다는 식이다. 익스트림 프로그래밍이라는 이름에서 풍기는 고위험성(익스트림 스포츠와 해커를 연상케 한다)과는 반대로 오히려 위험도를 상당히 낮추는 방법론이다. 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만한 것이 없다.

목차펼치기

원저자 론 제프리즈(Ron Jeffries) 서문 켄트 벡(Kent Beck)의 추천사 Chapter 1 익스트림 프로그래밍 Chapter 2 삶의 순환 법칙 Chapter 3 현장 고객 Chapter 4 사용자 스토리 Chapter 5 인수 테스트 Sidebar 인수 테스트 예제 Chapter 6 스토리 추정 쉬어가기 성취감 Chapter 7 작은 배포 Chapter 8 고객이 배포를 결정한다 Chapter 9 반복 계획 수립 Chapter 10 신속한 설계 회의 Chapter 11 프로그램 작성 Sidebar 코드 품질 Chapter 12 페어 Chapter 13 단위 테스트 Sidebar xUnit Chapter 14 의도적으로 테스트 먼저 Chapter 15 변경사항 배포 Chapter 16 하느냐 마느냐 Chapter 17 경험이 추정을 향상시킨다 Chapter 18 자원, 범위, 품질, 시간 Chapter 19 조정 Chapter 20 반복 조정 Chapter 21 배포 조정 Chapter 22 결함 처리 Sidebar 고급 이슈 결함 데이터베이스 Sidebar 고급 실천사항 데이터베이스로서의 테스트 Chapter 23 결론 Chapter 24 해보겠습니다 Chapter 25 일반적인 추정법 Chapter 26 인프라스트럭처 Chapter 27 체트의 잘못이야 Chapter 28 희망과 두려움의 균형 잡기 Chapter 29 테스트는 코드를 향상시킨다 Chapter 30 엑스퍼의 자바 시도 Chapter 31 자바의 관점 Chapter 32 실화 Chapter 33 추정과 약속 Chapter 34 잘못될 수 있는 모든 것 Appendix 론 제프리즈와의 인터뷰 "함께 하는 사람들에게 가치를 돌려주어야 한다." 찾아보기 용어 대역표

출처: 국립중앙도서관 서지정보

리뷰 남기기

로그인하면 리뷰를 남길 수 있어요.

리뷰 0개

아직 리뷰가 없어요.