Search
Duplicate
💭

500건의 크래시를 방치 할 수밖에 없었던 이유와 그걸 해결한 과정

Created
2019/04/12
Tags
Global
Debugging
Teamwork
Programming
Flitto에선 중국 쪽 마케팅 분석을 위해, UmengAnalytics를 쓰고 있습니다. 그런데 Crashlytics의 리포트를 보면, 압도적으로 많은 크래시가 바로 이 UmengAnalytics에서 발생했습니다. 3개월간 800건 정도의 크래시가 발생했는데, 그 중 500개가 UmengSignalHandler 에러였으니까요. 아무리 마케팅 분석에 도움이 되더라도, 이는 도저히 용납할 수 없는 숫자라고 생각했습니다. 저는 마케팅 팀에게 이렇게 얘기하려 했습니다.
Umeng에서 너무나 많은 크래시가 발생하고 있습니다. 이는 용납할 수 없는 수준입니다. 아무리 마케팅에 도움이 되더라도 크래시가 나서 앱을 사용 못하면 아무 의미가 없습니다.
저는 팀원들에게 이런 제 의견을 공유했습니다. 그리고 설령 중국 마케팅팀에서 반대를 하더라도 강경하게 제 의견을 말하겠다고 했지요. 하지만 팀원들은 그렇게 나가면 문제가 해결되지 않을 것이라고 했습니다. 강경하게 나가면 오히려 더 반발을 일으킬 뿐이라고요. 같은 얘기더라도, 다음과 같이 얘기하면 좋을 것이라는 조언을 해주었습니다.
Umeng의 기능이 크래시를 자주 내고 있는데, 혹시 Umeng을 대체할 다른 분석 툴을 알아봐 줄 순 없겠습니까?”
듣기에도 좋고, 내가 원하는 바를 이를 수도 있으며, 실질적으로 문제를 해결 할 수 있는 화법이라고 생각했습니다. 아마 제가 처음 내가 생각한 대로만 말을 했더라면 서로 감정만 상했겠지요.
하지만 얘기는 여기서 끝나지 않습니다.
저는 중국팀에 그런 의견을 전달하기 전에, 직접 Umeng을 대체 할 수 있는 분석툴을 간단하게나마 찾아보기로 했습니다. 그래야 향후 커뮤니케이션이 원활하게 이루어질 수 있을테니까요. 그런데 막상 조사를 하다보니, Umeng의 개발자 홈페이지가 (중국어로만 되어 있다는 점만 제외하면) 상당히 잘 되어 있다는 것을 깨달았습니다.
이렇게 잘 관리되고 있는 회사의 SDK가 왜 그렇게 많은 크래시를 일으킬까? 혹시 우리가 Umeng의 SDK를 잘못 사용하고 있는 것은 아닐까? 라는 의심이 들었습니다. 실제로 Umeng은 제가 입사하기 훨씬 전 부터 사용되던 툴이고, 그 툴의 사용법이 모두 중국어로 되어 있으니 그 툴을 처음에 적용할 때 중요한 설정을 빼먹었을 가능성도 충분히 있는 일이었습니다.
크롬의 웹페이지 번역 기능을 활용해 Umeng의 개발자 문서를 뒤지다 보니, 해결의 실마리를 잡을 수 있었습니다. Umeng의 개발자 문서 중, FAQ에 이미 내가 원하는 질문과 답변이 등록되어 있었던 것이죠.https://developer.umeng.com/docs/66632/detail/68053
결론적으로 UmengSignalHandler는 크래시를 일으키는 지점이 아니라, 크래시를 리포팅하는 지점이었습니다. 크래시는 다른 원인에 의해 발생했고, Umeng은 그 크래시를 리포팅하는데, Crashlytics가 같은 크래시를 리포팅 할 때 Umeng이 마침 크래시를 리포팅하는 시점의 콜스택을 포착한 것 뿐이었습니다.
그리고 Umeng의 크래시 리포팅 대시보드에 들어가보니, 과연 우리가 그 동안 놓치고 있었던 다양한 크래시 정보들을 볼 수 있었습니다.
결론은 간단했습니다. 크래시 리포팅 툴은 중복으로 사용하면 안 되는 것이었습니다. 그래서 Umeng의 크래시 리포팅 기능을 비활성화 시킴으로서, 문제는 간단히 해결되었습니다.
결국 개발팀과 마케팅팀간의 감정싸움으로 번질 수도 있었던 일은, 모두가 원하는 바를 얻으면서도 그 동안 우리가 놓치고 있던 많은 문제들을 다시 발견할 수 있는 계기가 되었습니다.
이 일은 사람을 대하는 태도 전반에 많은 것을 뒤돌아 보게 만들었습니다. 상대방에게 강경하게 내 의견을 말하는 것은 정말 최후의 수단일 것입니다. 상대방의 입장에서 문제를 바라보고 상대방과 공감하면서 문제를 해결 할 수 있는 방법이 손만 뻗으면 닿는 곳에 얼마든지 있을 수 있습니다.

참고링크