잘 만든 시스템 하나로 미친 효율 얻는 방법
세 번 이상 반복하고 있는 업무가 있나요?
토스에는 팀원들이 업무를 잘할 수 있게 하루 종일 도와주는 인터널 제품들이 있어요. 이런 제품들은 운영 비용을 절감하고 업무를 효율적으로 돕는 중요한 가치를 제공해요.
툴즈 프로덕트 디자이너는 이런 인터널 제품을 만드는 것은 물론, 이 제품을 쓰는 데에 드는 운영 비용을 줄이는 일도 함께 하고 있어요.
그런데, 조직의 규모가 커지면서 불편한 점들이 생겼어요. 필요한 기능이 계속 늘어나는데 만들 사람은 부족했거든요. 그리고 같은 기능을 여러 사람이 각자 바닥부터 고민해서 만드는 비효율적인 상황도 생겼어요.
인터널 제품들 중에는 CH팀이나 오퍼레이션 등의 팀원들의 업무를 돕기 위해 여러가지 기능을 제공하는 제품이 있어요.
그 중에 권한을 관리하는 기능을 예시로 들어볼게요. 팀원이 권한을 신청하면 관리자가 부여하고 관리하는 기능이에요.
이 기능은 복잡하지만 아주 기본적인 기능이어서 모든 계열사에서 필요해요. 그런데 각 계열사에서 제품이 새로 생길 때마다 똑같은 기능을 밑바닥부터 다 따로 만들고 있었어요.
왼쪽 : 계열사 1의 상담 관리 제품에서 만든 권한 관리 기능오른쪽 : 계열사 2의 유통 관리 제품에서 만든 권한 관리 기능
또 다른 예시로 돈을 잘못 송금했을 때 돈을 돌려받도록 도와주는 착오송금 기능이 있어요.
이것도 한 번만 고민해도 오래 걸리는데 코어, 뱅크 등 계열사마다 다 따로 만들어야 하니까 너무 비효율적이잖아요. 게다가 일반, 미성년자, 토스아이디 등 송금 종류별로도 다 따로 고민해서 만들어야 하는 거예요.
그러면 이런 문제를 어떤 과정으로 해결해나갔는지 알려드릴게요.
비효율적이지만 하나하나 개선하기
제일 처음 한 일은 무작정 제품 개선하기였어요.
일단 다 뜯어보기 전에는 수십, 백몇 가지 백로그 중에 어떤 경험들이 반복되거나 유사한지 알기가 어렵거든요. 기능을 하나씩 개선해나가면서 어떤 공통된 규칙을 찾을 수 있는지 파악하는 거예요.
그 시작은 상담에 필요한 업무들을 처리하는 ‘비바매니저’라는 제품이었어요. 오랜 시간 여러 사람들이 규칙 없이 개발하는 바람에 통일된 사용 경험을 주지 못하는 상황이었죠.
불필요하게 나눠진 정보를 통합하고 분산된 운영 경험을 하나로 이어주었어요.이런 단순한 작업만으로도 효율을 낼 수 있어요.
이 제품을 개선하는 처음 몇 개월은 기능을 직관적으로 사용하고 정보를 효율적으로 파악하게 만드는 작업을 했어요. 예를 들면 함께 봐야하는 정보를 모아주고, 다른 제품을 오가는 비용이 일어나지 않도록 기능을 연결해주는 것처럼요.
그런 것들을 다 해결하고 나니까 자동화할 수 있는 것들이 보이기 시작했어요.
예를 들어 CH 팀이 고객에게 송금 내역 등의 문서를 보내줄 때 고객이 불러준 이메일 주소를 받아 적고, 고객에게 동의를 받았다고 기록하고, 비밀번호로 잠긴 파일을 다운받고, 보안 환경에서 일반 인터넷 환경으로 파일을 옮기고, 구글 메일로 고객에게 파일을 보내고, 다시 보안 환경에서 이메일을 보내는 일련의 과정을 건당 평균 45분에 걸쳐 처리하고 있었어요.
이런 복잡한 과정을 하게 자동화해서 5분 내로 처리할 수 있게 도와주는 거죠. 이런 식의 자동화를 또 몇 개월 하면서 운영 비용을 줄여나갔어요.
1년 간 쌓인 문제들에서
패턴을 발견하고 시스템으로 만들기
자동화를 포함해서 1년 간 60가지가 넘는 운영 비효율을 하나하나 해결했어요. 그러고 보니까 통일된 경험으로 묶을 수 있는 패턴들이 보이기 시작했어요.
비슷하게 반복되는 경험들
- 송금 내역, 상담 내역 등 정보를 검색하는 경험들
- 계정 차단, 비밀번호 초기화, 주문 취소, 수수료 면제 등을 처리하는 관리 경험들
- 착오 송금, 부정 거래건 등 특정 내역을 기관에 접수하고 진행 상태를 관리하는 경험들
- 다양한 상황에서 데이터를 수정하거나 추가하는 경험들 등
비슷한 경험들을 묶어서 규칙을 만들어내는 과정
여러 제품에서 필요한데 할 때마다 새로 고민하는 것들
- 로그인과 본인 인증하는 과정 구현하기
- 권한을 관리하고 운영하는 기능 구현하기
- 메뉴 구조를 만들고 전체적인 레이아웃을 구성하기 등
계정 차단, 비밀번호 초기화, 주문 취소, 수수료 면제 등을 처리하는 운영 기능에 대한 패턴
처음에는 다 다른 문제라고 생각해서 할 때마다 새로 개선했던 것들이 알고 보니 비슷한 경험이어서 하나의 해결책으로 통일될 수 있었던 거죠. 이런 것들을 모으고 규칙으로 만들어서 20가지 정도의 패턴으로 시스템화했어요.
정보 구성에 대한 패턴
그 결과, 지금은 비바매니저라는 제품의 93%를 이 패턴으로 자동화할 수 있게 됐어요.
이렇게 했더니 팀에서는 제품에 필요한 정보나 기능을 빠르게 업데이트할 수 있게 되었어요. 개발자가 하나하나 힘들게 개발하지 않아도 되도록 짧은 명령어를 입력하는 것만으로 기능을 쉽게 추가할 수 있도록 구현했거든요.
그리고 무엇보다 익숙하고 일관되게 사용 경험이 통일되어 CH 팀이나 오퍼레이션 메니저 분들이 기능마다 따로 학습하는 문제가 훨씬 줄어들었어요.
여러 제품, 다른 계열사까지 전파되고 있는 시스템
이런 유용한 시스템을 한 제품에서만 쓴다는 건 아까운 일이었어요.
토스에서는 인터널 제품을 두 개 이상 사용해서 일하는 경우가 절반 가까이 되는데 아직도 제품들은 각기 사용성이 다르고 학습 비용이 높았거든요.
그래서 우리 팀에서는 이 시스템을 다른 제품에도 적용할 수 있지 않을까? 하는 생각을 했고 인터널 플랫폼 팀에서도 공감하여 플랫폼을 구축해 주었어요.
이 플랫폼은 우리 팀이 아닌 그 누구라도 이 시스템을 사용할 수 있게 도와주는 환경이에요. 반복적인 고민을 하지 않아도 되고 개발 비용도 대폭 줄일 수 있다는 장점이 시스템 전파에 불을 붙이기 시작했어요.
이 과정에서 여러 추가 가치를 제공하게 되었는데요. 예를 들면 시스템이 업데이트되면 플랫폼을 사용하는 모든 제품과 계열사가 그 혜택을 누릴 수 있게 됐어요. 각 계열사의 망분리 환경에서도 이 플랫폼을 사용할 수 있고, 개인 정보 마스킹, 접근통제, 이중 본인인증, 파일 암호화 등 플랫폼에서 자체적으로 보안 장치가 되어있어서 보안에 대한 고민을 제품마다 따로 할 필요가 없어졌어요.
현재 토스 증권 원장 관리 시스템, 토스 페이 어드민, AML 시스템 등 이미 전사의 많은 팀과 계열사에서 어드민 플랫폼 환경 위에서 제품을 구현하고 사용하고 있어요.
복리 효과를 내는 습관과 시선 갖기
사실 전체적인 효율을 봤을 때 결과는 좋았지만 과정은 순탄하지만은 않았어요.
시스템화하는 작업이 처음이라 규칙을 잘못 만들어 여러 번 고치기도 하고, 제품 개발도 병행하니까 초반에는 시간이 두 배나 걸렸거든요.
하지만 1년간 문제를 반복한 팀원 모두가 이것의 중요성을 알고 포기하지 않았고, 시스템을 활용하니 초반 두 배의 시간이 걸린 것을 만회하고도 남는 폭발적인 속도를 낼 수 있었어요. 또한 제품에 적용하는 과정에서 이터레이션을 돌며 시스템이 점차 견고해졌어요.
함께 자라기 애자일로 가는 길(김창준 저)
이런 식으로 일하는 방식은 ‘함께 자라기’라는 책에서도 소개하는 일의 복리 효과와도 같아요.
‘원래 하던 일’을 단순히 똑같이 해내는 것이 아니라, ‘더 잘하게 만드는 도구’를 만들어서 원래 하던 일을 훨씬 더 빠른 속도로 해낼 수 있어요. 효율이 복리로 쌓이게 만드는 거죠. 비효율적인 상황을 참지 못하는 마음 하나가 일을 훨씬 더 효율적으로 돕는 도구를 만드는 계기가 되는 거예요.
그리고 이 과정에서 나와 팀이 함께 성장할 수 있어요. 토스에서 툴즈 프로덕트 디자이너로 일하면서 이런 ‘더 잘하게 만드는 도구’ 를 만들고 더하기가 아닌 곱하기 속도를 낼 때 가장 큰 보람을 느껴요.
💡 우리 팀에 적용하는 방법
그러면 이런 ‘더 잘하게 만드는 도구’는 어떻게 만들까요?
1단계 과거에 어떤 일을 했는데 지금 또 비슷한 일을 하고 있다면 앞으로 또 이런 일이 생길 것 같은지 생각해 봅니다.
🤔 토스 코어에서 제품 사용 권한을 관리하는 기능을 만들었는데, 알고 보니 증권에서도 따로 만들고 있었다. 그렇다면 뱅크에서도 앞으로 만들게 될까?
2단계 과거에 일했던 지금의 과정을 규칙으로 만들어서 간단히 정리해 보세요. ‘이런 일은 이런 방법으로 해결한다.’라는 식으로요. 개발하거나 디자인을 거창하게 할 필요 없이 정리만요.
🤔 권한 관리 기능을 만들 때는 팀원이 권한을 이렇게 신청하고 관리자가 이렇게 관리하게 한다는 플로우를 항상 동일하게 사용해야겠다.
3단계 또 반복적인 일을 하게 되었을 때 이 규칙대로 그 일을 해보는 거예요. 그러면서 규칙을 더 쉽고 간단하게 다듬는 거죠. 활용되지 않는 규칙은 없애고, 많이 활용되는 규칙은 더 정교하게 만들어요.
🤭 권한 관리 기능을 바닥부터 구현하지 않고 패턴만을 활용해서 증권과 플레이스에서도 제품에 바로 적용해 볼까?🤔 흠… 해보니까 여러 권한을 그룹으로 묶어주는 기능은 코어에서만 필요하니까 공통 규칙에서 제외하자.
팁 : 잘 안 맞는 규칙에 기능을 억지로 끼워 맞추느라 불편한 사용 경험을 주지는 않는지 고민해 보는 과정도 중요해요. 그런 과정으로 만든 규칙은 확장성이 좋아지고, 그저 일관되기만 하는게 아니라 직관적으로 제품 사용 경험을 전달해요.
여기까지만 해도 충분히 나만의 도구가 완성됩니다. 일단 이것은 내 업무에서 적극적으로 활용할 수 있어요.
4단계 위의 과정을 충분히 해봤다면, 그 도구들 중에 효과가 큰 일이 무엇인지 생각해 봐요. 일의 발생 빈도, 건당 소요 시간, 일을 하는 사람의 수, 휴먼 에러에 대한 리스크의 크기 등을 기준으로 따져보면 우선순위가 생길 거예요.
🤔 패턴이 너무 많은데…? 가장 우선순위가 높은 ‘페이지 구성하기’, ‘정보 검색하기’, ’상태 변경하기’ 같은 것들만 한두 개 먼저 만들어서 활용해 보고 또 추가하자. (어드민 플랫폼에서 사용하는 패턴도 처음부터 한 번에 다 만든 것이 아니라, 이런 흐름으로 20가지가 나오게 됐어요.)
5단계 그러면 그런 것들은 실제로 동작하게 만들어보세요. 위의 과정들로 충분히 함께할 개발자를 설득할 수 있을 거예요. 그러고 나면 개인도, 프로젝트도 함께 성장하는 일만 남았답니다.