고약한 문제, 합당한 해결(Wicked Problems, Righteous Solutions)

 

지은이 : 피터 드그라스(Peter DeGrace), 레슬레 휴렛 슈탈(Leslie Hulet Stahl)

정가 : 14,000원

판형 : 150*205mm / 쪽수 : 328

출간일 : 2010년 11월 3일

ISBN-13 : 978-89-91268-86-9 13560

저역자소개

지은이

피터 드그라스(Peter DeGrace)는 질 낮은 소프트웨어의 품질과 생산성에서 오는 위기와 전투를 치를 줄 아는 경험 많은 실천가다. 일찍이 소프트웨어 엔지니어링에 대한 레퍼런스 라이브러리를 작업을 하면서 소프트웨어 개발과 엔지니어링에 대해 많은 의문을 품게 된다. 그중에서도 “소프트웨어, 어떻게 해야 하는가?”와 같은 문제에 천착하여 깊은 고민을 하게 된다. 이 과정에서 이것을 해소하기 위해 데이터 프로세싱, 프로그래밍, 시스템 분석, 소프트웨어 개발 및 그 방법론, CASE 툴 등 엄청난 학습과 수많은 경험을 한다. 뿐만 아니라 경제학을 비롯한 20세기의 지성과 사상에 대해서도 심도 있게 파고든다. 이 책은 이런 고민과 학습의 결과물이다.

레슬레 휴렛 슈탈(Leslie Hulet Stahl)은 하드웨어나 소프트웨어의 레퍼런스나 매뉴얼을 만드는 테크니컬 라이터요, 편집자요, 일러스트레이터요, 컨설턴트다. Documents Unlimited Company라는 회사의 책임 편집자로서 독립적으로 IBM이나 보잉 사 같은 회사와 많은 일을 했다. 저술 작업과정에서 피터와 일을 같이 하지 않을 때는 카드게임 놀이나 공포소설 쓰기, 앵무새와 대화하기 등을 즐겼다.

옮긴이

정태중은 LG 전자 생산성연구원에서 공정 장비 개발을 수행하고 있다. 특히, 그 가운데 windows 환경에서 제어하는 장비 프로그램 개발을 주로 담당하고 있으며, 장비 소프트웨어를 포함한 장비 전반의 안정성과 성능 향상에 주력하고 있다. 주요 관심 분야는 이미지 프로세싱이다.

신승환은 소프트웨어 개발, 프로젝트 관리, 프로세스 컨설팅 등의 업무를 십 년간 수행했으며, 현재는 차량용 임베디드 소프트웨어를 만들고 있다. 읽은 것과 생각한 것을 블로그에 꾸준히 남기려고 노력한다. 지은 책으로는 『겸손한 개발자가 만든 거만한 소프트웨어』와 『도와주세요! 팀장이 됐어요』가 있으며, 다수의 IT서적을 번역하였다.

책소개

고약한 문제(wicked problem)는 문제가 무언지 해결되어야 비로소 완전히 이해되는 문제이다. 이 책은 프로그래밍 과정에서 얼마나 많은 문제가 이런 고약한 성질을 품고 있는지를 살핀다. 그간 주요 방법론으로 채택되고 있는 폭포수 소프트웨어 개발 방식이 이 문제를 풀기에는 얼마나 택도 없이 모자라는지를 다양한 이론과 사례를 들어 그려낸다.

——————————————————————

폭포수 모델로는 소프트웨어 개발에서 항상 마주치는 고약한 문제를 해결하지 못한다.

소프트웨어 개발에서의 고약한 문제

고약한 문제는 해결책이 문제의 공간 안에 있는 문제를 일컫는다. 즉 문제가 완전히 풀려야 비로소 그 문제가 무엇인지 완전히 이해되는 그런 문제다. 반면 그 반대편에는 합당한 문제가 있다. 합당한 문제는 정의할 수 있고, 이들에 대한 데이터를 수집해서 분석할 수 있으며, 해결책을 낼 수 있는 문제다. 마치 폭포수 모델의 시원한 절차처럼 말이다.

하지만 소프트웨어 개발 프로젝트에서 어떤 결과를 내는 데 필요한 정보를 제공하거나 체계화하는 것은 컴퓨터가 중심인 것처럼 보이지만 사실 사람이 중심에 서 있다. 그리고 태생적으로 야기되는 불확실성의 문제는 그 정형성을 이루는 데 반드시 있어야 하는 객관적이고 명료한 기준을 세우기 어렵게 한다.

-고약한 문제는 정형화되어 있지 않다.

-고약한 문제를 푸는 해결책은 옳으냐 틀리냐가 아니라 좋냐 나쁘냐다.

-고약한 문제에는 중단의 규칙이 없다.

고약한 문제가 피할 수 없는 문제라 하여 극복의 노력조차 하지 않을 수는 없을 것이다. 이 책은 그런 노력의 산물로 나온 것이다. 이런 고약한 문제의 원인을 살펴보고 광범위하게 사용되는 폭포수 모델이 왜 이런 문제를 해결할 수 없는지를 설명한다. 그리고 대안적 방법론을 짚어보면서 해결의 가능성을 타진한다. 가히 지금은 많이 퍼져있는 애자일 방법론의 뿌리를 엿볼 수 있는 인식과 방법들이다. 눈 밝은 독자라면 현재 주된 개발 방법인 폭포수 모델의 한계를 바로 인식하고 그런 상황적 전제에 도전할 수 있는 이론적 근거를 잡아낼 것이다. 그 모든 것을 위한 내용이 이 안에 있다.

1 소프트웨어 엔지니어링과 과학과의 관계를 개괄한다.

2 소프트웨어 프로그래밍의 수준을 평가한다.

3 폭포수 모델의 개괄적 원리를 설명한다.

4 폭포수 모델의 한계와 문제점을 짚어본다.

5 한계를 모면해보려는 폭포수 모델 자체의 변종들을 살펴본다- 소용돌이, 점진적, 나선형 모델.

6 폭포수 모델을 극복하기 위한 대안적 방법론을 정의하고 제안한다- 프로토타이핑, 즉각 모델 외.

7 소위 전문가에 대한 날카로운 비판과 전문가는 어떠한 프로의식으로 무장해야 하는지 제언한다.