디자인시스템으로 백오피스 환골탈태시키기
해당 글은 초기에 사내 백오피스 디자인 시스템을 구축하고 이를 도입하면서 느낀점들, 그리고 결과를 정리하기 위한 글이에요. 입사했을 당시에 사내 백오피스는 "이게 백오피스 서비스라고?" 할 정도로 생각보다 사용감이 많이 좋지 않았다. 또, 콘텐츠나 백오피스 서비스에 기획자, 디자이너가 투입되는 것도 아니다보니.. 개발자의 시선에서 그냥 빠르게 빠르게 만들어진 그런 산출물처럼 느껴졌다. 안랩에 들어와서 제일 먼저 백오피스 서비스를 처음 담당하게 되었는데, 위협 인텔리전스 플랫폼이 앞으로 디벨롭되면서, 백오피스에 많은 기능들이 들어가기 때문에 메뉴 하나하나, 기능 하나하나를 추가하면 되는 일이었다. 사실 그냥 기능이나 메뉴만 추가하면 되긴 하는데 보기 좋은 떡이 먹기 좋다고, 백오피스도 그랬으면 하는 마음이 있었다. 그래서 입사 초부터 지금까지 스스로 KPI 하나를 설정했는데 그게 바로 백오피스 환골탈태이다. 그 당시 내가 바라본 백오피스의 문제점은 다음과 같았다. 권한 처리를 서버의 응답을 통해서 제한하고 있음, 권한이 없어도 메뉴가 노출되는 상태 레이아웃의 설계 의도를 모르겠고, 관리 시스템으로 사용하기에 조잡한 느낌 디자인 시스템이 구축되어있지 않아, 매번 컴포넌트가 각 SFC에서 커스텀되어 사용되고 있음 (재사용성 ↓) 그 외 시각적인 레이아웃 구조의 전면 개편이 필요 KPI를 실현시키기 위해 입사 초부터 계획을 세웠는데 백오피스를 환골탈태 시키기 위해 정리한 작업들은 다음과 같다. 백오피스 내에 디자인 토큰들을 정의하고, 디자인 시스템을 만들기 사용자가 불편한 요소들을 듣고, 이를 적극적으로 해결해보기 코드 상의 불필요하게 반복되는 코드들을 추상화하기 UI 라이브러리에 의존한 잔존코드들을 디자인 시스템 기반의 컴포넌트로 모두 변경하기 위 과제들은 거의 다 달성을 했고, 이제는 이것들을 활용하고 있는 단계에 도달했다. 각각 어떤 식으로 진행을 했는지 한번 설명을 해보려고 한다. 기존에는 권한 처리를 서버 응답을 통해서 진행했다. 사용자가 접근하지 못하는 메뉴가 있다면, 기존 백오피스 서비스는 무조건 서버를 거쳐 메뉴에 대한 접근 처리를 하고 있었다. 로그인 시에 서버에서 내려주는 권한 목록을 가지고, 각 메뉴에 매핑을 시키면 굳이 메뉴를 노출시키지 않거나, 접근 시에 서버에 데이터를 요청하는 과정 없이 쉽게 클라이언트에서만으로도 처리가 가능하다.
현우
