문제에 직면 했을 때

 

image

프로젝트를 진행하다보면 다양한 문제에 직면한다. 문제를 왜 해결하지 못하는지와 문제를 해결하는 것에 대해서 느낀바를 적어본다.

문제를 해결하지 못하는 이유

사람들은 문제를 해결하기 위해 필요한 것이 무엇인지에 대해서 동일한 인식을 갖고 있지 않다. 특히 IT분야의 경우는 더욱 어렵다.

문제를 해결하기 위한 능력이 있더라도 자신감이 없다. 그리고 실수를 두려워한다. 문제를 해결하기 위해 시도할 수 있지만 여전히 방어망을 구축해둔다. 실패를 하더라도 비난 받으면 안되기 때문이다.

문제가 있을 때마다 조언을 구하는 사람들이 있다. 경험있는 사람이 조언과 지도를 해줘서 문제를 해결하더라도 스스로 생각하지 않도록 훈련시키는 결과가 발생할 수 있다.

단순한 문제를 해결하는 데 익숙하지만, 복잡한 문제를 해결하는 데 문제를 재정의하고 제약을 만들고 단위 단위로 분리하는데 익숙하지 않다. 능력이 없는 것이 아니라 좀 더 철저하고 집요하게 생각할 수 있도록 연습이 필요하다.

어떤 사람들은 특정 문제가 심각하다는 것을 인식하지 못할 수도 있다. 이 문제로 인해 발생할 수 있는 영향을 보지 못할 수도 있다. 더 큰 그림을 보려면 도움이 필요하다.

위에서 언급했지만, 집요하게 파고들지 않는 경우도 있다. 이 문제에 대해 무관심해지면 “그건 내 일이 아니라”라는 반응을 하는 경우가 있다.

채용 실수나 역할을 잘못 부여하여 적합하지 않는 경우도 있다. 그들이 무능력하다는 것이 아니라 그들의 능력이 역할에 적합하지 않을 수도 있다는 것을 알아야 한다.

문제를 해결하는 접근 방식

제약의 중요성

문제를 해결하는 사람은 문제에 대해서 명확하게 정의한다. 이게 정말 문제인지 아닌지 판단하기 위함이고, 문제로 인식될 경우에 해결 방안을 모색하기 위함이다.

문제로 인식이 되면, 제약을 만들어야 한다. 집중해야 할 부분과 하지 말아야 할 부분을 알아야 하기 때문이다.

너무 많은 선택권을 주면 창의성이 오히려 제한된다. 충분한 제약이 있으면 새로운 방식으로 해결방안을 찾도록 자극할 수 있다.

제약의 개념을 이해하기 위해서 놀이터를 예시로 들어본다. 놀이터 주변에 울타리를 설치하면 공간 전체를 아이들이 탐험하고 놀기 위해 사용한다. 울타리는 그들에게 안전과 안정감을 주기 때문이다.

반면, 놀이터 경계의 울타리가 제거되면 경계가 불분명해지고 아이들은 안전하게 느껴지는 중앙에 머무르게 된다.

명확한 제약이 없으면 현재 발생한 문제외의 다른 문제와 리스크를 언급하는 상황이 종종 발생한다. 본 문제에 집중하지 않고 다른 문제를 가져오면서 더욱 문제를 키우는 현상이 발생한다.

합의 실패 대응

문제를 해결하기 위한 충분한 지원을 받지 못하고 해결책을 내기 위한 연합을 구축하지 못하기 때문이다. 문제를 해결하기 위해서는 여러 이해관계자의 도움이 필요한데 합의를 얻지 못하는 경우 문제를 해결하지 못하는 상황이 종종 발생한다.

합의를 구축하는 방법에는 여러가지가 있지만, 개인적으로 유용하게 생각하는 것은 조용히 기반을 마련하는 일본의 네마와시 개념을 선호한다.

서양식 접근 방식은 아이디어나 프로젝트를 구상하고 이를 상사에게 제안한 후 아이디어가 좋으면 선택되는 것이다. 이런 접근 방식이 성공한다고 해도 이미 합의가 되지 않는 이해관계자와 협상해야 하기 때문에 진행하면서 수많은 장벽과 마주치게 된다.

네마와시는 초안 형식으로 준비하지만, 상사 뿐만 아니라 이해관계자와 함께 확인하여 합의를 구축한다. 인내심도 필요하고 고도의 정치도 필요하다.

이제까지 잘 지내오던 환경에 다른 것이 전달되었을때, 대부분 저항한다. 이것은 인간의 자연스러운 반응이다.

타이밍

타이밍이 전부다. QR코드가 처음 세상에 나왔을 때, 생각보다 사람들은 많이 사용하지 않았다. 일부에서 사용되긴 했지만 전체가 사용하기에는 어려움이 있었다.

COVID-19가 모든 것을 바꿨다. QR로 인증을 해야 했기 때문이다.

문제를 파악하고 제약 조건을 설정하고, 브리핑하고 해결 방안에 대해 합의 구축 및 실행을 하는 것이 문제 해결에 필요한 구성 요소이다.

트레이드 오프

몇 가지 문제를 해결했을 수도 있지만, 몇 가지 새로운 문제가 생길 수도 있다. 이 부분이 절충점이며 피할 수 없다. 이런 경우 아무런 조치를 취하지 않는 것에도 장단점이 존재한다.

예를 들어, React Hooks는 코드 재사용성에 대해서 대폭 단순화했지만, 추상화를 구축할 때 기억해야 하며 value/reference identity에 대해서 배워야 한다.

궁극적으로는 문제를 해결함으로써 새롭게 나오는 문제를 이전 문제보다 해결하기 쉽고 해결하기 위한 리소스를 저렴하게 만드는 것이다. 즉, 작은 문제 대신 큰 문제를 제거해야 한다.

결론

주의를 기울이고 한발 물러나서 올바른 문제를 해결하고 있는지 자문을 해야 한다. 다른 문제에 대한 해결책에서 발생한 문제를 해결하고 있을 수도 있기 때문이다.

문제는 계속 발생하기에 가장 중요한 것은 문제를 해결하고 더 큰 문제가 발생하지 않도록 하는 것이다.

잠깐, 글이 유익했나요?

Buy Me A Coffee