최근 초등학교 1학년 자녀의 산수 숙제를 도와주다가 문득 내가 몸담고 있는 IT 업계의 모습과 겹쳐 보이는 순간이 있었다. 아이의 눈높이에서 문제를 설명하려 애쓰던 경험이, 복잡하게 얽힌 프로젝트에서 팀원들과 소통하며 합리적인 방향을 찾아가는 과정과 놀랍도록 닮아있었기 때문이다.
1. 덧셈으로만 세상을 보려는 아이, 뺄셈의 풀이도 가르치려던 아빠
아이에게 주어진 산수 문제는 다음과 같았다.
"놀이터에 남학생은 7명, 여학생은 4명이 있습니다. 남학생은 여학생보다 몇 명 더 많은가요?"
어른에게는 너무나 당연하게 '차이'를 묻는 문제였고, 나는 자연스럽게 뺄셈식 '7 - 4 = 3'을 떠올렸다. 그래서 아이에게 7개의 바둑돌과 4개의 바둑돌을 놓고, 남학생 수에서 여학생 수만큼 덜어내면 남는 것이 '더 많은 수'라고 설명하려 했다.
하지만 아이의 생각은 달랐다. 아이는 자꾸만 '4 + 3 = 7'이라는 덧셈식에 집중했다. 여학생 수(4)에 얼마를 더해야 남학생 수(7)가 되는지에만 몰두했던 것이다. 아이의 관점에서는 '몇 명 더 많은가?'라는 질문이 '얼마나 더 있어야 같아지는가?'로 해석된 듯하다.
나는 '차이'라는 개념 자체를 설명하며 뺄셈의 관점에서 접근하려 했지만, 아이는 이미 익숙한 덧셈의 틀 안에서 문제를 해결하려 했다. 결국 '3명'이라는 답은 같았지만, 문제에 접근하는 방식과 세상을 이해하는 관점이 완전히 달랐던 것이다. 아이에게 뺄셈이라는 새로운 관점을 이해시키는 것은 생각보다 쉽지 않았고, 답답함과 함께 '어떻게 설명해야 할까?'하는 깊은 고민에 빠졌다.
2. 같은 결과, 다른 과정
아이의 수학 문제를 해결하려 애쓰던 경험은 내게 IT 프로젝트 현장에서 흔히 겪는 상황을 떠올리게 했다. 바로 겉보기에는 같은 결과를 내는 것처럼 보이지만, 문제 해결 방식이나 접근 관점이 달라 미묘하게 다른 결과나 예상치 못한 부작용을 낳는 경우다.
예를 들어, 특정 기능의 성능 저하 이슈를 해결해야 하는 상황을 가정해 보자.
- A 개발자 : "현재 로직이 비효율적이니, 데이터 처리 로직을 최적화하고 불필요한 연산을 제거하자. 근본적인 원인을 해결해야 한다." (마치 '7 - 4 = 3'처럼, 문제의 핵심(비효율)을 직접 덜어내려는 접근)
- B 개발자 : "일단 급한 불부터 꺼야 하니, 서버 사양을 높이고 캐시를 적용해서 응답 속도를 개선하자. 리팩토링은 시간이 걸리니 나중에 하자." (마치 '4 + 3 = 7'처럼, 부족한 부분(성능)을 외부 요소(자원)를 더해 목표치에 도달하려는 접근)
두 가지 방법 모두 '성능 개선'이라는 목표를 달성할 수는 있다. 하지만 A의 방식은 장기적으로 코드의 건강성을 높이고 유지보수 비용을 절감할 수 있는 반면, B의 방식은 단기적으로 효과를 볼 수 있지만 근본적인 문제가 해결되지 않아 기술 부채가 쌓이거나 운영 비용이 증가할 수 있다.
어느 방식이 절대적으로 옳다고 말하기는 어렵다. 상황과 제약 조건(시간, 비용, 리소스 등)에 따라 최적의 선택은 달라질 수 있다. 중요한 것은 각 방식이 어떤 관점에서 문제를 바라보고 있으며, 어떤 장단점과 잠재적 리스크를 가지고 있는지 팀 전체가 명확히 인지하고 공유하는 것이다.
3. 관점의 차이를 넘어, 합리적인 소통과 의사결정으로
아이에게 뺄셈을 이해시키는 것이 어려웠던 이유는 아이가 '덧셈'이라는 익숙한 프레임에 갇혀 있었기 때문이다. 마찬가지로 IT 프로젝트에서도 각자의 경험, 지식, 선호하는 기술 스택 등 '익숙한 프레임'에 갇혀 다른 관점을 보지 못하거나 소통에 어려움을 겪는 경우가 많다.
이러한 상황에서 우리는 어떻게 더 나은 방향으로 나아갈 수 있을까?
- 문제의 본질 명확히 정의하기: 우리가 해결하려는 진짜 문제가 무엇인지, 목표가 무엇인지 명확히 합의해야 한다. '성능 개선'이라는 모호한 목표보다는 '특정 API의 응답 시간을 Oms 이하로 단축한다' 와 같이 구체적이고 측정 가능한 목표 설정이 필요하다.
- 다양한 관점 경청 및 존중: 나와 다른 의견이나 접근 방식이 있다면, 그것이 어떤 배경과 논리를 가지고 있는지 열린 마음으로 경청해야 한다. 아이가 왜 덧셈으로 생각했는지 이해하려고 노력했던 것처럼, 동료의 제안이 어떤 장점을 가지는지 파악하려는 노력이 필요하다.
- 투명한 정보 공유 및 논의: 각 접근 방식의 장단점, 예상되는 효과, 잠재적 리스크, 필요한 자원 등을 투명하게 공유하고 충분히 논의해야 한다. 데이터나 객관적인 근거를 바탕으로 토론하는 것이 중요하다.
- 맥락을 고려한 합리적 의사결정: 단기적인 효과와 장기적인 안정성, 비용 효율성, 유지보수성 등 다양한 요소를 종합적으로 고려하여 현재 상황과 목표에 가장 적합한 방향으로 합의하고 결정해야 한다. 때로는 '7-4=3'이, 때로는 '4+3=7'이 더 합리적인 선택일 수 있다. 중요한 것은 왜 그 선택을 했는지 모두가 이해하고 동의하는 과정이다.
아이의 간단한 수학 문제 하나가 내게는 프로젝트에서의 소통과 협업의 중요성을 다시 한번 일깨워주는 계기가 되었다. 우리가 당연하다고 생각하는 '정답'이나 '최선의 방법'도 상대방의 관점에서는 전혀 다르게 보일 수 있다.
서로의 '프레임'을 이해하고 존중하며, 문제의 본질에 집중하여 투명하게 소통하고 합리적인 결정을 내리는 것. 이것이 바로 복잡한 프로젝트를 성공으로 이끄는 열쇠가 아닐까?
오늘 동료와 이야기할 때, 혹시 '뺄셈'의 관점만 고수하고 있지는 않은지, 상대방의 '덧셈' 이야기에도 귀 기울여보는 것은 어떨까?