Top

Dark Side of Software Engineering [오랫동안 외면해온 소프트웨어공학의 사악함을 파헤치다]

  • 원서명The Dark Side of Software Engineering (ISBN 9780470597170)
  • 지은이요한 로스트(Johann Rost), 로버트 글래스(Robert L. Glass)
  • 옮긴이민병교
  • ISBN : 9788960779013
  • 25,000원
  • 2016년 10월 20일 펴냄
  • 페이퍼백 | 484쪽 | 152*224mm
  • 시리즈 : acornLoft

책 소개

요약

여느 분야의 공동 프로젝트와 마찬가지로 소프트웨어 프로젝트도 결국 사람이 하는 일이고 구성원들 간 다양한 형태의 관계 속에서 진행된다. 따라서 여느 사회에서와 마찬가지로 사람들이 일으킬 수 있는 사악하고 부정적인 사건들이 다양하게 일어나며 프로젝트 성패를 좌우할 정도로 큰 영향력을 행사하기도 한다. 이 책은 해킹, 정보 절도, 스파이 행위, 사보타주, 내부고발 등 소프트웨어 프로젝트에서 인간 및 사회관계가 일으킬 수 있는 사악한 일들에 대한 선구적인 연구를 다뤘다. 흥미로운 조사 결과와 쉽고 재미있는 실제 사례로 가득해 목적에 따라 다양한 방식으로 읽고 활용할 수 있다.

추천의 글

로버트 글래스는 발을 디디기 더 조심스러울 만큼 두려운 곳에 언제나 ‘용감하게 가는’ 사람이다. 나는 오랫동안 그가 쓴 글의 팬이었다. 그가 소프트웨어 개발에 관한 진실을 보고 이야기하기 시작하고 이런 논의에서 회사와 제품의 이름을 바꾸도록 강요받은 때를 나는 기억한다. 그는 출판된 이야기의 저자로서 드러나지 않기 위해 자신의 이름까지 바꿨다. 나는 (매우 오래전에 요던(Yourdon)과 콘스탄틴(Constantine)의 녹색 책을 이용해) 구조화 설계를 강의했었는데, 수업이 일찍 끝난 날이면 “지금 가도 되고 로버트 글래스가 쓴 다른 이야기를 해줄 수도 있다.”라고 말하곤 했다. 결국 그의 이야기가 끝날 때까지 아무도 강의실을 떠나지 않았다. 「Cornbelt Shakedown」은 내가 가장 좋아하는 이야기다. 이런 이야기의 다수는 ‘내가 왜 웃고 있지? 울지 않으려고?’라는 궁금증을 자아내는 유머의 일종이다.
나중에 나는 산업 현장에서 일하는 동안 『Software Runaways』를 읽고 공부하는 모임을 인도했으며, 여기서 글래스의 진지한 면을 경험했다. 이 책에는 풍자적 위트가 거의 없지만 진지하게 고려해 볼 교훈이 많다.
요한 로스트와 함께 작업한 이 책에서도 글래스는 이런 태도를 유지한다. 그는 계속 두려움이 없다(나의 책 『FearLess Change』를 인용했다)! 이 책에서 보여준 훌륭한 작업을 제외하고는 요한에 관해서는 아는 바가 없다. 들은 바에 따르면, 그는 과거 독일의 I T 컨설턴트였고 현재 트란실바니아, 드라큘라, 차우셰스쿠의 나라인 아름다운 루마니아에 살고 있다. 그가 작업한 이 책이 ‘어두운 면(Dark side)’이란 주제를 다룬다는 사실은 그다지 놀랍지 않다! 이 책은 실제 회사의 실제 프로젝트에 관한 이야기로 가득하다. 이름이 거론된다. 그리고 결과는 컴퓨터 프로그래밍의 어두운 면에 대한 설득력 있는 관점이다. 우리는 모두 특히 우리가 이런 상황의 주인공일 수 있을 때 이런 이야기들로부터 배우게 돼 있다.
해킹, 스파이 행위, 사보타주, 절도, 내부고발, 전복, 복수를 원하는 불만을 품은 직원은 물론이고 기만까지도 이 책에서 다룬다. 우리는 (사실은 모두가 아는 상황에서) 이를 봤지만 그냥 웃고 가능한 한 오래 계속 춤을 췄다. 저자들은 이런 가식을 치고 들어가 우리가 깨어나서 점검하길 강요한다.
로버트와 요한은 이들의 진지한 연구에 대한 결과도 제시한다. 이들은 분명히 숙제를 마쳤다. 이들의 관찰을 뒷받침하는 충분한 인용도 있다. 사보타주에 관한 설문조사 데이터는 매력적이다!
이런 보고는 훌륭하다. 사실 이 책의 저자들은 상자 위에 서서 (우리 대부분이 볼 시간이 없는) 지역에 대한 좋은 시선을 공유한다. 우리는 과거의 교훈을 무시한 채 앞으로 돌진하는 것을 선호한다.
그러므로 잠시 시간을 가져라. 우리는 가끔씩 휴식을 취해야 한다. 한걸음 물러나 우리 산업의 역사를 돌아보고 더 나은 작업 방식을 생각해봐야 한다. 로버트 글래스와 요한 로스트는 이렇게 할 기회를 주고 있다. 멈춰서 듣고 생각하라. 현재 가고 있는 길이 우리의 다음 여행을 위한 최선의 길일까? - 린다 라이징 박사(Dr. Linda Rising)

저자/역자 소개

지은이의 말

사전에서는 ‘어두운 면(dark side)’의 정의를 찾을 수 없다. 들기조차 힘들 정도로 무거운 내 사전에도 이 구문에 대한 정의는 없다. 아, 사전에서는 ‘어두운(dark)’(여러 정의 중에서도 ‘비밀의, 비밀스러운, 사악한’의 뜻), ‘어둡게 하다(darken)’(‘난처하게 하다, 흐리다, 더럽히다, 어두운 그림자를 던지다’), ‘음침한(darksome)’(‘어두운, 음울한’) 같은 단어를 정의한다. 그러므로 어두운 면에 있는 대상은 사악하고 어두우며 음울한 성향이 있다고 이해할 수 있다.
이는 대부분 독자에게 놀랍지 않으리라 여겨진다. ‘어두운 면’은 우리 모두 이해하고 있으며, 위의 연관된 단어들의 사전 정의와 (상당히) 통하는 일종의 직관적 의미를 가진다. 컴퓨팅 직종에서 어두운 면이 있는 대상은 우리가 그 일부가 되거나 승인하길 절대 원치 않을 대상일 것이다.
나는 자녀를 키우던 시절 내 아들이 어린이 야구단에서 활동할 때 있었던 일을 기억한다. 이 팀에는 나처럼 거의 모든 경기에 참관하는 아버지를 둔 투수가 있었다. 그의 아들이 공을 던지고 있을 때 아버지는 가끔씩 아들에게 소리를 지르곤 했다. “어두운 공을 던져라.” 나는 그의 이런 외침이 정확히 무슨 뜻인지 전혀 알지 못했다. 하지만 이 외침이 특정 구질에 관한 요구가 아니라 상대 팀 타자를 겁주는 행위와 관련된다고 늘 짐작했다. 이 외침에 상대 팀 타자는 날아올 공이 다소 사악해서 그 공을 칠 가능성이 낮다고 생각하게 될 수도 있었다.
어느 경우에서든, 심지어 야구장에서도 ‘어두운’이란 단어와 ‘어두운 면’이란 말은 직관적으로 보편적 의미를 가진다.
여러분이 (컴퓨팅 관련 출판물이든 학술지든 일반 대중매체든) 소프트웨어 관련 문헌을 알고 있다면, 이런 문헌에서 어두운 면이란 이슈를 그리 많이 언급하지 않는다는 사실을 인식하고 있을 수도 있다는 점은 흥미롭다. 기존 소프트웨어 문헌에서도 프로젝트의 성공과 실패에 관해 많은 이야기를 하지만, 여기서 다룰 어두운 면은 이와는 다소 다른 종류의 문제다. 실패한 프로젝트는 ‘어둠’이란 의미를 가질 수 있어도 ‘사악함’이란 의미는 갖지 않는다. 우리는 실패한 프로젝트도, 굳이 말할 필요도 없이, 주로 일종의 기량 부족 때문에 실패했지 어떠한 사악함 때문에 실패했다고 상정하진 않는 편이다.
여기서 우리가 말하려는 바를 완전 명료하게 밝히겠다. 이 책은 소프트웨어 프로젝트의 실패나 소프트웨어를 더 잘 구축하는 방법에 관한 규범적 사고를 다룬 서적이 아니다. 컴퓨팅과 소프트웨어 프로젝트에서 일어나는 사악한 일에 관한 책이다. 즉 사악함의 종류와 사악한 것이 나타나는 방식, 우리 선한 사람들이 이들에 대해 할 수 있는 일 등을 다룬다. 이 책의 내용 검토에 참여했던 많은 사람이 이 책을 ‘프로젝트 실패에 관한 또 다른 책’ 또는 ‘소프트웨어공학을 올바르게 하는 방법에 관한 또 다른 책’으로 계속 생각했기 때문에 이 점을 강조한다.

지은이 소개

요한 로스트(Johann Rost)

소프트웨어 산업에서 20년간 일했다. 독일의 빙겐 응용과학 대학교와 루마니아의 부쿠레슈티에 있는 폴리테니카 대학교(Politehnica University)에서 학생들을 가르치며 교육 분야 경력을 쌓아왔다.

로버트 글래스(Robert L. Glass)

베스트셀러인 『소프트웨어공학의 사실과 오해』(인사이트, 2004)를 포함해 총 28권을 저술했다. 컴퓨팅을 주제로 100여 편의 글을 썼고, 『Communications of the ACM』(「The Practical Programmer」), 『IEEE Software』(「The Loyal Opposition」), 『Information Systems Management』(「Through a Glass, Darkly」) 등 세 개의 일류 컴퓨터 전문지에 칼럼을 쓰고 있다.

옮긴이의 말

모든 분야에서 공동 프로젝트는 서로 다른 임무를 맡은 다양한 직위를 가진 사람들 간의 협업을 통해 진행된다. 따라서 프로젝트가 좌초하게 되는 원인이 반드시 구성원들의 업무 능력 부족에 있는 것은 아니며, 사소한 감정 문제부터 근본적인 이해관계 문제에 이르기까지 인간적이고 사회적인 다양한 요인으로 발생하는 문제들에 있는 경우가 의외로 많다. 모든 참여자들의 긴밀한 협업 관계가 전제돼야 하는 소프트웨어 프로젝트도 예외는 아니다. 바로 이 지점이 이 책의 저자들인 로스트와 글래스가 주목한 부분이다. 즉 이들은 소프트웨어 프로젝트도 구성원들 간의 관계 속에서 진행되고, 여타 사회에서와 마찬가지로 인간 및 인간관계에 의해 일어날 수 있는 부정적이고 비윤리적인 일들을 당연히 수반할 수밖에 없다는 사실에 주목한다. 이에 대한 연구와 관심을 바탕으로, 저자들은 소프트웨어 프로젝트에서 발생할 수 있는 특수한 형태의 비윤리적이고 사악한 행위와 사건을 소프트웨어공학의 ‘어두운 면(dark side)’이라고 칭한다. 그리고 이런 어두운 면에 해당하는 문제들을 전복, 거짓말, 해킹, 정보 절도, 스파이 행위, 사보타주, 내부고발 등 일곱 가지 유형으로 나눠 정의하고, 그 발생 방식과 빈도, 원인, 가능한 대처 방안 등을 심도 있게 탐구한다.
저자들 스스로 언급하듯, 소프트웨어 프로젝트에서 인간적이고 사회적인 요인으로 발생하는 어두운 면에 해당하는 문제들을 기존 소프트웨어공학 분야에서 거의 다룬 적이 없다는 사실만으로도 이 책의 가치는 충분히 증명된다. 특히 전복과 거짓말에 관해서는 선구적이다. 이처럼 연구 주제의 독창성만으로도 이 책을 읽을 충분한 이유를 얻게 되지만, 저자들은 선행 연구를 검토하고 설문조사와 사례분석 등의 경험 연구를 충실히 수행함으로써 책의 가치를 한층 더 높였다. 이런 충실한 경험 연구 덕분에 이 책에는 매우 흥미로운 그리고 때로는 상식을 넘어서는 연구 결과가 많이 담겨 있다. 이는 향후 다른 연구자들의 연구 아이디어에 영감을 주는 역할도 할 것으로 기대된다. 또한 저자들은 다양한 독자층을 염두에 두고 쉽고 흥미로운 일화를 적극적으로 활용함으로써 접근의 용이함과 재미라는 측면도 놓치지 않았다.
이 책은 기본적으로 학술적 성격을 지닌 서적이지만, 컴퓨터 및 소프트웨어공학 연구 분야에서 해당 주제에 관심 있는 학자들만을 독자층으로 국한하지 않는다. 우선 이 책은 조직 구조와 문화에 관해 연구하는 사회과학자들에게도 영감을 줄 수 있는 매우 흥미로운 경험 연구를 보여준다. 또한 학술 집단을 초월해, 개발자부터 관리자에 이르기까지 실제로 소프트웨어 업계에 몸담고 있는 이들에게는 이 책에서 다루는 사악한 현상들을 막기 위해 취할 수 있는 방침을 세우는 데 큰 도움이 될 수 있으므로 이 책을 꼭 읽어보길 권하고 싶다. 앞으로 소프트웨어 업계에 진입할 학생들에게 교육적인 효과가 큰 책이기도 하다. 물론 개인적으로 또는 조직 차원에서 실제로 사용하고 있는 소프트웨어가 개발 및 유지되는 과정 동안에 어떤 사악한 일들을 겪고 있으며 이것이 소비자인 자신에게 어떤 영향을 미칠 수 있는지 궁금한 이들에게는 흥미로운 교양서적이기도 하다. 이처럼 이 책은 독자의 목적에 따라 다양하게 활용될 수 있다. 여기서 미처 언급하지 못한 이 책의 또 다른 가치에 관해서는 독자 여러분이 직접 읽으며 찾아주길 바란다.

옮긴이 소개

민병교

서강대학교 영미어문학과를 졸업했고 동 대학원 사회학과에서 석사 및 박사 학위를 받았다. 과학지식사회학과 사회이론 분야에 대해 연구하고 강의한다. 에이콘출판사에서 펴낸 『사회공학과 휴먼 해킹』(2012), 『미래를 바꾼 아홉 가지 알고리즘』(2013), 『안전한 개인정보와 프라이버시 보호 가이드』(2015) 등을 번역했다.

목차

목차
  • 1부. 어두운 면 문제
  • 1장. 전복
  • 2장. 거짓말
  • 3장. 해킹
  • 4장. 정보 절도
  • 5장. 스파이 행위
  • 6장. 불만을 품은 직원과 사보타주
  • 7장. 내부고발

  • 2부. 어두운 면 문제에 대한 다양한 관점
  • 8장. 의견, 예측, 믿음
  • 9장. 개인적 일화

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안