문제의 상황들을 본인의 언어로 풀어쓰는 과정입니다. 누구는 수치를 사용하여 표를 그리기도 하고, 그래프를 그리며, 상황을 그림으로 그리는 작업입니다. 이런 과정을 추상화라고도 합니다. Show 문제가 요구하는 상황을 재정의하면 문제의 해결방법이 보이는 경우도 있고, 가장 중요한 것은 구현이 쉬워집니다. 3단계 : 계획 세우기적합한 자료구조와 알고리즘을 선택하여 계획을 세웁니다. (사실상 파인만 알고리즘과 다를바 없다고 생각합니다.) 이는 아래에서 보다 살펴보겠습니다. 4단계 : 계획 검증하기코드를 작성하기전에 적합한 계획인지 살펴보는 것은 중요합니다. 사실 구현이 불가능한 내용이라던지, 예외는 없는지, 시간은 대충 얼마나 걸릴지, 메모리는 충분한지 등을 증명해야합니다. <프로그래밍 대회에서 배우는 알고리즘 문제해결 전략, 일명 종만북> 실력을 기르기 위해선 문제 해결 과정을 여러 부분으로 나눠보고, < 문제 해결 과정 >1. 문제를 읽고 이해한다.2. 문제를 익숙한 용어로 재정의한다.3. 어떻게 해결할지 계획을 세운다.4. 계획을 검증한다.5. 프로그램으로 구현한다.6. 어떻게 풀었는지 되돌아보고, 개선할 방법이 있는지 찾아본다.1단계) 문제를 읽고 이해하기.
2단계) 재정의와 추상화.
3단계) 계획 세우기.
4단계) 계획 검증하기.
5단계) 계획 수행하기(구현).6단계) 회고하기.
▣ 좁은 의미의 문제 바람직하지 못한 상태(Undesirable Situation)또는 현재 상태를 악화시킬 수 있는 위협들이다. 문제는 좋지 않은 것으로 원하지 않는 사건이나 곤경등을 문제라고 할 수 있다. 문제 해결은 이전 상태로 회복하고 재발을 방지하는 것이다. ▣ 넓은 의미의 문제 현재 상태와 미래상태의 차이이다. To-be 상태와 As-is 상태의 차이(Gap)이다. 문제는 부정적 시각이 아니고 미래의 달성하고자 하는 목표와 거리이다. 따라서 문제 해결(Problem Solving)은 목표를 달성(Achieving Goals)하는 것이다. 대부분의 사람들은 문제가 발생되면 즉흥적으로 해결하려 한다. 본능과 직관에 따른 문제 해결은 비합리적 감정으로 대응하기도 하고 가치관에 따라 크게 달라진다. 만약, 당신이 월말이 되었는데 직원 급여를 줄 돈이 없다고 가정해 보자. 왜 이런 문제가 발생되었는지는 중요하지 않다. 오직 어떻게 돈을 만들어 현안 문제를 해결할까만 생각하게 된다. 그러나 복잡한 비즈니스 문제를 해결하기 위해서는 절차적이고(Process oriented)합리적인 문제해결 방식이 필요하다. 합리적 문제해결 방식의 가장 중요한 방법은 그 절차를 잘 정의하여(Well Defined) 독립적인 세부 단계로 분할하는 것이다. 문제 해결 절차는 5단계 프로세스로 이루어진다. 문제 해결력은 과소 평가되고 있는 재능입니다. 이 능력은 혼란스럽고 힘든 시기에 명확한 결정을 내리는 데 도움이 되며, 많은 전문가들이 문제 해결력을 팬데믹 이후 구직자들에게 필수적인 소프트 스킬(Soft Skill)로 꼽습니다. 문제 해결력을 키우려면 '무엇을, 어떻게, 왜'에 초점을 맞춘 구조화된 접근 방식을 사용하는 것이 좋습니다. 단계별 가이드가 되어줄 5가지 질문으로 나누어 자세한 내용을 살펴보도록 하겠습니다. 질문 1: 왜 이 문제에 관심을 가져야 하는가?듣는 이들에게도 영향을 치는 당면 과제를 분명하게 명시하는 몇 개의 짧은 문장으로 문제를 서술하세요. 구체적이고 정량적인 세부정보를 활용합니다. “우리는 품질 문제로 인해 매년 손실이 발생했습니다.”라는 문장 대신 “2019년에 품질 결함으로 인해 백만 달러의 손실이 발생했습니다. 이는 전체 매출의 5%에 해당합니다.” 와 같이 표현하는 것이 좋습니다. 문제를 너무 광범위하게 정의하면 해결할 리소스가 부족할 수 있고, 너무 세부적으로 정의하면 좀 더 넓은 범위에서 개선 효과를 볼 수 있는 기회를 놓칠 수 있으므로 적절한 범위 내에서 정의해야 합니다. 또한, “품질 보증 컨설턴트를 고용해야 합니다.”와 같은 솔루션을 성급하게 추가하지 마세요. 솔루션은 나중에 찾을 수 있습니다. 질문 2: 성공을 어떻게 정의할 것인가?무엇을 달성하려 하는지, 목표 달성 여부는 어떤 주요 성과로 판단할 수 있는지를 정의하여 목표를 설정합니다. 솔루션이 아닌 달성할 목표에 초점을 맞추어야 합니다. '방문자에게 직관적이고 즐거운 경험을 제공할 수 있는 웹사이트 만들기'는 목표이지만 ’5명의 UX 디자이너 채용’은 솔루션입니다. 그런 다음 측정 가능한 주요 성과를 정의하여 목표 달성 여부를 판단할 수 있도록 합니다. ‘클릭률 증가’는 모호하지만 ‘클릭률 30% 증가’는 측정이 가능한 목표입니다. 질문3: 이 문제를 어떻게 풀 것인가?이제 잠재적인 솔루션에 대해 브레인스토밍할 때입니다. 문제에 대해 가능한 한 많은 정보를 알아내는 데서 시작하세요. 동일한 문제에 대한 연구가 있는지 확인하고, 이전에 유사한 문제를 다룬 사례를 업계 밖의 '평행선상의 다른 세계(parallel worlds)'에서 찾아보세요. 그룹 브레인스토밍을 진행 중인 경우 중재자로 한 사람을 선택하고 다른 사람들을 시간 관리자 및 회의록 작성자로 지정합니다. 그런 다음 문제를 해결하고 목표 및 주요 성과에 도달하는 데 도움이 될만한 솔루션을 최대한 많이 브레인스토밍하세요. 모두가 자신의 생각을 확장하도록 하고, 크고 작은 아이디어 모두를 가감 없이 공유하도록 하세요. 잠재적인 솔루션 목록이 준비되었다면 솔루션 트리에 넣어 목표를 구조화하고 이를 달성하는 방법(전략)을 모색합니다. 목표를 적는 것부터 시작하세요. 간단한 예로 목표가 ‘제품 매출 증대’라고 가정해 보겠습니다. 목표에서 다수의 가지가 뻗어 나와 ‘동일 제품 판매 증대’ 및 ‘신제품 판매 시작’과 같이 브레인스토밍한 솔루션을 하나씩 나열하도록 합니다. 문제처리능력은 문제를 해결해 나가는 실천과정에서 실제적으로 요구되는 능력이다. 문제처리 능력은 업무수행 중에 발생한 문제의 원인 및 특성을 파악하고, 적절한 해결안을 선택, 적용하고 그 결과를 평가하여 피드백 하는 능력을 말한다. 문제를 어떻게 합리적이고 효율적으로 해결할 것인가 하는 능력은 기업의 성패를 결정하는 중요한 요소로서, 문제처리능력을 배양함으로써 합리적인 문제해결이 가능하게 될 것이다. □ 문제처리능력이란?
■ 문제 인식
|