[독후감]Extreme Programming – 켄트 벡

최범균님의 추천으로 Extreme Programming 책을 처음 접하게 되었다.

전부터 계속 Agile 방법론에 대해 궁금해하고 있던 찰나에 만나게 된 단비같은

책이다.

extreme programming

책을 읽기 시작한 후 부터는 손에서 놓을 수 없을 정도로 강한 흡입력을 보여준 책이다.

특히나 개인적으로 인상깊었던 부분은, XP 기본 실천방법 중 “짝 프로그래밍“과

10분빌드“의 조합이다.

둘이서 짝 프로그래밍을 하고 10분동안 전체시스템을 빌드하고 모든 테스트를 돌리는

그 10분이라는 시간동안 번갈아가면서 작업했던 내용들을 서로 대화하는 가운데

복기하고, 그 속에 서로 상대방에게 배우면서 성장해가는 모습을 머릿속에 그려보는 것은

생각만으로도 굉장히 매력적이고 유쾌한 일이었다.

물론, 서로간의 열정이 비슷하고 짝 프로그래밍을 하는데 부담을 느끼지 않아야 한다는

전제조건이 있어야 하겠지만 말이다.

짝 프로그래밍“을 한번도 경험해보지 않은 나로서도 처음엔 당연히 거부감이 있을 것

같지만, “짝 프로그래밍“에 저런 매력이 있다면 한번쯤 즐거운 마음을 가지고

도전해 보는것도 의미있는 일이 아닐까 생각해 보았다.

아니, 그런 환경을 만들고 도전해보고 싶은 마음이 이 책을 읽으면서 생겼다.

그 만큼, XP에선 “짝 프로그래밍“을 강조하고 있다는 얘기이다.

그리고 또 한가지 인상깊었던 것은 역시나 “자동화된 테스트“의 중요성이다.

이 책에선 XP의 기본적인 실천방법으로   “테스트 우선 프로그래밍“을 제시한다.

코드를 한 줄이라도 변경하기 전에 먼저 실패하는 자동화된 테스트를 작성하라는 것이다.

난 사실, TDD를 제대로 공부해 본 적도 없고 실무에서 활용한 적도 없지만

올해들어 자동화된 유닛테스트를 작성하면서 junit의 초록색막대를 보는 재미에 흠뻑

빠져있다. 그리고 유닛테스트를 작성하면 할 수록, 그것을 작성하는데 드는 시간이

결코 낭비가 아니라 내가 작성한 코드에 대한 결함을 줄이고,  이 코드가 정상적으로

돌아가리라는 믿음을 주어 점차 내 개발 프로세스의 핵심으로 자리잡고 있는 중이다.

그리고 더불어 TDD에도 관심을 가지고 공부하게 되는 계기를 만들어 주었다.

이런 가운데, XP에서 “테스트 우선 프로그래밍“의 항목을 보았을 때 절로 고개가

끄덕여지는 건 당연한 것이었다.

내가 이론적 지식이 없는 상태에서 경험으로 조금씩 체득한 것들을 XP에선 아래와 같이

테스트 우선 프로그래밍“을 했을 경우에 장점을 설명한다

  • 슬금슬금 늘어나는 범위 : 프로그램의 목적 명시화
  • 결합도와 응집성 : 결합도는 낮고 응집성은 높은 코드
  • 신뢰 : 작동하는 깨끗한 코드와 자동화된 테스트로 의도 드러내기
  • 리듬 : 테스트 – 코드 – 리팩토링 – 테스트 – 코드 -리팩토링

마지막으로, 이 책을 다 읽고 난 후의 XP의 초점을 생각해 본 내 나름대로의 결론은

결국엔 “사람“이었다.

서로 함께 앉아서 짝 프로그래밍을 하는 가운데 전체팀에서 소속감을 느끼고,

불필요한 프로세스를 줄이고 원활한 의사소통(분명하고 솔직한!)과 빠른 피드백을 통해

프로젝트를 성공적으로 이끄는 그 중심에 바로 “사람“이 있다는 것을 깨달았다.

XP에서는 아래와 같은 사람이 가치있는 직원이라고 말한다.

  • 다른 사람을 존중하는 행동을 한다.
  • 다른 사람과 잘 어울린다
  • 솔선수범한다
  • 자신이 약속한 것을 지킨다

이 책을 읽고 난 후에, 나 자신은 그 동안 얼마나 다른 “사람“을 존중하고 또 함께

성장하기 위해 무슨 노력들을 해왔는지에 대해서 반추해보는 좋은 경험이었다.

책 끝자락에 저자가 남긴 문구를 함께 공유하면 좋을 것 같아 남긴다.

“XP를 통해, 나는 스스로 존중받을 가치를 지니도록 일하고, 또 다른 사람들을 존중한다.

나는 기꺼이 최선을 다하면서 언제나 개선하려고 애쓴다.

나는 내가 자랑스럽게 생각하는 가치들을 믿으며 거기에 어울리는 행동을 한다”

광고

[독서]2013 올해 읽은 책

* 양서

  • 어떻게 살 것인가?(유시민)

* 기술관련 책

  • 트러블 슈팅이야기(사내스터디)
  • 웹 표준 Ajax DOM 스크립팅(김영보, 3/4)
  • 디자인패턴 입문
  • Head First Design Patterns
  • 켄트벡의 구현패턴
  • GoF의 디자인패턴(외부스터디)
  • 객체지향디자인패턴 입문(최범균)
  • Holub on Patterns
  • UML Distilled
  • 리팩토링 : 코드품질을 개선하는 객체지향 사고법
  • Extreme Programming

* 기술관련 문서

  • Spring Batch
  • Open_Session_In_View_Pattern

* 다음에 살 책들

  • 알고리즘 문제해결 전략(이건 고민 좀;)
  • 미래를 바꾼 아홉 가지 알고리즘
  • 코딩 호러의 이펙티브 프로그래밍
  • 허드슨을 이용한 지속적 통합
  • 소프트웨어 아키텍트가 알아야 할 97가지
  • 소프트웨어 프로그래머가 알아야 할 97가지
  • 서블릿 & JSP 자바 웹 프로그래밍 완성 : Servlet 3.0과 JSP 2.2 핵심을 꼭꼭 짚은
  • 테스트 주도 개발로 배우는 객체 지향 설계와 실천
  • 테스트 주도 개발 : 고품질 쾌속개발을 위한 TDD 실천법과 도구
  • Neo4j in Action
  • 머신러닝 인 액션
  • 쉽게 배워서 빨리 써먹는 스칼라 프로그래밍
  • 스크럼: 팀의 생산성을 극대화시키는 애자일 방법론
  • 사용자 스토리: 고객 중심의 요구사항 기법 
  • 익스트림 프로그래밍, 제2판 : 변화를 포용하라 
  • 스크럼(Scrum)과 XP
  • 레거시 코드 활용 전략

[독후감]프로그래머로 산다는 것(프로그래머의 길을 생각한다)

가끔씩 프로그래머 선배님들의 이야기가 듣고 싶어 이런 부류의 책을 사곤 한다.

내가 가고자 하는 방향에 대한 물음과, 또 그 길을 어떻게 하면 올곧게 걸어갈 수 있을지에

대한 물음에 대한 해답을 찾기위해 책을 읽는 것인지도 모르겠다.

 

내가 이 책을 읽기 전 갈구했던 가장 큰 질문은 이것이었다.

“기본기 탄탄한 프로그래머가 되기 위해선 어떻게 해야할까?”

저 질문에 포커스를 두고 책을 읽다보니, 아무래도 그 외의 내용에는 관심이

떨어지는 것이 사실이었다.

다른 내용이 좋지 않다는 말은 아니다. 내 개인적인 생각으로는

하호진님과 김성박님의 글이 가장 마음에 와 닿았다.

특히 김성박님의 글에서 “진정한 프로그래머란 무엇인가“에 대한 답으로,

내가 무엇을 만들고 싶은 프로그램이 있는가?“, 그리고 “작은 것이라도 

나만의 작품을 만들어 오픈을 하는것이 중요하다“는 말이 기억에 남는다.

한가지 아쉬운 점은, 이런 부류의 책은 저자들의 프로그래머로서 히스토리가

나오는데, 그런 히스토리가 나올 때 단순히

이렇게 해서~이렇게 노력했더니~ 결과가 이렇게 좋았다“라는 식의 내용은

독자들의 마음에 크게 와닿지 않는것 같다.

히스토리를 쓰더라도, 모든 것을 다 나열하는데 그치는 게 아니라 그 안에서 했던

내용들 중에서 독자들에게 얘기하고 싶은 구체적인 예시와 과정들을

더욱 구체적으로 썼더라면 독자들에게 간접적인 지식을 전달해주는데

효과적이지 않을까 하는 개인적인 생각이다.

그리고, 이런 부류의 책도 선배개발자분들의 지식과 경험을 살려 서두에 말했던

프로그래머로 가져야 할 기본적인 소양과 지식, 경험“에 대해서 더욱 포커스를

맞추고 책이 나온다면, 선후배 개발자들에게 더욱 사랑받는 책들이 나오리라

생각한다.

[독후감]아프니까 청춘이다

제가 양서를 선정하는 주요 기준은 보통사람들과 다르지 않게, 베스트셀러에서

저에게 맞는 책을 찾아서 봅니다.

그 중에 예전부터 눈여겨 보다가 꺼내보게 된 “아프니까 청춘이다“를 읽게 되었습니다.

주로 대학생을 포커싱해서 나온 책이지만,  직장인이 읽어도 좋을 만한 책이었습니다.

제가 눈여겨 본 사항들을 아래 적어보았습니다.

  • “내 일”을 하고 “내일”이 이끄는 삶을 살라
  • 나의 진로는 내가 즐겁게 할 수 있는 일을 하라
  • 하루에 10분이라도 나 자신을 돌아보자
  • 신문을 읽어 다양한 시각으로 세상을 바라보자
  • 지금 직장에서 나는 얼마나 성과를 낼 수 있는가에 대한 우직함도 필요
  • 혼자 놀지말고 세상속에 나를 내던져라

어떻게 보면, 자기계발서에서 흔히 보는 문구들이라고 생각할 수 있지만 독자를 진심으로

생각하는 저자의 마음은 충분히 느낄 수 있는 책이었습니다.

더불어, 이 책의 포커싱 대상인 대학생들이 읽기에는 앞으로 자신의 인생을 설계함에 있어

더없이 훌륭한 책이라 생각되었습니다.

제가 눈여겨 본 문구들 중에 제일 마음에 와 닿았던 것은,

  • “내 일”을 하고 “내일”이 이끄는 삶을 살라

저 문구입니다. 요즘 책들을 보면 자기 정체성에 대한 중요성을 말하는 책들이 많은 것

같습니다. 제가 읽으려하는 김어준 총수의 “건투를 빈다” 혹은 요즘 발간된

우석훈 박사의 “1인분 인생“도 같은 맥락의 책이라 생각됩니다.

 

하루하루 자신의 삶을 돌아보고, 자신의 목표를 따라 즐겁게 그 길을 헤쳐나간다는 것..

그것이 비록 험난한 가시밭길이라 하더라도, 이 책의 제목처럼 “자신의 열정을 토할 수

있는 청춘이라면 아픔도 당연한 것처럼” 여길 수 있는 자신으로 발전할 수 있으리라

믿습니다.

[독후감]기욤뮈소 – 천사의 부름

종이여자“를 작년에 읽고 올해 기욤뮈소의 신작 “천사의 부름“을 완독했습니다.

 

일단, 기존 작품들과 다른 점은 기욤뮈소의 작품에서 꼭 나오던 “판타지(fantasy)“가

없다는 점입니다.

책장을 넘길수록 언제 “판타지“요소가 나올까 나름 기대하면서 봤지만 에필로그까지

판타지는 끝내 나오지 않았습니다. 이번엔 철저히 리얼리티로 간거죠.

사실, 전 이게 더 좋습니다. 어느때는 너무 현실과 동떨어진 판타지가 나와서 스토리에

집중하지 못하게 하는 점이 없지 않아 있었거든요.

그리고 또 하나 다른 점은, 기존의 감성멜로중심의 전개에서 이번 작품에는

스릴러“요소를 추가했다는 것입니다. 그리고 이 “스릴러“의 요소는 이 작품을

긴장감있고 흥미진진하게 만드는데 결정적인 역할을 하게 됩니다.

기욤뮈소의 작품에서 이 “스릴러“요소로 사람을 죽이는 부분이 나온다면 더 이상

말할 필요가 없는거죠.

 

다른 점만 있는 건 아닙니다. 주제 자체는 역시나 “감성멜로“였고, 결말도 또한

해피엔딩“이었습니다.

그리고, 기욤뮈소의 작품에서 빼놓을 수 없는 중요한 부분 한가지!

바로 “주변에 대한 객관적이고도 세밀한 묘사“입니다.

사람 뿐만 아니라 이야기를 끌어가는 내내 등장하는 동물, 장소, 음식, 사물등

기욤뮈소만의 세밀한 묘사로 그려가는 이야기를 보는 것은 눈이 굉장히

즐거워지는 일입니다. 더군다나 작품에 등장하는 장소를 실제로 가서 보고

확인한다면 이 책을 다 읽고 난 뒤의 남는 그 진한 감정의 여운은 아마

쉽사리 잊혀지지 않고 오랫동안 마음 속에 간직되어 있을 것입니다.

 

이제 “여보고마워“, “천사의 부름” 같은 가벼운 책을 읽었으니 다시 무거운

주제의 책으로 돌아갈까 합니다.

다음에는 또 어떤 모습의 책으로 우리를 만나게 될지…

기욤뮈소“는 제가 참으로 좋아하는 멜로작가 중 한명입니다^^

 

ps. 그리고 “천사의 부름“이란 어떤 뜻인지 궁금하시죠???

그건 바로 “운명“이라는 뜻이라고 하네요~!

그리고 마지막 에필로그에 나오는 구절을 잊을 수가 없네요…

인생의 가장 아름다운 날들은 우리가 아직 살지 않은 날들이다

[독후감]여보 고마워

그 동안 너무 딱딱한 책만 읽어서 그런지 잠시동안 가벼운 책을 읽기로 하고 고른 책이

친정엄마“를 쓴 고혜정 작가의 “여보 고마워“이다.

 

 

이제 결혼 9월차인 나로선, 저자가 겪은 다양한 부부인생스토리를 깊이 있게 공감하긴

어려웠지만,  읽는 도중 간혹가다 치밀어오르는 울컥함과 짠함이 있었고 또한 결혼 후에

겪게되는

  • 배우자와 맞춰나가는 과정.
  • 시부모와의 마찰
  • 자식을 키우는 과정에서의 애환
  • 그리고 남편과 사별후의 저자의 이야기 등

 

다양한 이야기를 맛깔나게 풀어내고 있다.  아직 속깊은 저자의 이야기가 피부에 와

닿으려면 결혼 10년차 정도는 되야 하지 않을까 싶다.

 

아직은 초보 신랑이라고만 해두자 ㅎㅎ

 

 

 

[독서]2012 올해 읽어야 할 기술서적 목록

올해는 기술서적 10권 완독을 목표로 하고 있다.

1월이 지나고 2월 첫날… 아직도 “ppk 스크립트”에서 제자리… 분발하자!!

* 읽어볼만한 기술서적 리스트

  • 클린코드(필독!!)
  • 실용주의 프로그래머(필독!!)
  • 토비의 스프링3(필독!!)
  • Effective java
  • ppk 자바스크립트 + DOM 스크립트 + 자바스크립트 핵심 가이드, 프로 자바스크립트
  • 자바스크립트 코딩기법과 핵심패턴
  • 헤드 퍼스트 디자인 패턴
  • Java언어로 배우는 리팩토링 + 리팩토링(마틴파울러, 켄트백)
  • JUnit in Action: 단위 테스트의 모든 것
  • UML Distilled : 표준 객체 모델링 언어 입문(3/E) + UML 실전에서는 이것만 쓴다
  • Writing Effective Use Cases
  • GoF 디자인패턴 + Head First Design Patterns
  • 소프트웨어개발의 지혜 : 원칙,디자인패턴,실천방법
  • J2EE 설계와 개발(4장이 핵심)
  • 구현패턴(켄트백)
  • jquery in action
  • ubuntu linux toolbox