메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

The Nature of Software Development

간결하게, 가치 있게, 하나씩 완성하기

한빛미디어

번역서

절판

  • 저자 : 론 제프리스
  • 번역 : 이기곤
  • 출간 : 2016-12-31
  • 페이지 : 192 쪽
  • ISBN : 9788968484650
  • eISBN : 9788968483240
  • 물류코드 :2465
  • 초급 초중급 중급 중고급 고급
4.2점 (5명)
좋아요 : 46

올바르게 소프트웨어를 개발하기 위한 안내서

 

소프트웨어 개발은 어렵습니다. 프로젝트가 항상 원하는 방향으로 흘러가지는 않습니다. 곳곳에 함정이 있고 때때로 길을 잃어버립니다. 그러나 언제나 길은 있습니다. 이 책은 바로 그 길을 이야기합니다. 방법은 매우 간단합니다. 하지만 쉽지는 않습니다. “그렇구나” 하고 넘어가면 안 됩니다. 스스로 깊이 생각해봐야 합니다. 이 책이 소프트웨어를 개발하는 본질적인 방법을 위한 나침반이 될 것입니다.

 

 

 

aa.png

 

론 제프리스 저자

론 제프리스

익스트림 프로그래밍 창시자 중 한 명. 『Extreme Programming Installed』와 『Extreme Programming Adventures in C#』의 저자며, 애자일 선언문(Agile Manifesto) 작성에 참여하였다.

이기곤 역자

이기곤

멀티미디어와 게임 업계에서 5년 넘게 C/C++ 개발자로 활동하고 있다. 한편으로는 개발의 본질적 가치와 의미를 찾기 위해 고민하고, 그 과정을 책으로 옮기며 살아간다.

저서로 『FFmpeg 라이브러리』, 역서로 『The Nature of Software Development』, 『도커 오케스트레이션』, 『Docker로 PaaS 구성하기』(이상, 한빛미디어)가 있다.

PART 1 가치를 이루는 것들

__1 가치 찾기 

__2 가치, 우리가 원하는 것 

__3 피처 단위 개발을 위한 가이드라인 

__4 피처 단위로 조직 구성하기 

__5 피처 단위로 계획하기 

__6 피처 단위로 개발하기 

__7 피처와 기반을 동시에 

__8 무결점과 견고한 설계 

__9 요약 

 

PART 2 메모와 에세이

__10 가치에 대해서 

__11 가치를 정하는 기준 

__12 물론 힘든 일입니다 

__13 그리 단순하지 않습니다 

__14 성장하는 개발팀 만들기 

__15 초기 계획을 위한 ‘파이브 카드’

__16 경영진을 위한 소프트웨어 개발의 본질 

__17 더 강한 채찍질 

__18 속도를 내기 위한, 특별한 빌드 기술 

__19 리팩토링 

__20 애자일 방법들 

__21 애자일 확장 

__22 결론 

 

찾아보기

애자일 선언문, 익스트림 프로그래밍 참여, 개발 경력 50년

‘소프트웨어 개발’이라는 산을 수도 없이 오르내린, 론 제프리스가 들려주는 이야기 

 

이 책은 1부와 2부로 구성됩니다. 1부에서는 피처 기반의 개발 방법을 주로 설명합니다. ‘가치’를 이야기한 부분은 조금 식상하다고 느낄 수 있으나 피처 개발 방법을 이해하는 데 밑거름이 될 것입니다. 2부에서는 다양한 질문에 대한 저자의 조언이 담겨 있습니다. 2부야말로 저자의 오랜 경험이 녹아 있는 부분입니다. 쉽게 풀어 쓴 글이지만 담겨 있는 내용은 결코 얕지 않습니다. 이 책에 담긴 저자의 조언을 바탕으로 자신만의 방법을 찾아보세요.

 

 

“이 책은 소프트웨어 개발이라는 복잡한 활동 속에서 본질적인 간결함을 찾으려는 하나의 시도입니다. 저에게 몇 가지 좋은 아이디어가 있습니다. 기껏해야 꼬인 길을 조금 풀어주는 정도지만 이 아이디어를 활용해보시기 바랍니다. 그리고 이 아이디어로, 모든 혼란 속에서 자신이 생각하는 본질적인 간결함을 찾아보세요. 행운을 빕니다!” - ‘시작하는 말’ 중에서

 

 

이 책의 대상 독자

- 프로젝트를 성공으로 이끌고 싶은 이

- 소프트웨어 개발이 너무 복잡해 도무지 모르겠다고 생각하는 이

- 소프트웨어 개발에 깊이 고민해보고 싶은 이

 

소프트웨어 개발 과정은 매우 복잡합니다.

그러나 성공한 소프트웨어 개발이란, 본연의 `가치`를 추구할 때 단순화되며 비로소 이루어질 수 있음을 이 책을 통해 깨닫게 되었습니다.

 

도서명은 국문이 아닌 원서 그대로 `The Nature of Software Development`로 출간되었으나, 이 책의 제목을 `소프트웨어 개발의 본질'이라 부를 수도 있을 겁니다.

이 책은 소프트웨어 개발 프로세스를 최대한 활용하고자 하는 모든 사람들을 대상으로 하고 있습니다.

숙련된 개발자라면 흥미있을 법한 주제이지만, 소프트웨어 팀장 또는 관리자가 가장 많은 도움을 얻을 수 있을 것입니다.

 

저자 Ron Jeffries는 소프트웨어 작성에 관해 생각할 수 있는 간단하지만, 반드시 필요한 방법들을 제시하고 있습니다. 일과 팀을 조직하는 방법을 중심으로 서술하고 있습니다. 최근에 많은 애자일 방법론들이 논의되고 있겟지만, 15여년 전 애자일 선언문 (Agile Manifesto)으로 돌아가 본질적인 가치에 대해 주장하고 있습니다.

 

그가 말한 효과적인 소프트웨어 개발을 위한 7 가지 핵심 아이디어는 아래와 같습니다.

 

 

1.  가치에 초점을 두고 시작하고 끝낸다. :  우리가 제품에서 정말로 원하는 것. 가치있는 것에 대해 생각하고, 무엇이 더 중요하고 무엇이 그렇게 중요하지 않은지에 대해 생각한다.

 

2. '기능'이라고 불리는 작은 가치를 가진 제품을 만든다 :  가치 창출을 책임지는 팀을 구성한다. 우리는 그들이 무엇이 필요한지 그리고 얼마나 많은 시간을 사용할 수 있는지를 이해하는지 확인합니다. 우리는 스케줄과 약속을 검토하는 것이 아니라 실제로 구축 한 것을 관찰함으로써 업무를 안내한다.

 

3. 필요한 기능을 중심으로 팀을 구성한다 : 기능을 중심으로 할 때, 신속하게 가치를 계획하고 구축 할 수 있다. 선량한 사람들과 함께 조직하고 기술을 습득하도록 도와줌으로써 업무를 효율적이고 효과적으로 수행 할 수 있다.

 

4. 기능 측면에서 계획한다 : 팀을 배치하고 기능을 염두에두고 다음에 수행 할 기능과 연기할 기능을 선택하여 프로젝트를 조정한다. 먼저 높은 가치가 있는 것을 시작한다.

 

5. 기능 면에서 구축한다 : 필요로하는 아키텍처 및 인프라를 포함한 기능을 기반으로 구축한다.

 

6. 기능을 가장 작은 단위로 분할한다 : 우선 순위와 가치가 제일 높은 부분을 가능한 한 빨리 제작한 다음,  마감일까지 제품을 향상시킵니다. 최고의 가치를 우선적으로 구축하기 때문에 항상 최상의 제품을 내보낼 준비가 되어 있어야 한다.

 

7. 매일 품질을 향상 시킨다 : 가능한 한 무결점에 가깝도록 항상 필요한 모든 것을 적용한다. 지속 가능하고 지속적으로 가치를 끊임없이 구축한다.

 

이처럼 본 도서는`본질로 돌아가자`, 본질주의(Essentialism)적인 강한 메시지를 가지고 있지만, 얇은 책인 만큼 초보자가 읽어도 내용이 부담스럽지 않습니다. 삽화가 곁들어져 있어 내용을 이해하는데 많은 도움을 줍니다. 

 

전반적으로 우리가 소프트웨어를 작성하는 이유에 대한 중요한 부분을 바로 잡아주고 효과적인 방식으로 소프트웨어를 만들기 위해 조직과 업무를 다루는 방법에 대한 청사진과 가이드를 제시하는 계몽적인 도서입니다. 


이 책을 통해 소프트웨어 프로젝트 관리를 위한 생각의 작은 프레임 워크을 가질 수 있을 것 입니다.

 

 

 


전에 일하던 스타트업에서 애자일-스크럼을 도입한 적이 있다. 3–4명의 소규모일때는 각자의 방식대로 일하다가 팀원이 10명 가까이 늘어나면서 하나의 제품을 통일성 있게 개발하고 관리하기 위함이었다.

애자일-스크럼의 장점은 진입장벽이 낮다는 점이다. 애자일 선언문을 한 번 읽어보고, 스크럼의 방법 및 원칙 몇가지를 숙지하면 당장이라도 시작할 수 있다. 이와 관련된 책만 해도 수십권이 넘어가지만, 대충 둘러봐도 다들 비슷한 내용인 듯 싶다. 당시 우리팀도 약간의 문서를 읽고 몇 번의 회의를 통해 배포 주기, 일정 관리 도구 등의 세부 사항을 확정한 뒤 바로 실행에 돌입했다.

애자일-스크럼의 단점은 탈출장벽(?) 또한 낮다는 점이다. 워낙에 간결한 방법론이다보니 현실 세계에서 벌어지는 수 많은 난관을 어떻게 헤쳐 나가야 하는지 알려주지 않는다. 점점 발언권이 센 누군가의 의견이 강하게 반영되면서 어느샌가 ‘이건 애자일이 아니야…’라는 생각이 모두의 마음 속에 자리잡게 된다.

현실의 난관에는 많은 것들이 있지만 대체로 아래와 같이 공통적인 범주 안에 있을 것이다.

왜 이렇게 개발이 느려요?
이 기능은 한 번의 스프린트(개발 주기) 안에는 못끝내요.
(스프린트 도중) 비즈니스에 갑자기 필요해졌으니 이 기능 먼저 당장 만들어야해요.
지금 코드 상태가 너무 엉망이에요. 이번 스프린트에는 리팩토링에 집중할게요.

당시에는 이런 문제들에 대해서 어떻게 대처해야 하는지 잘 몰랐고, 그렇게 애자일에서 멀어지면서 ‘원래 애자일이 쉬운게 아니야.’ 란 생각만 굳게 되었다.

그 때 이 책과 함께였으면 어땠을까라는 생각이 든다. 새롭게 애자일한 개발방식을 적용하려고 하는 모든 사람들이 다 같이 이 책을 읽고 어려운 일이 있을 때마다 같은 방향으로 해결책을 모색했다면 더 나은 개발문화가 정착되지 않았을까 하는 생각이 들었다.

이 책은 크게 1부와 2부로 나뉘어져서 1부는 애자일의 기본 원칙을 설명하고 2부에서는 좀 더 각론으로 들어가 위에서처럼 마주칠 수 있는 어려움들을 어떻게 해결할 수 있을지 부연해준다.

1부는 여차 애자일 서적, 자료들과 크게 다를 바 없는 내용이다. 다만 책의 저자가 애자일 선언문 작성자 중 한명이며 애자일 철학을 구체화시킨 Extreme Programming의 창시자라는 점을 상기한다면 더욱 신뢰감있게 다가오는 것이 사실이다.

하지만 이 책의 백미는 2부에 있다. 경영진, 제품 책임자, 개발자 모두에게 생길 수 있는 의문들에 대해 대답해준다. 적어도 모든 팀원들이 이 책을 읽었다면, 최소한 같은 방향을 바라보며 해결책을 구상할 수 있을 것이다. 그리고 위의 문제들에 대해서 이렇게 대처하지 않았을까.

왜 이렇게 개발이 느려요?

=> 처음엔 느려보여도 나중에 테스트, 버그 수정할 시간을 지금 쓴거에요. 일단 당장 배포 가능한 제품이잖아요.

이 기능은 한 번의 스프린트(개발 주기) 안에는 못끝내요.

=> 그럼 한 번에 끝낼 수 있는 분량으로 쪼개보고 그 중 가장 중요한 것 부터 만들자.

(스프린트 도중) 비즈니스에 갑자기 필요해졌으니 이 기능 먼저 당장 만들어야 해요.

=> 지금 만드는게 현재 가장 중요한 기능이에요. 그것보다 중요한게 확실한지 다시 한번 판단해 볼 필요가 있어요.

지금 코드 상태가 너무 엉망이에요. 이번 스프린트에는 리팩토링에 집중할게요.

=> 가장 중요한 기능의 아주 작은 부분이라도 동작하도록 추가하고 해당 부분에서만 리팩토링하면서 개선해야해요.

이 책에 애자일을 성공으로 이끄는 모든 것이 들어있지는 않다. 그래도 최소한 성공적인 애자일을 위해서는 테스트 주도 개발 능력이 필수적이고 제품 개발을 위해 필요한 핵심 기술이 모두 한 팀에 있어야 하며, 무엇보다 제품 개발의 가치를 모든 팀원들이 공유하고 있어야 한다는 점은 확실하게 알게 되었다.

 책 제목이 무려 다. 소프트웨어 개발의 본질이라고 번역할 수 있겠는데, 185 페이지의 얇은 분량에 본질을 담았다니 안 읽어 볼 수가 없다. 책 커버를 벗겨보면 안에 빨간 책표지가 나오는데, 제일 중요한 건 가장 앞에 나온다는 말을 충실히 지키기 위해서 인지 커버와 표지에 이 책의 가장 큰 핵심인 VALUE(가치)가 가장 높이 빛나고 있다.
 
 저자인 론 제프리스도 참여한 애자일 소프트웨어 개발 선언문과 책 내용은 큰 흐름을 같이 하는데, 책을 읽은 후에 같이 읽으면 큰 도움이 될 것 같다. (http://agilemanifesto.org/iso/ko/manifesto.html)

  책은 가장 핵심이라고 할 수 있는 가치에 대한 이야기로 시작한다. 
 어느 정도로 가치에 집중을 하자고 이야기하냐면 아직까지 프로젝트에서 정확한 추정을 중요하게 생각하는 상황도 많이 있음에도 극단적으로 모든 프로젝트에서 추정은 논란이 많고 어긋나기 마련인데, 기본적으로 사람이 추정 능력이 형편없고 과장과 비교에 대한 욕구를 갖고 있기 때문이므로. 아예 중요도를 낮추거나 배제하고 가치에 중점을 두어야 한다고 이야기한다.

 이렇게 중요한 가치란 무엇일까?
 간결하게 말하자면 가치는 우리가 원하는 것이라 한다. 
 그 가치가 무엇이 되었든 간에 소프트웨어 결과물이 필요하다면 그 가치를 실현하기 위해서는 지금까지와는 다른 새로운 조직, 마인드가 필요한 것이다. 이후 설명하는 내용이 새로운 조직에 필요한 방법과 마인드이다.
 
 먼저 만들어야 할 제품을 피처로 구분하고, 해당 피처는 그냥 세세하다기 보다 작고 의미가 있는 피처 단위로 만들고, 이 중 가장 필요한 피처만 모아 만든 간결한 제품 MVP를 가능한 빨리 개발하는 것이 중요하다. 가장 필요한 제품만 만들어서 출시를 하는 것은, 사용자가 원하지도 않은 제품을 오랜 기간 만들어 시간과 비용을 쓰는 것도 막을 수 있고, 올바른 방향으로 진행되고 있는지도 확인이 가능하다. 린스타트업 개념으로 이야기한다면 핵심가치를 구현한 제품 MVP의 빠른 출시로 시장의 반응을 보고 그 반응에 따라 피벗을 하는 내용과 일맥상통한다고 할 수 있다.

 즉 개발하는 동안 어떤 피처를 우선으로 할지 결정해야 하고, 가장 중요한 피처를 먼저 개발해야 하는 것이다. 이뿐 아니라 모든 피처들의 진행 상항은 완료, 미완료로만 중간은 허용하지 않고 투명하게 공유되어야 한다.
 
 그리고 이제부터는 문서가 아닌 모든 것은 작동하는 소프트웨어로 이야기되어야 한다. 예를 들어 지금까지 얼마나 개발이 진행되었나 궁금하다면, "작동하는 소프트웨어를 보여주세요."라고 요구하여 진행 상황을 알아야 한다. 그렇기 위해 피처 단위로 개발을 하고, 짧은 주기로 배포가 되어야 할 것이다. 실제로 동작하는 소프트웨어가 짧은 주기로 배포된다면 역으로 우리가 원하는 게 뭔지 깨달을 수도 있게 될 것이다. 

 책은 끈질기게 항상 가치에 집중하고, 항상 계획 단계부터 가장 가치 있는 것이 무엇인지 확인하고, 요청했던 가치가 어떻게 표현됐는지 잘 살펴보라고 이야기한다. 그렇기에 개발자 뿐만 아니라 개발 조직이 있는 회사의 경영자, 기획자, 개발자 출신이 아닌 소프트웨어와 관련된 창업을 희망하는 분들도 읽는다면 큰 도움이 될 내용들이다. 
다만 저자도 이야기 한 부분이지만, 이 책에 있는 내용 대부분이 너무 함축적이기에 어느 정도 경험이 없으면 쉽게 이해하기 어렵거나, 실제 업무와 회사에서 적용할 수 있는 의사 결정자가 아니라면 마음에만 품고 있어야 하는 내용일 수밖에 없는 한계가 있다. 하지만 조금씩, 하나씩 적용해볼 수도 있을 것이고, 여러분이 결정할 수 있는 순간이 올 때 가치에 집중하는 소프트웨어의 개발의 본질을 실현할 수 있을 것이다.


 끝으로 개발자라면 특히 모든 경영진들이 읽었으면 하는 내용이라고 생각할 내용을 덧붙인다.
 프로젝트가 기대했던 것보다 느리게 진행되고 있을 때 단순히 개발팀을 압박한다면 팀은 테스트를 거르고 그만큼 많은 결함이 생기게 된다.
 만약 개발팀이 품질을 떨어트린다면 더 많은 결함이 생길 것이고 오히려 일정도 지연되어, 가치가 떨어지게 된다.


Summary

 제목은 The Nature of Software Development이지만, 책 초반에 간단하게 정의한 개발의 본질을 바탕으로 어떻게 하면 소프트웨어 개발 조직을 효율적이며 이상적으로 운영할 수 있을지에 관한 조직 운영 실천서에 가깝습니다. 내용적으로 매우 간결하며 명확한 제시가 이어지기에 애매함은 없지만 연쇄적인 구조이기에 다소 동어반복적이라고 느껴집니다. 

  회사나 팀과 같은 조직에서 일하는 개발자, 기획자, 관리자 모두가 한번쯤 읽어보길 권합니다. 특히 저처럼 팀으로 창업을 준비하거나 회사 내에서 개발팀 구성에 영향력이 있으신 분이라면 필히 여러 영감을 얻으실 수 있을거라 생각합니다.  반면  내용적으로 개인 개발자, 팀 구성에 영향력이 없으신 분께는 추천이 무색해지는 그런 책입니다.  

  외관상 에자일 이라는 단어는 없지만 책이 진행됨에 따라 에자일 용어들이 가득차게 됩니다. 그렇다고 에자일 방법론에 대해서 깊게 이야기한다던가 어떠한 구체적인 지시사항들을 전달하지는 않습니다(하지만 애매하지 않고 간결 명료합니다). 책의 제목처럼 소프트웨어 개발의 본질에 대해서 이야기하고자 하며, 에자일이 그러한 본질을 실천하기 위한 좋은 접근법이기에 그 내용에 있어 연결된다는 느낌입니다. 

 

Why

 

 

 이 책은 한빛 리더스 활동으로서 선택해 읽게된 책입니다. 여러 다른 선택할 수 있는 개발서 들이 있었지만, 본 서적을 선택한 이유는 사실 '내가 하는 일의 본질을 알고 싶다' 란 마음 때문이었습니다. 

  분명 책은 본질에 대해서 이야기는 하지만 제가 원한 개발자 개인으로서 인지해야할 본질보단 팀, 조직의 관점으로 본 본질이기에 처음 제 의도와는 조금 다른 방향으로 흘러갔습니다.   

 

undefined

 

제목보다는 뒷 표지에서 책의 내용이 더 잘 소개되어 있습니다. 

 

 

Content

 

   내용은 크게 1장과 2장으로 나뉘어, 1장에서는 개념적인 이야기를 2장에서는 이와 관련한 수필적인 내용을 담고 있습니다. 개념적인 이야기는 좋은 개발의 방향에대한 명제와 설명으로, 개발의 본질을 파악하는 것의 중요성, 이를 위한 좋은 개발 방법론, 좋은 팀 구성이란 식의 '좋은 방향'에 대한 내용들이 연쇄적으로 이어지는 형태입니다. 그렇기에 주제도 주제이며 이를 풀어가는 방법 역시 연쇄적 방법이기에 크게 새롭게 다가오지 않고 다소 동어반복적인 느낌도 듭니다.  저에게는 개인적으로 매력이었지만 독자에 따라서는 작가의 일러스트가 역으로 책의 내용이 부실하다 라는 느낌을 강조할 수도 있을 것 같습니다.

 

undefined

 

작가는 위와 같은 그림을 통해 핵심을 추려낸다곤 하지만 와닿지 않는 그림도 많았습니다. 그래도 전 친근한 느낌이라 좋았습니다

 


  2장의 수필은 앞에서 나온 개념들을 실제 대화라던가 상황들에 대입해봅니다. 그렇기에 조금 더 실용적인 사항들이 나오고 그에 따라 에자일 용어들이 빈번하게 등장합니다. 구체적은 방법 또는 지시사항들이 나열된 것은 아니지만 적어도 에자일을 적용한다는 것에 대한 오해를 해소하고 올바른 방향을 얻기에는 충분한 사례들과 내용들이라고 생각합니다. 다르게 말하면 에자일 등의 개발 방법론 등을 회사와 프로젝트에 적용하는데 있어 잘못된 방향으로 나아갈 위험을 낮출 수 있습니다. 

 "작동하는 소프트웨어를 보여주세요", '피처 단위 개발'. 좀더 구체적인 내용들이 살을 붙이지만 아마 책의 핵심은 저 두 가지가 아닐까 생가합니다. 책의 제목인 '소프트웨어 개발의 본질'은 의외로 책의 극초반부에 간결하게 정의되며 전반적으로는 이를 위한 행동법, 방향들이 저 둘을 구심점으로 하여 전개되어있습니다. 


Conclusion

소프트웨어 개발의 본질을 실천하기 위한 방법과 방향을 구체적이지는 않지만 간결하고 명료하게 전달하는 책입니다. 사실 의사결정권자이거나 하나의 조직의 구성에 영향력을 행사할 수 있는 사람이 아니라면 읽고 자신이 처해있는 상황과의 괴리 때문에 부정적인 감정이 생겨날 지도 모릅니다. 하지만 그렇다면 의사결정권자에게 이 책을 권하시길 바랍니다. 어렵지 않으며 누구나 받아들일만한 내용을 단 일말을 꼬임없이 간결하고 명료하게 전달하는 책이니 분명 좋은 변화를 만들 출발점이 될것입니다.  그리고 만약 이제 소프트웨어 창업을 준비하시거나 스타트업에서 개발을 하신다면 필히 읽으며 스스로의 현주소와 미래의 모습을 본 책과 비교해보시길 바랍니다. 저는 창업을 준비하고 창업팀 속에서 개발을 담당한 사람으로서 이 책을 읽으며 많은 부분에서 좋은 영감을 받았습니다. 이 중 몇가지는 당장 다음 회의 때 이야기해볼 것같습니다.

The Nature of Software Development

오래전에 보았던 책이나 영화를 다시 찾아 볼때면 익숙함과 새로움이 공존하는 것을 느낄 수 있다. 그시절 내가 느꼈던 감정들을 되집어 볼 수도 있고 그때 미처 보지 못했던 부분을 발견하기도 한다. 이것은 과거의 내가 책이나 영화에 집중을 하지 않았기 때문이 아니다. 내가 시간이 지나면서 변한 만큼 과거에 느끼는 것과 현재에 느끼는 것이 서로 차이가 나는 것이다. 
시간의 흐름과 함께 우리는 경험이라는 것을 쌓아 왔다.  아마 시간이 지나감에 경험을 잃어 가는 사람은 없을 것이다. 지우고 싶은 경험이 있을지 몰라도 경험을 지우며 시간을 보내는 것은 특별한 경우가 아니면 불가능하기 때문이다. 이렇게 쌓인 경험에 의해 우리는 세상을 바라보는 관점이 바뀐다. 바뀐 관점으로 다시 만난 책/영화는 우리에게 새롭게 다가오기도 하고 미처 보지 못했던 부분을 알려주기도 한다. 하지만 아무리 내가 바뀌어도 모든책과 영화가 매번 새로운 것을 나에게 주는 것은 아니다. 새로운 것을 제공해 줄 수 있는 내공을 가진 책과 영화는 의외로 수많은 컨텐츠 사이에 몇개 되지 않는다. 이렇게 여운이 남는 책과 영화는 만나기 쉽지 않기에 개인적으로 이렇게 새로운 가치를 주는 책과 영화, 노래와의 만남을 좋아하고 그들을 소장하고자 한다. 

'The Nature of Software Development'라는 책과의 만남도 그랬다. 이 책을 한장 한장 넘길수록 오랫동안 곁에 두고 보고 싶다는 생각이 들었다.  
프로그래머로서 입문할 때와 8년이 지난 지금 개발자로서의 나의 관점에는 큰 차이가 생겼다.  그리고 미래의 나는 또다른 관점을 가지고 있을 것이다.  이 책의 내용은 각각의 시기마다 새로운 가치를 나에게 줄 수 있는 것들로 가득차 있다.  입문자에게는 프로젝트가 진행되는 모습을 보며 자신의 역할을 찾아 갈 수 있도록 가이드 해주고 중급자에게는 옳고 그름을 판별할 수 있는 능력과 자신의 위치에서 최고의 퍼포먼스를 낼 수 있는 방법을 알려줄 것이다. 프로젝트 리더로서는 프로젝트가 올바른 방향으로 갈 수 있도록 이끌 수 있는 현명함을 얻어 갈 수 있을 것이다.
어떻게 보면 엄청난 양의 설명을 해도 모자른 내용을 200페이지 가량의 책과 그림으로 간략하게 설명하고 있으며 누구나 읽어도 이해하기 쉽게 풀어서 편한 선배가 이야기 하듯 설명하고 있다.  
아쉬움이 남는다면 간략한 만큼 깊이는 부족하다.  이 한권으로 IT 프로젝트에 대한 모든것을 얻을 수는 없다. 한권에 모든 비법이 들어 있는 백과사전을 생각한다면 실망할 것이다. 이 책은 프로그래머로서 살아가면서 우리가 가야할 방향만을 제시해 주고 있다.  여기서 더 궁금한 사항이 있다면 관련 자료를 손수 찾아 봐야 할 것이다.

인생을 살아갈 때도 갈림길 앞에서서 어디로 가야 할지 막막할 때가 있다.  누군가 어디로 가면 된다고 귀뜸이라도 해주거나 보다 나은 길을 앞장서서 따라오라고 해주었으면 좋겠다. 프로그래머로서 또는 IT분야에 일하면서도 마찬가지다 많은 서적과 정보가 있지만 우리가 막다른 골목에 섰을때 우리를 어디로 가라고 알려주는 정보를 제공해 주는 곳은 쉽게 찾기 어렵다. 
그런 의미에서 이 책은 우리가 가는길에 도움이 되는 서적으로 보인다.  이와 같은 책들이 많이 나와 우리가 잘못된 선택으로 인해 되돌아 오는 횟수를 줄여 주길 바란다. 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
The Nature of Software Development
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
The Nature of Software Development
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
The Nature of Software Development
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1