켄트 벡은 정말 유명한 사람입니다.
애자일 관련 서적을 읽어본 경험이 있는 사람이라면, 적어도 한번은 들어봤을 이름이거든요. 저는 제가 읽은 책의 내용을 정리하는 습관을 가지고 있는데요. 제가 책을 읽고 정리한 내용을 검색해보니 켄트 벡의 이름을 직접 언급한 책이 22권이 있었습니다. ( 물론, 제가 정리만 하지 않았지, 다른 책에서도 상당수 켄트 벡의 이름을 언급했을거라 짐작합니다. )
켄트 벡은 선구자적인 사람입니다.
<클린 코드> 시리즈의 저자인 로버트 C 마틴은 켄트 벡에 대해서 다양한 이야기를 했는데요. <클린 코더>라는 책에서는 "테스트 주도 개발"을 설명하면서 이런 말을 하고 있습니다.
세상 물정을 알게 되자 어떤 것이든 곧장 내팽개치면 안 된다는 사실을 알게 됐으며 특히 켄트 벡 같은 사람이 말할 때는 절대 그래선 안 된다는 사실도 알게 됐다.
로버트 C 마틴 <클린 코더>
특히 1996년 클라이슬러 사의 프로젝트를 수행하던 중 고안해 완성했다는 "익스트림 프로그래밍"이라는 애자일 개발 방식은 지금까지 많은 사람들이 전혀 생각하지 못했던 기발한 아이디어와 실천법으로 가득찬 방식이었습니다. 저는 켄트 벡이 쓴 <익스트림프로그래밍>을 오래전에 읽었는데요. 책을 읽는 내내 충격에서 벗어나오지 못했습니다. 제 머리로는 상상도 할 수 없는 방법을 고안해 내서 실천법으로 만들어서 책을 쓸 수 있다니요.
<프로그래머의 길 멘토에게 묻다>의 저자들은 "프레드릭 브룩스", "스티브 맥코넬", 그리고 "켄트 벡"을 동일 선상에 놓고 다음과 같이 말합니다.
이들이 쓴 책에서 얻을 수 있는 방대한 지혜는 대역폭이 더 큰 정보로도 대신할 수 없다.
개발자라면, 반드시 귀기울여 그 이야기를 들어야 할 사람이 바로 이 세 인물들이라는 말이죠.
켄트 벡은 "테스트 주도 개발"의 창시자입니다.
저는 <테스트 주도 개발>이라는 책을 두 번 읽어봤습니다. 거의 십년을 간격으로 읽었는데요. 처음 읽을 때 보다 두번째 읽을 때 더 많은 것을 이해할 수 있었습니다. 전혀 지루하지 않았고, 두번째 읽으면서도 많은 것을 깨달을 수 있었습니다. 이렇게 여러 차례 읽을 때마다 깨달음을 진보하게 하는 책을 "고전"이라고 부르는데요. 켄트 벡의 책은 소프트웨어 개발 분야의 "고전"이라 불려도 손상 없을 만큼 귀중한 깨달음을 전하고 있습니다.
<테스트 주도 개발>은 소프트웨어 코드를 작업할 때 테스트를 먼저 작성하고 코드를 작성하는 방식 즉 순서를 뒤 바꿔서 하는 것인데요. 이건, 단순히 순서를 바꾸는게 아니라 소프트웨어 개발자가 코드에 대해 어떤 사고 방식을 가지고 작업을 해야 하는지를 깨닫게 해주는 것입니다. 그래서 <테스트 주도 개발> 뒷쪽에 별첨으로 글을 쓴 마틴 파울러는 다음과 같이 이야기 했습니다.
우리가 가진 화려한 도구들에도 불구하고, 프로그래밍은 여전히 어렵다. 동시에 여러 개의 공을 공중에 띄워놓고 저글링할 때처럼 프로그래밍 할 때도 잠시만 집중을 놓치면 모든 게 무너져 버릴 것 같은 느낌을 받은 적이 많다. 테스트 주도 개발은 이런 느낌을 감소시키는 데 도움이 되고 그 결과로 신속한 느긋함을 얻게 된다.
다시 말해 공 한개로 저글링 하는 상태를 만들어 주는 방법이라는 겁니다. 우리의 사고의 복잡함을 극복하게 해주는 아주 근본적인 해결책인 것이죠.
켄트 벡을 인용하는 책들에서 켄트 벡의 말을 인용할 때 드는 느낌은, 마치 교주의 말을 인용하는 신도들의 모습같습니다. 켄트 벡은 XP 개발방식과 다수의 극단적(extream)으로 뛰어난 실천법을 이 세상에 전파한 IT업계의 선지자 인것입니다.
켄트 벡의 가르침은 깨달음을 선사합니다.
마지막으로 켄트 벡의 가르침은 깨달음을 선사합니다. 저는 켄트벡의 책 중 <테스트 주도 개발>, <켄트 벡의 구현 패턴> 그리고 <익스트림 프로그래밍>을 읽었습니다. 책마다 깨달음의 경구가 아주 쉬운 단어들로 나열되어 있었는데요. 읽을 때마다 놀라운 깨달음을 주는 이야기들입니다.
그리고, <켄트 벡의 Tidy First>역시 그런 깨달음을 제공해주는 책이더군요. 비록 다른 책들에 비해 상당히 짧은 분량이긴 하지만, 깨달음의 분량은 다른 책 50권 100권에 맞먹지 않을까 싶습니다. 정말 가장 중요한 걸, 너무 평범한 이야기로 풀어내고 있어서, 당황스럽습니다.
저는 책을 읽으면 표시를 해 뒀다가 블로그에 표시한 내용을 타이핑 한다음 책에 대한 리뷰를 쓰는 루틴을 가지고 있습니다. 하지만 아주 가끔 책을 아주 천천히 읽고, 타이핑도 아주 천천히 할 때가 있습니다. 너무 빨리 읽어버리면, 그 책에서 전달해주는 고결한 깨달음을 많이 놓칠것 같고, 너무 빨리 정리하고 넘어가면, 뇌리에서 그 책의 가르침의 여운이 빨리 사라지게 될 것 같아서 입니다. <켄트 벡의 Tidy First>가 바로 그런 책이었습니다. 분량이 너무 아쉬운 정도라서, 읽기는 금방 읽어버렸지만, 정리하는 건 좀 오래 가끔 책을 열고 타이핑 해보려 합니다.
그래서, 이번만큼은 루틴을 깨고, 책을 읽은 다음 정리를 몇장 하지 않고, 바로 리뷰를 쓰기 시작했습니다.
그만큼 이 책은 중요한 책이라 생각합니다. 개발자라면 꼭, 읽어보고 켄트 벡의 깨달음을 전달 받으면 좋겠습니다.
"한빛미디어의 도서 지원을 받아 작성한 리뷰입니다"