지난 8월에 배포된 카카오뱅크 앱 2.28의 변경 사항(Release Note)을 보면 눈에 띄는 대목이 있습니다. 바로 “이제 7세부터 mini와 mini 생활을 이용할 수 있어요” 라는 한 줄이죠.

그동안 카카오뱅크 mini 서비스는 14세 이상의 고객만을 대상으로 하고 있었습니다. 그래서 많은 mini 고객분들이 만 14세가 되는 날, 그러니까 14번째 생일 자정에 mini 계좌를 만드시곤 했답니다. 자기 명의의 휴대폰이 있으면 스스로 mini 계좌를 만들 수 있기 때문에, 약간 mini 성년식 같은 느낌도 있었죠. 그런데 이번 Release부터 7세 이상이면 mini 서비스를 이용할 수 있게 되었다고 합니다. 👏👏👏

release-note-2.28-version-image
2.28.0 버전의 Release Note 발췌

가입 고객의 연령을 낮춘다는 것이 그렇게 쉽진 않았다고 하는데요. ‘mini 연령 하향’ 프로젝트가 탄생하기까지의 과정을 되돌아보고, 그 이면에 어떤 🔥피땀눈물😭이 숨어 있었는지, 계좌의확장캠프 개발자 ProdoWind를 만나 그 이야기를 직접 들어봤습니다.

사용자에게는 순간의 편리함이지만, 그 작은 변화를 만들기 위해 어떤 고민과 노력이 있었는지 조명해보는 Release Note 비하인드🔍 시간입니다. 특별한 Release 버전 이야기를 찾고 담당자를 만나 인터뷰한 내용을 공유드립니다. 저는 DevRel 담당자인 Ashley 입니다.

Interview Start!

Q1. 안녕하세요! 소속부서인 계좌의확장캠프에 대해 간단하게 소개 부탁드려요.

Prodo, Wind. 안녕하세요, 계좌의확장개발팀에서 서버개발을 담당하고 있는 Prodo, 모바일개발을 담당하고 있는 Wind입니다. 저희 둘이 소속된 계좌의확장캠프는 개발자, 기획자를 포함한 다양한 직군의 전문가들이 하나의 팀으로 모여 7세 이상의 미성년 고객층에 집중한 mini, mini 생활 서비스를 만들어나가고 있습니다. 캠프명에서도 추측해 보실 수 있듯이 ‘카카오뱅크 계좌를 이용하는 고객층을 확장해 나가겠다!’ 라는 의지가 잘 녹아든 조직이라고 할 수 있을 것 같습니다.

Q2. mini 서비스와 mini 생활 서비스에 대해서도 소개 부탁드립니다.

Prodo. ‘mini’는 미성년자를 위한 금융서비스입니다. mini계좌, mini카드, 그리고 26일 저금이 있습니다. 미성년자의 경우 일반적인 요구불계좌를 만들 수 없기 때문에 선불전자지급수단을 활용해 만든 것인데요, 고객 입장에서 보면 계좌 보유 및 이용 금액의 한도만 있을 뿐, 은행 계좌와 거의 같은 느낌으로 사용할 수 있답니다. 미성년자 고객분들이 용돈을 받고, 쓰는 정도로 활용하기에는 충분한 서비스죠. 저축하는 습관도 기르고, 좀 더 어릴 때부터 금융 경험을 쌓을 수 있는 기회가 될 것 같아요.

Wind. ‘mini 생활’ 서비스는 만 7세부터 19세 미만의 미성년자를 대상으로 하는 생활 플랫폼 서비스입니다. 미성년자의 경우 성인과는 다른 법적 요건을 적용받고 있기 때문에, 우리가 접하는 대부분의 은행 앱에서는 미성년 고객이 앱 안에서 경험해 볼 수 있는 금융 서비스가 한정적인 편입니다. 하지만 카카오뱅크는 은행을 넘어 금융 플랫폼을 지향하기에 ‘꼭 금융 서비스일 필요 없이, 다른 걸 보여줘도 되겠다’ 싶었어요. 그 나이대에서 가장 필요한 서비스가 무엇일까 고민했고요, 그래서 우리 학교의 급식표와 시간표를 확인할 수 있는 서비스를 만들었습니다. mini 통장이나 카드가 없어도 사용할 수 있는 비금융 서비스인 셈이죠.

mini-service-feature-image
학교별 급식표, 시간표, 그리고 즐겁게 저금하는 습관을 기를 수 있는 mini 26일 저금 상품

Q3. 이번 2.28.0 버전에서 ‘mini 서비스의 가입 최소 연령이 하향’되면서 어떠한 부분이 크게 바뀌었는지 설명 부탁드립니다.

Prodo. 기존 가입 절차를 보면, 본인 명의의 휴대폰을 소유한 만 14세 이상의 미성년자만이 mini 가입을 할 수 있었습니다. 이때 ‘만 14세 이상’이라는 제한을 풀고 mini 가입이 가능한 연령층을 확대하고자 법정대리인의 동의 절차를 받은 ‘만 7세 이상’의 미성년자를 위한 가입절차를 준비하고 있었어요.

그런데, 연령하향 작업 과정에서 여러 우여곡절이 있었습니다. 처음 개발을 협의하는 단계에서의 요건은 ‘부모가 동의하면 가입’이었습니다. 그런데 ‘법정대리인이 동의하면 가입’으로 요건이 변경되면서 그에 맞는 프로세스로 변경해야 했습니다. 그런데, 다시 ‘자식과 부모의 가족관계를 문서로 확인해야만 가입하는 방식’으로 요건이 변경되면서 다시 처음부터 가입절차를 개발해야 했죠.

구체적으로 말씀드리면, 인증 프로세스가 ‘자녀 기기에서 부모 기기로 문자를 보낸 뒤, 그 문자에 있는 인증번호를 입력하는 방식’에서 ‘공공 마이데이터 시스템을 이용한 주민등록등본 확인’으로 바뀐 것입니다. 이는 완전히 새로운 프로세스인 만큼 새롭게 개발을 해야 했습니다.

Wind. 자식과 부모의 관계를 확인할 때 가족관계증명서를 보면 서로 가족인 것을 정확하게 알 수 있습니다. 그런데 가족관계증명서는 대법원에서만 가져올 수 있는 정보로, ‘공공 마이데이터’에서는 지원하지 않았어요. 이 부분을 해결하기 위해 주민등록등본을 이용해서 현재의 가족관계를 확인도록 구현했습니다.

Q4. 자식과 부모 관계를 설정할 때, 특별히 중점을 두고 설계한 부분이 있을까요?

Prodo. mini는 카카오뱅크에서는 처음으로 고객을 부모 - 자식 관계로 연결하는 서비스입니다. 큰 틀에서 본다면, 자녀가 부모에게 mini 서비스 가입 요청을 보내고, 부모가 이를 승인하면 자녀가 자연스럽게 mini 서비스를 이용할 수 있는 흐름을 만들고자 했어요.

어찌 보면 부모의 승인이 있어야 가입할 수 있는 ‘자식’이라는 새로운 형태의 고객을 신규 생성한 것이라고 볼 수도 있겠습니다. 이 과정에서 기존의 레거시 코드들을 자세히 파헤쳐서 최대한 영향도를 낮추는 방식으로 설계하고 개발을 진행했습니다.

Q5. 고객 형태가 새로 생긴다면, 정말 영향받을 수 있는 기존 코드가 많았을 것 같아요.

Wind. 맞습니다. 고객 형태는 기존에 존재하던 수많은 로직에 영향을 주다 보니, 어디서 어떤 사이드 이펙트가 있을지 쉽게 장담할 수 없었습니다. 그러다 보니 예상하지 못한 문제가 생기지 않도록 영향도 분석과 테스트에 정말 많은 노력을 기울였습니다.

저희도 모든 케이스들을 처음부터 인지한 상태에서 개발을 시작한 건 아니었어요. 그러다 보니 QA때 참 많은 예외 케이스들을 경험했었는데요. 이를 빠르게 대응하기 위해 여러 개발자들이 달라붙어 서버 코드와 클라이언트 코드를 분석하면서 맞춰보는 작업을 집중적으로 진행했습니다.

이 과정에서 Figma에서 작업한 디자인 시안을 그대로 가져올 수 있는 Figjam을 협업 툴로 사용했는데요. 이를 통해 기획, 개발, QA 담당자가 모두 한 화면에서 전체 시나리오를 나열해 보고 한눈에 확인 가능한 플로우를 만들어나갈 수 있었습니다.

full-scenario-on-figjam-for-all-image
기획, 개발, QA 담당자 모두가 전체 시나리오를 보기 위한 화면

수많은 레거시 코드 속에서 안전하게 개발할 수 있었던 것도, 모든 관계자가 하나의 문서를 보면서 각 단계를 이해하고 그때그때 필요한 부분들을 챙길 수 있었기 때문이라고 생각합니다.

Prodo. mini 서비스는 계좌의확장캠프가 만들어지기 이전부터 개발되었는데요, 그때 기획하고 개발해 주신 분들이 정말 꼼꼼하게 문서 정리를 해두셨습니다. 그 부분도 큰 도움이 되었던 것 같아요. 개발과 기획 과정에서 매번 문서화를 챙기는 것이 쉬운 일은 아니지만, 정리를 잘해두면 빛을 발한다는 게 이럴 때를 두고 하는 말 같네요.

Q6. 그 밖에도 기술적으로 고민하셨던 부분이 있었는지도 궁금해요.

Prodo. 그 외로 기술적으로 좀 고민되는 점이 있었다면, 나이스 정보 연동 부분이 있습니다. 아무래도 우리가 직접 관리하는 서비스가 아니다 보니, 나이스에서 시스템 유지보수 작업이 있다거나 장애가 발생한다면, 우리 고객에게도 영향을 줄 수 있기 때문입니다. 그래서 나이스(NICE) 서버에서 제공하는 오픈 API를 통해 약 7일 치에 해당하는 급식표, 시간표 정보를 모두 당행 서버로 이관한 후 서비스하는 구조로 만들기로 했습니다. 사용자 경험에 집중한다는 차원에서 그렇게 하기로 한 것이었죠. 사실 미리 정보를 당겨 받아와서 서비스한다는 것이 그렇게 어려워 보이는 일은 아니긴 합니다만, 데이터가 워낙에 크다는 것이 문제였어요. 감이 안 오실 것 같아서 좀 더 설명드리자면, 학사 일정은 150만 개, 시간표는 210만 개가 넘는 규모입니다. 구현과정에서 어려움이 없진 않았지만, 덕분에 어떤 외부적 상황에서도 사용자가 불편함 없이 안정적으로 서비스를 이용할 수 있게 되었기 때문에 뿌듯한 점이 있습니다.

생각해 보면 카뱅 안에는 대용량 데이터를 다뤄본 경험이 있는 동료분들이 많이 있기 때문에, 더 수월하게 프로세스를 구축할 수 있었던 것 같기도 합니다.

Q7. 이번 프로젝트가 Prodo와 Wind에게 어떤 의미를 가진 프로젝트였나요?

Prodo. 개인적으로는 2018년도 입사한 이후, 처음으로 고객의 가입 단계부터 CS까지 end to end를 챙겨본 프로젝트였던 것 같습니다. 그러다 보니 전 단계를 거쳐 발생하는 수많은 예외 케이스를 매번 고려할 수밖에 없었는데요. 예를 들어 ‘자녀의 기기 분실신고 해제를 위한 부모동의 프로세스’를 구축한다던가 ‘인증 비밀번호 입력 실패 시 재입력하는 프로세스’를 만든다던가 하는 일들이 있었습니다. 기존에는 이렇게 다양한 상황에 대응하기 위한 고민보다는, 구체적으로 정해진 스펙에 기반해 API를 개발해 왔던 편이었는데요. 이번 mini 서비스를 만들어나가는 과정에서는 미리 다양한 시나리오에 대해 생각해 보고, 여러 가지 경우의 수를 모두 구현해 보는 경험을 할 수 있었습니다. 서비스와 시스템을 보는 시야가 좀 넓어졌다는 것이 큰 소득이라고 할 수 있겠네요.

Wind. 저는 2019년도에 카카오뱅크에 합류하면서 처음으로 맡게 된 서비스가 mini였습니다. 그때 ‘미성년 고객’이라는 새로운 고객층을 만들어나가면서 가입부터, 신규 통장 개설, 카드 신청과 발급, 그리고 인증까지. 위에서 Prodo 가 말씀해 주신 것과 비슷한 경험을 먼저 맛보고 있었죠. 그런 경험을 했음에도 불구하고, 이번에는 더 복잡성이 높고, 개발이 까다로운 점이 있었습니다. 기존 mini가 14세 이상의 미성년 고객이 스스로 가입할 수 있는 서비스였다면, 7-13세까지 가입 연령층이 확대되면서 부모동의 단계가 새로 생겼기 때문입니다. 자식과 부모 즉, 고객과 고객 사이의 관계를 맺어주기 때문에, 보통 1개의 기기만 고려하면 되었던 일반적 경우와 달리, 2개의 서로 다른 디바이스에서 진행하는 경우를 고려해야 되는 것이죠.

어찌 보면 카카오뱅크가 2017년에 오픈한 이래로, 새로운 고객층을 만들어본 서비스는 mini가 유일할 것 같습니다. 이번 mini 연령하향 프로젝트로 다시 한번 그 새로움을 경험할 수 있었고요.

참고로 다음 업데이트에서는 좀 더 다양한 가족 형태를 받아주기 위한 준비를 하고 있는데요. 예를 들어 세대주의 자녀로 등록되어 있지 않거나, 자식이 부모님과 따로 사는 경우에도 자녀가 mini 가입을 할 수 있도록 열심히 작업하고 있습니다. 어서 빨리 더 많은 미성년 고객분들이 mini를 이용할 수 있으면 좋겠네요!

마무리하며

이번 mini 연령하향 프로젝트는 ‘자식’이라는 신규 고객 유형이 추가되었고, 부모-자식이라는 고객 간의 관계도 생겨나게 됨에 따라 복잡성이 크게 늘어났던 프로젝트였던 것 같습니다. 개발은 어찌 보면 복잡성과 싸움이라고 볼 수 있는데요, 기획자, 개발자, QA 모두가 같은 화면을 보면서 소통하는 캠프의 장점이 잘 드러난 사례가 아닌가 합니다.

앞으로도 더 많은 미성년 고객들이 카카오뱅크의 서비스를 안정적이고 편리하게 사용할 수 있도록 응원하며, Release 2.28.0 비하인드 인터뷰를 마무리하겠습니다.

더 많은 미성년 고객분들이 이용할 수 있게 된 mini와 mini생활, 앞으로도 화이팅입니다!