본문 바로가기

Trivia

문제 해결

 오늘 쭉 생각하며 아! 하며 깨닮은 결론이다. 결론은 단순하지만 또이미 알고있던 말이지만 이제야
명확히 보인다고할까..

 모든 것은 결국 문제 해결이다.
제약안에서 가장 최선의 방법을 찾는것, 그 생각하는 방식이 지금까지 우리가 살아온 방식이다.

 프로그래머는 프로그램의 제약사항 안 에서 가장 효율적으로 원하는 기능을 구현하는 문제를 해결하는 직업이다.
이 문제를 해결하는 방법에는 코드를 통해 얼마나 논리적으로 설명할수있는것이 중요하다.

 목수는 고객이 필요한 책상을 나무와 도구라는 제한 안에서 만드는 문제를 해결하는것이다.
이 문제는 가장 효율적으로 어떤 도구와 재료를 통해 효율적으로 가공하는 방법을 모색하는것이 필요하다.

 즉 모든 것은 이 문제를 어떻게 해결하느냐에 귀결된다고 볼수있다.

  모회사 컨설팅 문제를 혼자 생각해보며 떠오른 것인데,
"전화기에 달린 숫자 0 버튼이 우리나라에서 하루에 몇 번 눌려질까?"
왜 이런 막막한 문제를 물었을까? 분명 결론을 도출해내는 그 과정을 보기 위한것이 아닐까?

 사실 이런 문제는 종류만 틀리다 뿐 우리가 일상적으로 겪는 문제 해결의 한 단면이다.

문제를 얼마나 과학적,논리적으로 접근하여 해결하는것인가?

1. 문제를 정의한다.

2. 대상의 유효정보를 파악한다.
    - 문제를 분류한다.
    - 대상을 모델링한다.
    - 비교 모델을 찾고 대상모델과의 공통점을 통해 결과를 유추한다.

3. 유효정보를 통해 결과를 도출한다.
4. 논리적 허점을 찾는다. 그리고 유효정보에 추가한다.
5. 추가된 유효정보를 통해 새로운 결과를 도출한다.
6. 4,5 의 반복을 통해 점점 높은 수준,완성도의 문제 해결방안을 생각한다.

 문제 해결에 가장 큰 핵심은 1,2번이다. 아마 컨설턴트등의 직업을 가진 사람들과의 차이는
이 부분을 해결하는 어떤 기술을 가지고있느냐에 있을것이다.

1.문제를 정확히 정의하는것은 문제 해결의 범위를 정하는 것이다.
2.문제를 분류하는 것은 문제의 공통점을 찾고 차이점을 구별하는것이다.

..계속...