brunch

일괄 생성을 위한 백오피스 설계

200여개 학교 도입에 발생하는 대량 계정/기관 관리 문제, 어떻게 풀까

by Zito

“왜 우리는 매번 유저의 계정을 생성해줘야 하는걸까”


학교 단위 도입이 본격화되면서 팀이 직면한 가장 큰 질문이었습니다.

일반적으로 계정 생성은 개별 회원가입을 통해 이뤄지지만, 학교라는 기관의 특성상 수만 명의 학생이 한 번에 도입됩니다. 따라서 개별 가입 절차보다는 대량 계정 생성을 통해, 학생들이 낮은 진입 장벽으로 플랫폼에 접근할 수 있는 환경을 마련하는 것이 필요했습니다.


초기에는 긴급 대응을 위해 기능화하지 않은 상태에서, 개발자들이 스크립트를 활용해 수동으로 대량 계정을 생성했습니다. 그러나 도입 학교가 200개를 넘어가고, 학급 단위 그룹과 도메인 관리까지 요구되면서 운영팀과 개발팀 모두 ‘생성’과 ‘관리’ 과정에서 병목이 발생했습니다.


가장 큰 문제는 다음과 같았습니다.

- 계정,기관 생성에 대한 정보 전달과 처리 과정에 너무 많은 소통 비용과 기간이 발생

- 백엔드 팀의 업무 과중으로 인해 주 업무에 대한 병목 발생

- 대량 생성에서 발생할 수 있는 유효성 검증의 부재

- 대량 생성 이후 성공 실패 확인 불가


스크립트 기반 수동 처리 방식은 운영팀과 개발팀이 계속 커뮤니케이션하며 필요 사항을 보완하는 과정에서 요청 처리 지연과 컨텍스트 스위칭을 증가시켰습니다. 특히, 계정과 기관 생성 과정에서 발생하는 각종 이슈를 추적할 수 있는 시스템 부재가 가장 큰 문제였습니다.


문제를 해결하기 위해 다음과 같은 목표를 설정하였습니다.

- 운영팀이 개발팀 리소스에 의존하지 않고도 빠르게 일괄 계정 생성이 가능하도록 기능 제공

- 일괄 생성 시 유효성 검증을 진행하여, 생성 결과의 성공/실패 현황을 시각화

- 실패 로그를 구조화하여 개발팀이 원인을 신속히 파악할 수 있도록 지원



일괄 생성

13213 (1).jpg

대량 계정 생성을 위해 각 케이스에 맞춘 스프레드시트 기반 CSV 템플릿을 제공하여 운영팀이 익숙한 방식으로 계정을 빠르게 생성하고 갱신할 수 있도록 하였습니다.

이전에는 서브도메인 주소를 일일이 작성해 개발팀에 전달해야 했습니다. 하지만 이제는 학교 코드만 입력하면 자동으로 학교코드+메인도메인 주소 형태의 서브도메인이 생성되도록 개선하였고 운영팀은 더 단순하고 안전하게 계정을 발급할 수 있게 되었습니다.


101 (1).jpg



유효성 검증

대량 계정을 생성할 때 가장 큰 리소스는 ‘잘못된 데이터’가 무엇인지 파악하는 것이었습니다.

이메일 형식 오류

이름/아이디 중복

CSV 컬럼 불일치


이런 문제들은 운영팀이 작성한 파일을 개발자가 뒤늦게 검수하면서야 발견되곤 했습니다. 결국 며칠이 걸려서야 오류를 확인하고, 도입 일정이 늦어지는 일이 반복됐습니다. 정확하게는 기관을 생성할 때 오류가 발생한 것이 아니라 전달받은 데이터가 잘못되어 있는 경우 그것을 추적하기가 어려웠습니다.

스크린샷 2025-09-15 오후 3.42.31.png

계정 생성을 담당하고 있는 운영자와 개발자에게 어떠한 케이스의 오류가 발생했는지를 확인해 본 결과 CSV파일 내 중복된 코드가 있거나, 필수 값이 누락되어 있는 케이스가 있었고, 관련 케이스들을 정리해 CSV파일을 업로드하면 각 케이스에 맞는 오류 메시지들을 띄워줄 수 있게 구성하였습니다.



실패 로그 구조화

Card.jpg
스크린샷 2025-09-22 오전 10.37.31.png

CSV 데이터 유효성 검사를 진행 하고 문제가 없음을 확인한 후 실제 ‘생성하기’를 진행할 때에도 작업 자체의 이슈 예를들면, 네트워크 이슈로 인한 실패 등이 발생할 수 있습니다. 결과적으로 생성에 실패한 것들을 파악해야 개별적으로라도 생성을 진행할 수 있기 때문에 생성 이후의 실패 내용 또한 볼 수 있어야 합니다.



기관 관리

Frame 1321317327.jpg
Frame 1321317329.jpg


최종적으로, 대량으로 생성된 기관들을 한눈에 관리할 수 있는 페이지를 새로 만들었습니다.

이전에는 생성된 기관 전체를 확인할 수 있는 곳이 없어서, 도입 현황을 종합적으로 파악하기 어려웠습니다. 이제는 기관 관리 페이지에서

생성된 모든 기관

기관에 소속된 교실 및 계정 수

도메인 링크 접속 여부

모두 한 번에 확인할 수 있습니다. 운영팀은 더 이상 여러 도구를 오가며 확인할 필요 없이, 한 화면에서 전체 현황을 관리할 수 있게 되었습니다.



백오피스 설계가 가져온 변화

이전에는 새로운 학교가 도입될 때마다 계정 생성만으로도 며칠이 걸리곤 했습니다. 스프레드시트로 데이터를 정리하고, 개발팀에 전달한 뒤, 오류가 발견되면 다시 수정,재전송을 반복하는 과정이 이어졌기 때문입니다. 이메일 주소 형식이 잘못되었거나 코드가 중복되었거나 필수 값이 빠진 경우가 생기면 문제를 추적하는 데만 하루 이상이 소요되기도 했습니다. 결국 학교 도입 일정이 밀리고, 내부 팀은 끝없이 반복되는 단순 작업에 지쳐갔습니다.


이제는 상황이 완전히 달라졌습니다. CSV 업로드 한 번으로 수백 개 계정을 10분 이내에 생성할 수 있고, 진행률과 로그를 실시간으로 확인할 수 있습니다. 계정 생성이 전체의 몇 % 진행되었는지, 어느 단계에서 문제가 생겼는지를 한눈에 확인할 수 있기 때문에 운영팀은 더 이상 불확실하게 기다릴 필요가 없습니다.


특히 큰 변화는 실패 로그의 구조화입니다. 과거에는 “계정 생성이 안 됐다”는 추상적인 수준에서 개발팀에 의존해야 했다면, 이제는 이메일 형식 오류, 중복 코드, 네트워크 지연 등 원인을 구체적으로 확인할 수 있습니다. 운영팀이 직접 수정 후 재시도할 수 있는 비율은 약 70% 이상으로 올라갔고, 개발팀 지원이 필요한 상황에서도 훨씬 세밀하게 이슈를 전달할 수 있습니다. 그 결과 문제 해결까지 걸리는 시간은 평균 수일에서 반나절 이하로 단축되었습니다.


이 개선의 효과는 단순히 ‘편리함’에 그치지 않습니다.

- 운영팀의 처리 속도는 약 5배 이상 향상

- 개발팀 긴급 지원 요청은 약 60~70% 감소

- 신규 학교 도입 소요 시간은 80% 이상 단축


즉, 학교는 도입 신청 후 지연 없이 바로 서비스를 사용할 수 있고, 운영팀은 더 이상 데이터 오류를 뒤늦게 추적하느라 시간을 허비하지 않습니다. 개발팀 역시 본연의 프로젝트에 집중할 수 있게 되었습니다. 앞으로의 백오피스는 단순한 관리 툴이 아니라, 학교 도입을 안정적으로 확산시키는 핵심 인프라로 자리잡게 될 것입니다.

keyword
작가의 이전글바이브코딩 : Figma AI Icon 자동생성기