책을읽자!!/읽었어

<익스트림 프로그래밍> 리뷰

achivenKakao 2010. 8. 18. 02:15

1. 도서 정보
<익스트림 프로그래밍> /켄트 백, 신시아 안드레스 지음/ 김창준, 정지호 옮김 / 2010. 3. ?? ~ 2010 7. ??

2. 줄거리(요약)
 먼저 XP가 뭔지 느낌이라도 알아야 쉬울 것이라 생각된다. 역자인 김창준씨가 생각하는 XP를 들어보자.

 익스트림 프로그래밍(XP)은 최근 개발방법론 중에서 급부상하고 있는 애자일 소프트웨어 개발론(Agile Software Development)의 하나로, 단순성, 상호소통, 피드백, 용기 등의 원칙에 기반해서 "고객에게 최고의 가치를 가장 빨리" 전달하도록 하는 경량 방법론이다. 요구사항 등의 변화가 자주, 많이 있거나 개발자가 소규모(10명 내외)이고 같은 공간을 사용하는 경우에 높은 효과를 볼 수 있다고 알려져 있고, 다른 규모나 원거리 XP 등의 적용이 꾸준히 시도되고 있다. --김창준 - http://xper.org/wiki/xp/WhatIsXp

책에서는 XP는, 과거에는 잘 통했지만 지금은 일을 최고로 잘 하려고 하는데 방해가 될 뿐인 습관과 양식들을 버리는 것에 대한 이야기다. 라고 되어 있다. 여기서 잘 눈여겨 봐야 할 것은 습관과 양식을 버린다는 것이다. 즉, 생활양식이 바뀌는 것이다. 일을 처리 하는 절차뿐만이 아니라 문화가 바뀐다는 것에 주목해야 할 것이다. 사실 그렇기 때문에 하향식 XP는 상대적으로 수월하지만, 상향식 XP는 좀 버거운 감이 없지 않아 있다고 생각된다.

그리고 책은 XP가 추구하는 가치가 무엇인지, 그리고 무엇을 하면 좀 더 수월한 프로젝트를 진행 할 수 있는지, 어떻게 하면 XP를 시작할 수 있는지에 대하여 소개 하고 있다.

마지막으로는 XP의 적용 사례도 포함하고 있다.


3. 밑줄(중요부분, 기억나는 부분 추출)

p 23
 XP는, 과거에는 잘 통했지만 지금은 일을 최고로 잘 하려고 하는데 방해가 될 뿐인 습관과 양식들을 버리는 것에 대한 이야기다.

p27
 문제가 있을 경우 문제를 노출 시키면 더 빨리 해결이 된다.

p31
 XP는 팀 전체가 공유하는 목표에 내가 얼마나 기여했는지를 잣대로 자신을 평가하는 것이다.

p39
 가치가 실천방법에 목적을 부여 하듯, 실천방법은 가치에 책임을 부여한다.
 이 말은 가치가 보편적, 결과에 대한 만족이라면, 실천방법은 가치를 만들기 위한 하나의 방법이며, 이것은 가치 창출을 위하여 다양하게 변화가 가능 하다는 말이다.

p74
 나는 함께 앉을 자리를 하나 마련하라고 제안했다.

p76
 한 번에 두가지 프로젝트를 하는 것은 집중도와 정체성을 무너 뜨린다.

p77
 프로젝트에 관심이 있는 관찰자라면 누구든지 팀이 사용하는 공간에 들어와서 15초 안에 프로젝트가 어떻게 진행되는지 대략 감을 잡을 수 있어야 한다.

p83
 일찍 추정하기

p85
 스토리들이 완성되었을 경우 통과할 자동화 테스트들을 작성하는 것으로 한 주를 시작하라.

p88
 나는 그들의 습관적인 과잉 약속 때문에 생기는 놀라운 낭비, 즉 관리 불가능할 정도의 결함 부담, 엉망진창인 사기, 적대적인 인간관계 등을 직접관찰했다.(완전히 우리회사구만 이거,,) 약속을 지키는 것은 비록 대단한 약속이 아니었더라도 낭비를 제거해 준다.

p89
 10분 빌드

p91
 테스트 우선 프로그래밍
  결합과 응집성 - 테스트를 작성하기 쉽지 않다면, 그것은 테스트가 아니라 설계에 문제가 있다는 신호다. 결합도가 낮고 응집성이 높은 코드는 테스트하기 쉽다.
  신뢰 - 작동하지 않는 코드를 작성한 사람을 신뢰하기는 힘들다. 작동하는 깨끗한 코드를 작성하고 자동화된 테스트로 의도를 드러내면, 팀원들이 당신을 신뢰할 근거가 생긴다.

 p92
 지속적인 테스팅에서는, 마치 점진적 컴파일러가 소스코드에 변화가 생길 때 마다 돌아가듯 프로그램에 변화가 생길 때마다 테스트들이 돌아간다. 테스트 실패는 컴파일러 에러와 동일한 형식으로 보고된다. 지속적인 테스팅은 에러를 발견하는 데 소요하는 시간을 줄임으로써 에러는 고치는 데 걸리는 시간을 줄인다.

p 155
 XP에서 테스트의 즉각성은 테스트가 반드시 자동화되어야 한다는 점을 역시 의미한다. 테스트 자체가 스트레스가 되면 안되고, 스트레스가 다시 실수를 만들어 다시 스트레스가 쌓이지 않게 하기 위해서다.

5. 감상

  김창준씨가 추천하는 XP 방법론의 철학과 개론 책이다.(절대로 이 분이 저자라서 추천하는 건 아니고, 우리나라 애자일의 몇 없는 간판 스타이자 전도사이다) 그만큼 책은 잘 쓰여져 있다. 개론과 간단한 방법 소개, 그리고 사례까지 잘 짜여졌고 실용서를 보기 전에 보기에는 더 할 나이 없이 좋은 책이다.

추천 사이트 : http://xper.org/wiki/xp/
애자일 구글 그룹스 : http://groups.google.com/group/xper?hl=ko

5. 실천목록
  책에 적혀 있는 각종 방법론을 적용해본다.
  1. 자동화 테스트
  2. 문제점 노출 시키기
  3. 리펙토링
  4. 짝 프로그래밍
  5. 위치 설치 후 활용

6. 이 책으로 인하여 더 읽고 싶은 책
  김창준씨가 추천해준 책 목록으로 대신한다.

사용자 삽입 이미지


7. 실천 목록을 실천한다.
  추후 업데이트