[회계법인 에이블] 경정청구 자동화 솔루션 제작 (2/2)
앞선 글에서는 다빈치가 고객사인 회계법인 에이블의 문제를 어떤 방식으로 분석하고 해결했는지 말씀드렸습니다. 고객사의 목표는 명확했습니다. 영업 직원이 대면 영업을 할 때 발생하는 비효율을 제거해 영업에 집중할 수 있게 하는 것이었습니다. 이번 글에서는 목표 달성을 위해 개발 중 다빈치가 고려한 더 상세한 사항들을 소개하겠습니다.
고객에게 정말 필요한 것이 무엇인지 생각합니다
경정청구(국세환급) 솔루션은 원천 자료를 제공하는 홈텍스와 근로복지공단 시스템에 의존적입니다. 의존적이라 함은, 해당 외부 시스템에 문제가 생겼을 때 솔루션 또한 영향을 받아 정상 작동할 수 없다는 뜻입니다. 영업 중 이런 문제가 생긴다면 영업 고객에게 상황을 설명하고 다른 방식으로 해결해야합니다.
고객사의 최초 요구사항은 ‘외부 시스템 문제로 자료 다운로드가 되지 않을 때, 알림이나 문자를 휴대폰으로 발송해 문제 상황임을 알 수 있게 해달라’는 것이었습니다. 해당 방식으로 개발하는 건 쉽습니다. 하지만 외부 시스템에 일시적으로 문제가 생긴 걸 수도 있고, 영업 사원이 영업 중 알림이나 문자를 확인하는 것은 불편합니다. 따라서 웹에서 실시간 확인하도록 하는 게 가장 좋은 해결책이라고 판단했습니다.
다빈치는 문자를 발송하는 대신, 현장에서 몇 차례 다운로드를 재시도할 수 있게 하면 어떻겠냐고 역으로 제안드렸습니다. 고객사는 해당 제안을 수용해주셨고, 다운로드 실패 시 바로 다운로드를 여러 차례 재시도하도록 처리했습니다. 요구 사항 중 알림은 웹 내 토스트 알림으로 더 편의성 있게 추가하였습니다.
고객 편의를 위한 디테일을 놓치지 않습니다
고객 편의를 생각하는 다빈치의 노력은 디테일한 UI/UX에서도 보실 수 있습니다.
예시로 필요 자료를 다운로드 받기 위해서는 홈택스, 근로복지공단 로그인을 위해 각각 두 번의 카카오톡 본인인증이 필요합니다. 이름과 주민등록번호, 휴대폰 번호를 입력하면 카카오톡으로 본인인증 메시지가 전송됩니다. 따라서 개인 정보 입력이 두 번 필요한데요, 다빈치에서는 첫 번째 인증 때 입력한 정보를 두 번째 인증 때 재사용해 미리 입력하는 식으로 불필요한 사용자 작업을 줄였습니다.
평소 이런 디테일한 배려가 없는 웹사이트를 이용하다 보면 피로감을 종종 느끼실 텐데요. 다빈치에서는 고객사가 요청하지 않더라도 세세한 부분까지 챙겨서 작업합니다. 다빈치가 중요하게 여기는 것은 ‘외주 프로젝트 완수’보다 더 높은 목표, 즉 ‘고객사의 사업 성공’이기 때문입니다.
목표에 맞는 해결법을 스스로 탐색합니다
다빈치는 요청대로만 작업하지 않고, 적극적으로 해결법을 탐색합니다. 기존 영업 시 영업 고객이 수기로 작성하거나 말씀하신 자료를 영업 사원이 전산에 직접 옮기는 작업이 있었습니다. 그중 하나가 근로자 목록과 관계 작성입니다. 고객사에서는 근로자 목록과 특이 사항을 작성할 수 있게 해달라고 요청하셨습니다.
아마 이런 화면을 기대하셨을 것 같습니다. 하지만 저희 판단으로는 실제 솔루션 사용자인 영업 사원이 근로자 명단을 모두 입력하는 데 시간이 오래 걸려, 영업에 집중한다는 본래 목표를 달성하지 못할 것 같았습니다.
그래서 근로복지공단에서 다운로드 받은 자료를 바탕으로 완성된 근로자 목록을 제공하고, 관계와 장애인 여부는 각 항목에 맞는 UI로 빠르게 지정할 수 있도록 하였습니다. 개발 공수를 더 들이더라도 목표에 집중해 더 만족도 높은 해결법을 제시한 것입니다.
사업 특성을 이해하고 기술로 지원합니다
지난 글에서 영업 사원별 영업 현황을 볼 수 있는 대시보드 개발을, 자료를 첨부한 메일 전송으로 대체해 개발한 것을 소개해 드렸습니다. 그런데 고객사와 소통하고 개발하는 과정에서, 해당 자료가 사업 관리 측면에 매우 중요하다는 것을 알게 되었습니다. 혹시 메일 전송에 실패하거나, 받은 메일을 삭제하셨을 때, 나중에 큰 불편을 겪으실 수도 있겠다는 생각이 들었습니다.
그래서 메일 전송 전 자료와 메일 내용을 AWS S3에 백업하도록 개발했습니다. 고객사에서 데이터 백업을 요청하진 않으셨지만, 다빈치가 보기에 사업에 필수적인 기능이라 넣어드렸습니다. 고객사는 당연히 만족하셨습니다.
고객의 추후 유지 비용까지 고려합니다
프로젝트 별로 개발자들만 알 수 있는 기술적인 최적화 사안들이 있습니다. 예를 들어 해당 웹 솔루션은 AWS EC2를 이용해 배포해드렸는데요, 클라우드 시스템 특성 상 사용한 서버 스펙에 따라 유지 비용이 달라집니다. 쉽게 말해 휴대폰 통신사 요금제와 동일한 구조입니다. 더 낮은 성능의 서버는 저렴한 값에, 높은 성능의 서버는 비싼 값에 사용할 수 있습니다.
여러 영업 사원이 동시에 영업을 한다 가정해봅시다. 영업 고객인 각 사업자나 법인의 5개년 자료를 공교롭게 모두가 한순간에 다운로드 받는다면, 한 서버에서 엄청난 용량의 파일을 동시에 다운로드 해 부하가 걸리게 됩니다.
물론 단순히 비용을 더 투자해 더 좋은 스펙의 서버를 사용할 수도 있습니다. 하지만 다빈치는 고객의 입장에서 유지 비용까지 생각합니다. 영업 사원이 사용하니 평일 주간에만 사용할 것인데 비용을 더 지출하는 건 낭비입니다. 따라서 저렴한 서버를 사용하되, 내부적으로 여러 영업 사원이 동시에 대량의 자료를 다운로드 받아도 문제가 없도록 처리했습니다. 용량이 각기 다른 파일을 병렬로 다운로드 하고, 실패 시 각각 다시 다운로드 하게 해 부하가 걸릴 가능성을 대폭 줄였습니다. 또한 CPU, 메모리 등도 최적화 해드렸습니다. 결과적으로 고객사는 더 저렴한 유지 비용으로 솔루션을 사용하실 수 있었습니다.
언제든지 믿고 찾을 수 있는 다빈치가 되겠습니다
프로젝트 종료 후 회계법인 에이블의 파트너 회계사님께서는 이런 평가를 남겨주셨습니다.
다빈치는 단순 개발팀이 아니라 CTO처럼 일합니다. 진짜 중요한 사업 목표를 달성하기 위해 어떤 것을 개발하고 어떤 것을 개발하지 않을지 함께 논의해줘서 프로젝트가 성공적으로 끝날 수 있었습니다.
두 편의 글에 걸쳐 소개해드렸듯이, 고객사의 문제에 따라, 니즈에 따라 가장 적합한 해결 방법은 상이합니다. 기술 고려 사항이나 사용 디테일은 고객사에 인하우스 개발자가 없거나, 고객사가 개발을 잘 모르신다면 챙기기 쉽지 않습니다. 이럴 때, 외주사에 맡기면 불안할 수 있습니다. 다빈치는 개발을 잘 모르는 고객에게도 최고로 만족스러운 해결법을 찾아드릴 수 있도록 최선을 다합니다. 길게 내다보면, IT 컨설팅 업체로서 다빈치에게는 고객의 신뢰가 최고의 자산이라고 생각하기 때문입니다. 다빈치의 목표는 언제나 믿고 찾을 수 있는 IT 컨설턴트로서 고객님과 다시 만나는 것입니다, 감사합니다.