•
이제 우리는 문제가 대부분 우리에게 비롯된다는 것을 알고 있다. 그것은 인식과 (나의 주관적인) 바람의 차이이기 때문이다.
•
문제가 있다고 느끼는 것은 결국 문제가 존재한다는 것이다. 하지만 그것이 무슨 문제인지 아는 것은 또 다른 일이다.
⇒ 대부분의 문제를 인지한 사람들은 그것이 어떤, 무슨 문제인지도 알고 있다고 생각하나 대부분 잘못된 생각이다.
•
그런 잘못된 인식을 가장 잘 설명하는 대표적인 예가 문제 해결이 가장 큰 문제라고 생각한다는 점이다.
⇒ 우리가 지속적으로 해왔던 노력들은 문제를 어떻게 해결할 것인가가 아니라 어떻게 접근할 것인가였다. 어떻게 접근할 지 결정한다면 문제 해결은 쉬워진다.
•
내 생각
◦
해결법은 구체적일 수 밖에 없다. 추상화 수준이 천천히 내려간다면 문제 해결은 쉬워진다는 것이다. 결국 문제를 인식하고 정의하는 단계가 있어야 한다는 것 같다.
◦
문제 인식 단계에서 정의 단계를 건너뛰고 해결법을 찾는 것은 추상화 수준이 급격히 낮아지는 것으로 더 많은 리소스를 사용할 수 밖에 없다.
•
학교에서 훌륭한 문제 해결사들을 배출하지 못하는 것도 마찬가지다. 선생님들이 문제를 정의하면 학생들은 문제를 해결할 뿐이다. 무엇이 문제인지 찾을 수 있는 기회가 제공되어지지 않는다.
•
여기서 눈 가리고 무작정 두 발로 뛰어넘기라는 용어가 등장한다. 누군가 문제에 대해 결론을 내리면 문제를 단순히 해결하기만 하는 것을 이르는 말이다.
◦
이렇게 반문할 수 있다. 그게 뭐가 나쁘냐고 타인의 문제 해결의 기쁨에 대해 왈가왈부할 권리가 있느냐고 말이다.
◦
저자는 이렇게 대답했다. 옮고 그름을 판단할 수 있는 권리가 있다고 주장할 수 있는 것은 본인들도 충분히 피드백을 수용할 생각이 있기 때문이라고 말이다.
•
우리 프로그래머들은 해결책을 컴퓨터에게서 구하기 위해 컴퓨터에 자신의 문제를 맞춘다. 이것을 해결책 문제화라고 부른다.
•
하지만 이것보다 더 중요한 과정이 있다. 이번 제목에서도 얘기하듯이 정말로 그것이 해결하고 싶은 문제인가?에 대한 고민이다.
•
여기 지칠줄모름 씨가 있다. 그는 매우 열정이 넘치는 프로그래머로 예전에 잠깐 장난감 공장에서 일한적이 있었다.
•
그의 열정을 알아본 상사들은 그를 불러 문제 하나를 해결해주기를 원했는데, 그 문제는 다음과 같았다.
◦
장난감 회사는 공장이 3개가 있는데, 하나는 서울에 하나는 부산에 하나는 광주에 있었다.
◦
이 회사는 이 공장들에서 전국의 도매상에 장난감을 납품한다. 당연히 운송에는 돈이 들고 이는 생산비용으로 포함된다.
◦
지칠줄모름 씨는 문제를 끝까지 듣지도 않고 일찌감치 문제를 어떻게 해결할 것인가에 대한 고민을 시작했다. 그는 임원진들의 문제가 다음과 같다는 정의를 가지고 있었다.
▪
장난감 회사가 거래하는 도매사들에게 나오는 주문을 어떻게 각 공장에 적절히 할당해서 전체 비용을 최소화할 수 있는가?
◦
상사들은 지칠줄모름 씨가 얘기를 듣지 않고 먼저 나온 문제에만 집중하는 것도 모르고 설명을 끝냈을 때 쯔음, 지칠줄모름 씨는 이를 컴퓨터에게 어떻게 요청할지도 설계해두었다.
•
그렇게 회의는 종료되었고 지칠줄모름 씨는 문제를 해결을 시작했다. 지칠줄모름 씨는 각 공장별 정보들을 정리하던 도중, 하나의 의문점을 발견했다.
◦
서울에서 만들어 장난감을 배송하면 두 공장보다도 더 저렴함에도 광주나 부산에서 장난감을 만들어 배송하고 있었던 것이었다.
•
광주나 부산에서 장난감을 생산, 배송하고 있었던 이유는 각각 사장과 회장이 그곳에 거주하고 있기 때문이었고 그들은 절대 그곳에서 벗어날 생각이 없었던 것이었다.
•
지칠줄모름 씨는 그제서야 자신이 정의한 것이 진짜 문제가 아니었다는 것을 깨달았다. 우리의 프로 해결책 문제화 지칠줄모름 씨는 여기서 다음과 같은 교훈을 얻었다.
◦
겉으로어떻게 드러나든, 사람들은 자신이 필요로 하는 것을 갖기 전까지는 자신들이 뭘 원하는지 거의 알지 못한다.