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

한빛출판네트워크

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

글로벌 소프트웨어를 꿈꾸다

한빛미디어

집필서

절판

  • 저자 : 김익환
  • 출간 : 2010-09-28
  • 페이지 : 248 쪽
  • ISBN : 9788979147452
  • 물류코드 :1745
  • 초급 초중급 중급 중고급 고급
4.3점 (3명)
좋아요 : 20
성공하는 소프트웨어 회사에서 일하고 싶다

국내 소프트웨어 업계는 눈부신 발전을 해 왔다. 특히 기술과 기법에서는 세계 수준에 뒤떨어지지 않는다고 해도 과언이 아니다. 어느 정도 성공도 이뤘다. 그런데 왜 인도나 이스라엘처럼 세계적으로 성공한 글로벌 소프트웨어 회사는 나오지 않을까?그 이면에 문화적인 요소가 있다. 세계 수준에 근접한 기술과 기법은 그에 걸맞은 균형 잡힌 사고와 문화 수준이 어우러질 때 극대화될 수 있다. 이것은 의식적으로 노력한다고 해서 쉽게 바꿀 수 있는 것이 아니다. 사고와 문화 수준은 회사 구성원 모두에게 내재된 것이며 무의식적인 행동으로 드러나기 때문이다. 무의식적인 행동으로 드러나는 것을 바꾸는 것은 어렵다. 개발 과정에서 항상 문서를 작성하고, 어떤 환경에서도 동료검토하는 것을 당연시 여기는 것은 내재화된 문화에서만 가능하다. 그리고 이런 내재화된 문화는 소프트웨어의 본질에 대한 확고한 신념을 갖고 있을 때 형성될 수 있다. 이런저런 핑계로 하지 않는다면 그것은 표면적인 지식에 불과하다. 문화로 내재화된 것이 아니다. 소크라테스, 데카르트와 같은 선각자들이 가르치려고 했던 것은 본질에 대한 심오한 통찰력이었다.이 책은 소프트웨어의 문화, 본질, 그리고 통찰력에 관한 책이다.
김익환 저자

김익환

서울대학교 공과대학 졸업 후 미국 산호세 주립대학교에서 전산학 학사, 스탠퍼드 대학교에서 전산학 석사를 취득했다. GE, 썬 마이크로시스템즈, GTE Government Systems 등 세계적인 실리콘밸리 기업에서 17년간 소프트웨어 개발 실무 내공을 쌓았으며, 글로벌 기업에 인터넷 통합 메시지 솔루션을 제공하는 ‘스탠퍼드 소프트웨어(Stanford Software Corp, USA)’를 설립했다. 국내에서는 안철수연구소 부사장 및 CTO를 지내고, 카이스트 소프트웨어대학원 겸임교수를 역임했다. 현재는 다양한 기업을 대상으로 경영/개발 컨설팅을 진행하며 실리콘밸리의 선진 소프트웨어를 전파하고 있다. 『대한민국에는 소프트웨어가 없다』, 『소프트웨어 개발의 모든 것』, 『글로벌 소프트웨어를 꿈꾸다』, 『글로벌 소프트웨어를 말하다, 지혜』를 집필하고 『세상을 바꾼 32개의 통찰』을 번역했으며, 소프트웨어 공학 블로그 ikwisdom.com을 운영한다.

1장. 소프트웨어 회사가 성공하기 위한 다섯 가지 조건
    01 혁신하든가, 사라지든가 _14
    02 변하지 않으면 죽는다 _17
    03 소프트웨어 회사는 두 번의 재건축이 필요하다 _21
    04 미국회사는 기본이 70점, 한국회사는 20점에서 시작한다 _25
    05 꼬여버린 프로세스, 코드, 기반시스템 _29
    06 공유를 싫어하는 사람은 소프트웨어 회사에 적합하지 않다 _33
    07 회사에 필수적인 소프트웨어 전문가 _37
    08 소프트웨어 회사가 성공하기 위한 다섯 가지 조건 _42
 
2장. 이슈관리시스템을 보면 회사를 안다
    09 이슈관리시스템을 보면 회사를 안다 _48
    10 소스관리시스템은 개발팀의 축소판이다 _55
    11 문서를 적으면 개발시간이 단축된다는 것을 진정으로 믿어라 _59
    12 스펙(SRS)이란 무엇인가? _63
    13 SRS를 작성하려고 노력하라. 그리고 그것은 항상 가능하다 _67
    14 SRS 쓰는 법은 속성이 안 된다 _71
    15 초가집과 기와집, 어느 것이 더 잘 지었는가? _75
    16 장식용 방법론, 제출용 방법론, 실용적인 방법론 _78
    17 증상치료와 원인치료 _83
    18 원인치료가 컨설팅의 핵심이다 _87
 
3장. CTO의 역할은 아무나 대신하지 못한다
    19 CTO의 역할은 아무나 대신하지 못한다 _92
    20 관리자는 기술 전문가가 될 수 없다 _97
    21 200의 능력을 가진 회사가 100에 만족하면 위험하다 _100
    22 소프트웨어 회사의 종류 _103
    23 임베디드 소프트웨어의 본질, 컴포넌트와 인터페이스 _108
    24 영업팀과 개발팀의 다툼은 건전한 것이다 _113
    25 깨진 유리창 법칙 _116
    26 시장은 창조하는 것이다 _119
 
4장. 신입사원은 문서(50%), 프로세스(45%), 선배(5%)로부터 배운다
    27 신입사원은 문서(50%), 프로세스(45%), 선배(5%)로부터 배운다 _124
    28 프로세스의 힘, 마지막에 무리한 사양변경을 막는다 _129
    29 최소비용과 최소시간 _132
    30 간단한 것의 가치가 복잡한 것보다 크다 _137
    31 급한 것과 중요한 것 _141
    32 찰떡같이 붙어 있는 분석, 설계, 코딩을 떼어내라 _145
    33 서로 배우게 하라 _150
    34 동료검토(Peer Review)는 권장하지 마라 _154
    35 조삼모사, 유지보수의 늪에 빠지다 _158
    36 머지 데이(Merge Day)를 정해서 할 이유가 없다 _162
 
5장. 소프트웨어 개발은 기술이 아니라 예술이다
    37 건축가와 벽돌공, 누가 가치가 있는가? _168
    38 소프트웨어는 기법이 아니라 예술이며 정신세계다 _170
    39 고기를 준다면 성황이지만 고기 잡는 방법을 가르쳐 주면 싫어한다 _173
    40 배우려면 잔을 비워라 _176
    41 백발이 성성한 프로그래머는 없다 _179
    42 비싼 도구가 기술역량을 올려주지 않는다 _183
    43 표현법이 진보를 가져오지는 않는다 _186
    44 지식과 기법은 달콤한 사탕과 같다 _190
    45 비행기, 산악자전거, 그리고 소프트웨어 _194
    46 스마트폰, 소프트웨어 공학을 경험할 좋은 기회 _198
    47 컨퍼런스에 보람 있게 참가하는 방법 _206
 
6장. 기업문화란 무엇인가?
    48 기업문화란 무엇인가? _212
    49 법으로 좋은 세상을 만들지 못한다 _216
    50 기업문화는 자선사업과 같다 _220
    51 미신에 현혹되지 마라 _223
    52 잘 이해하고 사용하면 약, 글자에 집착하면 독 _227
    53 애자일(Agile) 방법론 제대로 사용하기 _232
    54 지식과 경험의 차이는 점점 커진다 _237
    55 글로벌 경쟁력에 필수인 국제화(I18n), 지역화(L10n) _241

이책의
제목을 보면
글로벌 소프트웨어를 만드는 방법을 제시해주는
책 이라고 오해를 할 수도 있을거 같다.
마치 무슨 방법론 같은...

이 책은
그러한 방법론적인 내용이 아니라
국내와 국제 의 IT 문화의 차이와
국내의 잘못 인식되어 있는 사상들.
국제적으로 경쟁력있는 회사가 되기 위해서
회사의 CEO 나 개발자, 기업문화와 같은
여러가지 요소들의 나아가야할 방향등을
제시하고 있다고 생각된다.

아마 그러한 부분은
현실적으로 개발자들이 가장 많이 느끼는 부분이
아닌가 싶다.

이 책을
읽으면서 많은 부분에 공감을 하면서도
여러가지 면에서는 씁쓸해하기도 했다.

내가 아는 개발자분이
항상 이런말을 했었다.

우리나라 IT 는 우리가 이렇게 해놓은거다.

똑같은 말을 이 책에서 다시 보게 될줄은...

책의 내용은
참 재밌고
읽어볼만한 책인거 같다.

하지만 읽는 입장에 따라서는 국내의 상황과 맞지 않은 부분이 있어 그러한 부분이 거부감이 들 수 있다.
개인적으로 느끼기에는 국내의 상황에 맞춰서 라기보단
외국의 상황을 중심으로 풀어나간다고 볼 수 도 있기 때문이다.

"안철수연구소" 부사장 출신의 저자는 실리콘밸리에서 16여년간 소프트웨어 실무경력을 쌓은 업계 최고의 전문가이자 경영인이다. 책을 선택할 때 저자 소개를 꼼꼼하게 보는 습관이 있다. 저자의 저서(『대한민국에는 소프트웨어가 없다』(2003, 미래의 창), 『소프트웨어 개발의 모든 것』(2008,페가수스))와 역서(『세상을 바꾼 32개의 통찰』(2007, 크리에디트))를 보면 소프트웨어와 문화에 대한 저자의 상당한 관심과 수준을 짐작할 수 있었다. 지난 20여년 동안 국내 소프트웨어 업계는 비약적인 성장을 이루었고, 소프트웨어의 품질과 개발자들의 인적 역량은 세계 최고 수준에 있다고 해도 과언이 아닐 정도가 되었다.

그렇지만, 국내 소프트웨어 업체 중 사람들에게 회자되는 곳은 한글과 컴퓨터, 안철수연구소 등 다섯손가락 안에 든다는 생각이다. 왜 그럴까요? 이 책은 세계적으로 유명하고 성공한 글로벌 소프트웨어 회사가 나오지 않는 것에 대한 성찰과 희망에 대한 현장의 기록들이다. IT 회사의 내면을 쉽고 간결한 필체로 非IT업계에 있는 독자들도 이해하는데 불편함이 없을 정도였다. 저자는 글로벌 소프트웨어 회사의 부재를 문화적 요소에서 찾았다. IT에 대한 이론적 지식과 기술력보다는 회사를 움직이는 동력인 "개발문화"와 "기업문화"의 후진성과 취약성에 집중하고 있다. 이를 해결하고 발전시키기 위해서 저자는 그동안 현장에서 보고 익혔던 실패사례와 성공사례를 예시로 들어 설명한다. 기반시스템, 조직, 프로세스, 기술, 문화를 카테고리로 구성해서 글로벌 소프트웨어 회사, 소프트웨어 전문가로 가는 길을 모색해본다.

저자는 기술 수준과 문화의 상관관계를 "세계 수준에 근접한 기술과 기법은 그에 걸맞은 균형 잡힌 사고와 문화 수준이 어우러질 때 극대화될 수 있다. 이것은 의식적으로 노력한다고 해서 쉽게 바꿀 수 있는 것이 아니다. 사고와 문화 수준은 회사 구성원 모두에게 내재된 것이며 무의식적인 행동으로 드러나기 때문이다."라고 설명한다. 저자는 오랜 선진 실무 경험을 기반으로 경영자의 위치에서 본 조직 운영 프로세스와 시스템에 대한 객관적이면서 냉철한 인식으로 성장과 발전을 위한 현실적 대안을 제시한다.

저자는 개발 과정에서 항상 문서를 작성하고, 어떤 환경에서도 동료검토하는 것을 당연시 여기는 것은 내재화된 문화에서만 가능하다고 말한다. 그리고 이런 내재화된 문화는 소프트웨어의 본질에 대한 확고한 신념을 갖고 있을 때 형성될 수 있다고 설명한다. 이런저런 핑계로 하지 않는다면 그것은 표면적인 지식에 불과하다. 문화로 내재화된 것이 아니기 때문에 수정해야 한다고 말한다. 이는 심오한 통찰력이 필요한 부분이기 때문에 개인과 조직이 모두 노력해야할 대목이다.

소프트웨어 회사가 발전하기 위해서는, 개발자가 집중해서 효율적으로 일할 수 있게 해주는 것이 회사의 의무이고 그것이 개발자를 위한 것임과 동시에 회사를 위한 것임을 알아야 한다. 회사의 책임이기도 한 70%에는 기반시스템 설치, 프로세스 정립, 코딩의 표준화, 문서화 방법, 개발방법론, 공유 문화 정립 등의 많은 일이 있다. 저자는 "소스관리시스템이나 이슈 관리시스템도 제대로 되어 있지 않은 환경에서 좋은 소프트웨어가 나온다는 것은 기적이다."라고 하며, 모든 개발 내용을 기록으로 남기고 이를 오픈하는 문화를 정착시키는 회사의 성공 확률에 대해 자신한다.

이 책은 IT 전문가의 관점에서 보는 소프트웨어 회사의 성장 촉진을 위한 "IT 조직 문화 매뉴얼" 같은 느낌이 들 정도다. 기술이 부족해서 그런 것이 아니라, 개발자들이 집중하고 즐거운 마음으로 일을 체계적으로 할 수 있는 환경을 만들어줘야 한다는 점을 거듭 강조한다. 그래서, 한국의 소프트웨어 회사들의 성장과 세계적인 회사로 커주길 바라는 선배의 애틋한 심정도 묻어있는 책입니다. 업계의 선배가 후배에게 해주고 싶은 경험담을 담은 책이자, 한 권의 추억록같은 IT와 경영학이 결합된 "모놀로그"(monologue)이기도 합니다. 저자가 말하는 바람직한 IT 문화 만들기는 여타 분야에도 충분히 적용 가능한 사항이 많이 있다. 가장 중요한 건, 목표달성을 위한 과제를 만들고 어려운 문제를 해결해나가는 개인과 조직의 "마인드"라는 생각이다.

소프트웨어공학은 교과목 중에서도 이론이 특히나 어렵고 딱딱한 분야였다. 구체적이고 다양한 사례를 접하기 힘들었기 때문이었던것 같다. 소프트웨어 개발에 있어서 생산성과 효율성은 극대화하고 프로젝트 진행과정에 있어서의 리스크를 최소화하기 위한 방법론들이라 생각했다. 즉, 자료구조와 같은 학문으로 그 이론이 변하지 않는 분야라 생각해왔던 것이다. 그런데 이 책에서는 전혀 다른 관점을 제시한다. 소프트웨어공학이 한 나라의 소프트웨어 업계의 개발문화를 반영하고 있는 현실이라는 것이다.

한국에서 소프트웨어 개발자라고 하면 SI업체에서 십중팔구는 밤낮없는 프로그래머를 떠올린다. 프로그래머가 개발자의 전부일까? 아니다. 프로그래밍 실력은 기본기에 불과하다. 여러분은 평생을 프로그래머로 살것인가? 이는 벽돌공과정을 이수하고 건축가가 설계한 도면을 보면서 평생 벽돌을 쌓아서 건물을 짓는것과 다르지 않을 것이다. 한국에서의 소프트웨어 개발자는 수명이 짧다고들 한다. 왜 그럴까? 규모가 작은 기업에서는 간혹 분석, 설계, 구현을 한명의 개발자가 다하는 상황이 벌어진다. 슈퍼개발자이다. 가내수공업이다. 왜 이런현상이 비일비재할까? 혁신에는 고통이 따르지만 더 큰 성공과 생존을 위해서 반드시 필요하다. 필자는 이를 솔개의 모습을 예로 들고 있다. 문서는 무조건 작성해라. 단 정말 중요한 문서인 SRS는 모범적인 샘플은 없다. 국내의 소프트웨어 업계는 기피업종의 하나가 되었다. 왜 그럴까? 개발자의 평균연령도 20대나 30대에 불과하다.

소프트웨어 개발자라면 왜 이런현상들이 일어났고 주변에서 왜 그렇게 이야기 하는지 정답아닌 정답을 얻을 수 있습니다. 속시원한 해결책은 못줄 수 도 있습니다. 단, 경영자 측면에서는 적어도 프로젝트가 성공할 확률을 확실히 증가시켜줄 것 입니다.

이슈관리시스템과 소스관리시스템에 대한 많은 관심이 생겼다. 소스관리시스템은 고가의 상용제품도 있지만 오픈소스인 SVN도 있다. 대기업에서도 SVN을 사용한다. 나도 다른 프로젝트에 참여시 이클립스 기반에서 SVN을 사용했었다. 그당시에는 서버를 운영해 단순하게 소스파일들을 업로드 하거나 다운로드 받는 형태로 사용했다. 업로드시 변경사항이 있는지 두개의 소스파일을 자동으로 비교해주는 기능이 신기하기만 했다.
이슈관리시스템에 등록하는 이슈의 정의는 간단했다. 제품에 관해 회사에서 대화의 대상이 되는 거의 모든 것이다. 이슈는 매순간마다 끊임없이 발생하고 이러한 이슈를 항상 등록해야 한다. 이 이슈관리시스템은 초기도입 후 정착되기까지 적지않은 시간이 걸리지만 도입효과는 엄청나다. 과거 이슈에 대한 모든 데이터를 저장하고 있으며, 다양한 통계를 제공한다. 회의가 줄어들어 시간도 절약된다. 모든 임직원의 평가를 할 수 있는 중요한 데이터를 제공하며 대화, 모니터링과 간접결재의 기능도 제공하고 있다. 관리와 개발 모두의 위험요소가 줄어든다. 필터링 없이 모든 이슈가 등록된다면 쓰레기장이 될까? 전혀 그렇지 않다. 오히려 필터링이 정보의 손실을 가져온다. 또한, 경영자는 이슈관리시스템을 가끔 보고 댓글을 달아주면서 사용하면 된다. 이 효과는 놀랍다고 한다.

다음은 정말 중요한 내용들이다. 실은 책에 있는 모든 내용이 다 중요해보였다.
필자는 경영자에게 다음의 고정관념을 버리라고 하고 있다. 하드웨어 마인드를 버려라. 소프트웨어는 아무나 개발할 수 있다는 생각을 버려라. 관리자나 영업이 개발자를 좌지우지 하지 않게 하라. 빠른 개발의 경영전략을 버려라. 일정을 협상하지 마라. 2% 부족한 것을 간과하지 마라. 조급한 생각을 버리고 장기적인 해결책을 마련해라. 개발자에게는 자신의 마인드를 바꾸라고 하고 있다. 자신의 능력을 정확히 알고 행동해야 한다. 급할수록 천천히 가야 한다. 처음부터 제대로 배워야 한다. 항상 자신을 변화시키려고 노력해야 한다.
실리콘밸리에서 근무하는 소프트웨어 개발자의 직장 평균 재직기간은 2년이 안된다고 한다. 잦은 이직에도 회사의 운영에 영향을 미치지 않는다고 한다. 그러나 한국은 다르다. 핵심 개발자가 이직한다면 그 프로젝트를 포기해야 할지도 모른다. 즉! 인력 교체에 대한 준비가 항상 되어 있어야 한다. 그리고 개발자가 선수로서 잘 뛸 수 있도록, 개발에만 집중할 수 있도록 회사차원에서 많은 지원을 해주어야 한다. 결국 경영자의 통찰력과 판단, 회사차원에서의 지원이 절실하다는 것을 알 수 있다.
소스코드의 공유와 개발문서 작성을 피하는 것은 재앙의 시작이며 훗날 심각한 문제를 가져올 수 있다.
개발자가 되려면 사람관리를 하는 관리자는 하지 말라고 한다. 개발자의 권위는 기술력에서 나오기 때문이다.
경영자는 영업팀과 개발팀의 의견을 잘 조율해야만 한다. 그렇지 않으면 급하게 만들고 유지보수도 잘 안되는 최악의 제품이 탄생할 것이다.
정말 빨리 제품을 개발하고 싶다면 문서부터 만들어야 한다.
3-way 머지, 2-way 머지는 머지데이를 정해서 하지 말고 수시로 해라. 특히 3-way 머지는 완전 자동화가 가능하다. 두 코드가 충돌나는 경우에나 서로 의논을 해야 하므로 인간의 두뇌가 필요하다.
필자는 향후 10년간 IT업계의 핵심분야가 될 스마트폰은 소프트웨어 공학을 경험할 좋은 기회라고 한다. 모바일 생태계를 통제하던 이동통신사에서 그 힘이 플랫폼으로 넘어왔고, 플랫폼 힘의 원동력은 엔드유저를 위한 콘텐츠이다. 이 콘텐츠 개발은 소프트웨어 개발자가 주역이 된다. 이 특히 세계시장을 겨냥한 스마트폰 개발은 큰 규모는 아니면서도 여러 플랫폼에서 수많은 버전관리, 다국어 지원이 필수적이다. 이를 통해 소프트웨어 공학의 여러측면을 다양하게 경험할 수 있을것이라고 한다.

정말 기억에 남는 내용은 "대다수가 현혹 된 미신"이었다. 각 미신에 대한 상세한 해설은 정말 가슴에 와 닿는다.
경영진이 갖고 있는 미신 - 스펙 문서 작성하느라 개발일정을 못 맞추는 것이 아닙니까? 개발일정이 늦어지면 개발자를 추가로 투입하지요. 우리가 개발할 수 없으면 외주를 주도록 합시다.
고객이 갖고 있는 미신 - 자세한 요구사항은 나중에 정합시다. 소프트웨어의 좋은 점은 변경이 가능하다는 생각.
개발자가 갖고 있는 미신 - 빨리 코딩을 시작합시다. 그래서 빨리 끝냅시다.제품을 만들 때까지는 테스트를 못한다. 소프트웨어 공학을 적용할 시간이 없다.

IT산업을 소프트웨어 분야와 나머지 분야로 구분짓고 싶다. 정말로 독창적이고 가장 논리적이고 지식집약적이고 복잡한 분야이기 때문이다. 나는 개발을 불특정 다수가 사용할 예술작품을 완성하는 과정이라고 정의하고 싶다. 이책을 읽으면서 나의 꿈이 명확해 졌다. 스티븐잡스처럼 백발이 성성한 진정한 의미의 개발자가 되고 싶다. 어떤 제품이라도 전체 개발 프로세스를 이해하고, 코딩은 아르바이트생이 구현할 수 있을 정도로 프로그램 설계를 잘하고, 일하기 싫어하는 프로그래머도 즐겁게 일을 할 수 있도록 격려하는 프로젝트 관리자가 되고 싶다.

가까운 미래에 미국의 실리콘밸리에 정착된 개발문화가 한국에도 자리잡기를 희망합니다 :)

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

배송료 안내

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

리뷰쓰기

닫기
* 상품명 :
글로벌 소프트웨어를 꿈꾸다
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
글로벌 소프트웨어를 꿈꾸다
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
글로벌 소프트웨어를 꿈꾸다
구입처*
구입일*
부가기호*
부가기호 안내

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

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

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

닫기

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

자료실

최근 본 상품1