문제 해결을 위해 고민해야 할 것들

 

image

팀원들이 타 부서와 미팅을 하고 와서 상기된 표정으로 불만을 토로했다. 정해진 것이 없는 시간만 낭비한 회의라는 것이다. 기존 방식의 알고리즘을 바꾸기로 방향성은 정해진 것 같았다. 내부에서 돌던 분석 알고리즘이 시스템 밖에서 동작이 될 것이고 그 결과를 받아서 애플리케이션에 적용해야 하는 상황이다. 그리고 화이트보드에 모여서 어떤 방식으로 인터페이스를 할 것인지 논의를 시작했다.

가만히 지켜보다가 몇 가지 질문을 던졌다.

“알고리즘이 바뀌면 어떤 영향이 있을지 파악하셨나요?”

“…..”

우리가 일하는 분야에서는 문제 해결 능력이 매우 중요하다. 문제 해결 능력은 위의 상황들이 반복되면서 키워진다고 생각한다. 하지만, 그냥 지나가 버리면 역량을 키울 수가 없다. 아래의 사항들을 항상 고민하면서 업무를 수행해야 한다.

  1. 문제 해결 과정을 학습 - 문제를 발견하고 해결하는 과정은 다양한 방법과 기술이 포함된다. 본인보다 경험이 많은 동료가 문제를 어떻게 푸는지 학습하고 익혀야 한다. 그리고 주변에서 발생하는 문제들에 대입을 하면서 테스트해봐야 한다.
  2. 새로운 기술을 학습 - 문제점을 파악했지만, 어떤 기술을 사용해서 해결할지는 지식내에서 결정된다. 따라서 계속해서 새로운 기술과 트렌드를 학습해야 한다.
  3. 경험을 쌓자 - 문제 해결 능력은 경험을 통해 발전한다. 다양한 상황에 놓여야 복잡한 문제를 해결할 수 있다. 문제가 생긴 것을 원망하지 말자
  4. 동료와 협력 - 동료와 함께 문제를 해결하면 더 좋은 결과를 얻을 수 있다. 함께 협력하면서 해결하는 방법을 배워야 한다.
  5. 문제의 본질 파악 - 문제의 본질을 파악해야 한다. 문제를 일시적으로 해결하는 것보다 근본적인 원인을 찾아내어 그 문제가 재발하지 않도록 해야 한다.
  6. 예측하고 대비 - 발생할 수 있는 문제를 미리 예측하고 대비하려고 항상 고민해야 한다. 문제가 발생했을 때 대처하는 방법을 미리 계획해두면 더 빠르게 해결할 수 있다.

위의 사항들을 참조해서 아래의 형태로 문제를 해결하자고 논의했다.

  1. 알고리즘이 변경됨에 따라 기존 데이터를 대체하는 것인지, 혹은 일부 유지해야 하는 것인지 확인 (기존 로직을 유지해야 하는지 확인 목적)
  2. 변경에 따른 시스템 영향도 파악
  3. 알고리즘 변경에 따라 schema 변경을 해야 할지, 아니면 유지할지 고민
  4. 3번 사항이 결정되면, 인터페이스 방식 결정
  5. 인터페이스 방식에 따른 연동 규격서 작성 후 논의
  6. 개발

미팅 시, 상호 이해 관계가 다른 상황이 많이 생긴다. 이럴 때 가장 중요한 것은 내부를 먼저 파악하는 것이다. 그리고 상대방의 이해 관계를 파악해야 한다. 그래야 상호간 협의 접점이 생기기 때문이다. 손해를 보면서 함께 하려는 사람은 지구상에 없다고 생각한다. (가족 제외)

잠깐, 글이 유익했나요?

Buy Me A Coffee