////
Search
Duplicate
🥊

지칠줄모름 씨, 장난감 공장의 문제를 어설프게 해결하다 → 누군가 문제를 정의해주었을 때, 그의 의도를 파악하라, 그가 정확하게 문제를 정의내린 것이 아닐 수도 있다.

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