자세히 보기

Martin Heller
Contributing Writer

‘개념에서 선택 기준까지’··· CIO를 위한 ‘RPA’ 안내서

RPA(robotic process automation)는 지루하고 반복적인 작업으로부터의 해방을 약속한다. 오늘날 여전히 많은 업무가 반복적이며 수준이 낮은 경향이 있다. RPA 소프트웨어를 사용하면 전자 서식을 작성하거나 트랜잭션을 처리하거나 사전 설정된 메시지를 보내는 등의 구조화된 작업을 수행하는 소프트웨어 봇(Bot)을 생성해 이 같은 업무를 처리하도록 할 수 있다.

즉 이런 기본적인 활동을 일련의 RPA 봇으로 연결하면 데이터 항목, 청구, 주문 관리, HR 온보딩, 기타 끝없는 영역의 힘들고 단조로운 일을 없앨 수 있는 엄청난 잠재력이 있다.

이를테면 은행들은 대출 실사, 송장 처리, 고객 확인에 RPA를 사용한다. 영업 조직은 RPA를 사용하여 견적과 송장을 자동화한다. 보험사는 RPA를 사용하여 청구 조정 속도를 높인다. 또한, 머신러닝(ML)과 결합돼 RPA는 자동으로 녹음된 대화를 전사하고, 이미지와 비디오에서 텍스트와 숫자를 추출하며, 수기 작성 양식의 데이터베이스를 첨부할 수 있다.

RPA 시스템은 다양한 요소로 구성된다. 프로세스 마이닝, 봇 생성 도구, 기업 시스템을 연결하는 플러그인, 일정 관리 또는 조율 계층 등이다. 단 RPA 시스템의 도구들에는 제한점이 있는 경우가 많으며, 이 공백을 메우기 위해서는 직접 코딩한 자동화 스크립트가 요구될 수 있다.

RPA가 처리할 수 있는 것에 대한 기대치를 관리시키는 것이 중요하다. RPA 벤더는 자사 제품이 실제보다 더 똑똑하다고 과장하는 경향이 있으며, 이로 인해 RPA에 대해 실망하기 쉽다. 그리고 롤아웃을 신중하게 계획하고 실행해야 RPA 배치 실패를 방지할 수 있다. RPA 제품을 선택하기 전에 무엇을 자동화할지 명확히 밝히고 필요한 기능이 있는 것을 선택해야 한다.

RPA는 어떻게 작동하는가?
RPA는 백엔드로 연결된 인터페이스를 통해, 또는 프론트 엔드에서 인간이 어떻게 액세스하는지 모방함으로써 기존 IT 시스템에서 정보를 가져온다. 특히 백엔드 시스템에 직접 액세스할 수 없는 구형 기업 시스템의 경우 프론트 엔드를 거쳐야 하곤 한다.

프론트 엔드 RPA는 구형 스크린 스크래핑의 진화이다. 스크린 스크래퍼를 장기간 사용해 보았다면 민감한 경향이 있다는 것을 알고 있을 것이다. 필드에 너무 큰 수치가 표시되거나 소프트웨어 업데이트로 인해 표시 형식이 변경되면 스크린 스크래퍼가 잘못된 답변을 반환하거나 작동을 멈춘다. 머신러닝이 이런 문제를 줄여줄 수 있지만 없앨 수는 없다.

RPA의 장점과 한계

RPA의 장점

•    반복적인 작업을 봇에게 이전함으로써 직원의 시간 절약
•    RPA가 자동화하는 작업의 오류율 감소
•    자동화된 작업 수행 시간 단축
•    속도를 제한하는 작업이 자동화된 경우 비즈니스 역량 증가

RPA의 한계

•    IT개입, 자동화 후보 식별, 발생 가능한 컨설팅 등 봇 설치 비용과 시간
•    봇 모니터링 및 유지보수 필요성
•    봇이 구조화되지 않은 수기 문서에서 정보를 추출할 수 없음(하지만 일부 제품은 ML을 적용하여 이 문제를 완화함)
•    봇이 표준 작업 시 기대치를 감지하거나 처리할 수 없음(일부 제품은 인간 검토 메커니즘이 있음)
•    봇이 비표준 작업을 자동화할 수 없음

RPA 시스템이 필요한 정보를 추출하면 사전에 정의된 작업을 수행한다 보편적인 사용 사례로는 비즈니스 규칙 적용, 보고서 생성, 수취채권에 대한 송장 전송, 어음에 대한 수표 생성 등이 있다.

RPA 작업을 수행하는 봇은 어텐디드(Attended) 또는 언어텐디드(Unattended) 상태에서 작동할 수 있다. 어텐디드 RPA 봇은 직원의 요청에 따라 작동한다. 언어텐디드 RPA 봇은 일정에 따라 야간 보고서 등을 작성한다. 거의 모든 RPA 봇은 지속적으로 적절히 작동하기 위해 감독과 정기 감사가 필요하다.

인간이 RPA 봇의 작업을 위해 워크플로를 정의해야 작업할 수 있다. 여러 개의 시스템에 걸쳐 매크로를 기록하는 것과 유사한 프로세스 녹화로 시작되는 경우가 많다. 매크로와 유사하다는 점은 봇용 스크립트 작성과 편집에도 적용된다. 많은 RPA 솔루션이 봇의 작업의 요소들을 연결시키는 흐름도 스타일의 인터페이스를 제공하여 ‘시민 개발자’가 워크플로를 정의할 수 있도록 한다. 하지만 일부 RPA 시스템은 여전히 IT 부문에서 설정해야 한다.

기존의 비즈니스 프로세스를 재현하는 데 있어서 특히 시간이 많이 소요되는 부분은 비즈니스 프로세스가 무엇이며 어떻게 작동하는지 확인하는 것이다. 일부 RPA 프로세스 마이닝 도구는 기존 프로세스의 로그를 분석할 수 있으며, 직장에서 직원을 관찰하고 녹화해야 하는 것도 있다. 최악의 경우, 이 프로세스 발견을 수동으로 수행해야 한다.

RPA 제품 선택 방법
RPA 제품을 선택하기 전에 알아둘 점이 있다. 사실상 모든 제품이 기업 사유의(proprietary) 파일 형식을 사용한다는 사실이다. 이식성(portability)이 거의 없다. 표준을 감안할 필요가 없다. 표준이 없기 때문이다. 롤아웃을 결정하기 전에 신중하게 평가하고 개념 증명을 수행해야 할 이유 중 하나다. 왜냐하면 나중에 생각이 바뀌면 고통스럽고 비용이 많이 들 것이다.

필요할 것 같은 모든 기본적인 기능과 독자적인 기능이 자신의 환경에서 작동하는지 검증해야 한다. 제공된 모든 도구를 사용하여 스크립트를 작성하고 오케스트레이션이 적절히 작동하는지 입증한다. 언어텐디드 봇을 테스트하고 봇이 구조화되지 않은 문서와 PDF를 분석할 수 있는지 검증한 후 프로세스 마이닝 절차를 진행한다.

평가 시 주의를 기울여야 할 부분은 다음과 같다. 

봇 설정 편의성. 다양한 사람에 맞춰 봇을 설정할 수 있는 다양한 방법이 있어야 한다. 비즈니스 사용자는 레코더가 활동을 기록하는 동안 일반적으로 사용하는 애플리케이션을 마우스로 이용 가능해야 한다. 시민 개발자는 로우코드(Low-code) 환경을 이용하여 봇과 비즈니스 규칙을 정의할 수 있어야 한다. 그리고 마지막으로 전문 프로그래머는 RPA 도구의 API를 호출하는 실제 자동화 코드를 작성할 수 있어야 한다.

로우코드 역량. 일반적으로, 로우코드 개발은 동작 툴박스에서 타임라인 구조 끌어다 놓기, 속성 양식 작성하기, 약간의 코드 작성하기 등의 조합이다. ‘loan_amount < 0.20 * annual_income’ 같은 소량의 코드를 작성하는 것이 비즈니스 규칙을 지정하는 그래픽 방식보다 훨씬 빠를 수 있다.

어텐디드 vs. 언어텐디드. 일부 봇은 주문식(어텐디드)로 실행하는 경우에만 사용할 수 있다. 가령 비즈니스 사용자가 ‘이 그래픽을 텍스트로 바꾸고 클립보드에 넣는다’ 등의 잘 정의된 작업을 수행하는데 흔히 이용된다. 반면 ‘웹 사이트에서 제출된 각 대출 신청서를 실사하라’ 등 이벤트(언어텐디드)에 대응하여 실행되는 봇도 있다. 2가지 종류의 봇 모두가 필요하다.

머신러닝 역량. 몇 년 전만 하더라도 RPA 도구는 구조화되지 않은 문서에서 정보를 추출하는 데 서툴렀다. 참고로 기업 내 정보 중 80% 이상이 데이터베이스보다는 구조화되지 않은 문서 형태이다. 요즈음에는 머신러닝 역량을 사용하여 문서를 분석하고 필요한 숫자를 찾아 사용자에게 반환하는 기능성이 대중화됐다. 일부 벤더는 이를 초자동화라고 부르지만, 이름이 달라진다고 해서 기능성까지 달라지지는 않는다.

예외 처리 및 인간 검토. 머신러닝 모델은 일반적으로 발생 가능한 결과의 확률을 예측한다. 예를 들어, 대출 채무불이행을 예측하는 모델은 90%의 채무불이행 결론이 나온 경우 대출 거부를 권고할 수 있으며, 5%의 채무불이행 예상값은 대출 제공의 권고로 이어질 수 있다. 이런 가능성들 사이에서 인간의 판단이 필요하며, RPA 도구는 검토를 위해 이런 사례를 제출할 수 있어야 한다.

기업용 애플리케이션과의 통합. 봇이 기업용 애플리케이션에서 정보를 가져올 수 없다면 회사에 큰 쓸모가 없다. 일반적으로 PDF를 분석하는 것보다는 쉽지만 모든 데이터베이스, 회계 시스템, HR 시스템, 기타 기업용 애플리케이션에 대한 드라이버, 플러그인 및 자격 증명이 필요하다.

오케스트레이션 및 관리. 봇을 실행하려면 봇을 구성한 후 일반적으로 자격 증명 스토어(Store)를 통해 실행에 필요한 자격 증명을 제공해야 한다. 또한 사용자가 봇을 생성하여 실행하도록 허용해야 하며 특정 이벤트에 따라 언어텐디드 봇이 특정 리소스를 기반으로 작동할 수 있도록 제공해야 한다. 마지막으로, 봇과 인간에 대한 직접 예외를 모니터링해야 한다.

클라우드 봇. RPA가 시작되었을 때, RPA 봇은 사용자의 데스크톱과 기업 서버에서만 작동했다. 하지만 IT 영역이 클라우드로 확장되면서 봇이 사용할 클라우드 가상 머신을 설정하는 경우가 늘고 있다. 

최근에는 일부 RPA 기업들이 윈도우, 맥OS, 리눅스 VM에서 실행되는 대신에 클라우드 API를 사용하여 클라우드 앱으로 구동하는 ‘클라우드 네이티브’ 앱을 구현했다. 현재 회사에서 클라우드 애플리케이션에 거의 투자를 하지 않았더라도 결국은 그렇게 할 것이기 때문에 이 기능은 매우 바람직하다.

프로세스 및 작업 발견 및 마이닝. 프로세스를 파악하고 자동화를 위해 우선순위를 결정하는 것은 RPA 구현 중 특히 시간이 많이 소요되는 부분인 경우가 많다. RPA 제공업체의 앱이 시스템 로그에서 프로세스를 마이닝하고 관찰을 통해 작업 흐름을 구성하는 데 도움이 될수록 자동화를 시작하기가 더 쉽고 빨라진다.

확장성. RPA 구현이 기업에 롤아웃 되고 더 많은 자동화를 처리하면서 확장성 문제에 쉽게 부딪힐 수 있다. 언어텐티드 봇의 경우는 더욱 그렇다. 네이티브, VM, 컨테이너 방식의 클라우드 구현은 확장성 문제를 완화시킬 수 있는 경우가 많다. 오케스트레이션 구성요소가 필요에 따라 추가적인 봇을 제공할 수 있는 경우에는 더욱 그렇다.

궁극적으로 RPA 구현의 성패는 자동화 시 가장 보상이 큰 프로세스와 작업을 확인하는 데 달려있다. 예를 들어, 은행에서 보상이 가장 큰 프로세스가 대출 신청서를 실사하는 것인 경우 그것(또는 해당 프로세스의 핵심 작업)을 RPA 개념 증명으로 한다.

사이클 테스트 중 편법을 이용하면 곤란하다. 도입한 RPA 솔루션에 기능이 누락되어 있거나 부적합하여 전환이 필요한 경우 힘들 수 있다. 처음부터 모든 봇을 생성하는 위험을 완화하기 위해 각 작업과 프로세스의 모든 단계를 문서화해야 한다. 말을 바꿀 때는 1주일 동안 각 봇을 다시 구현해야 할 수 있지만 각 프로세스를 파악하는 데 1개월이 걸리는 상황을 방지할 수 있다.

주요 RPA 제공업체
수십 곳의 RPA 제공업체가 존재하지만 인정받는 벤더들은 그리 많지 않다. 최신 포레스터 웨이브(Forrester Wave) 및 가트너 매직 쿼드런트(Gartner Magic Quadrant) 보고서에서 주로 언급된 7곳의 제공업체를 알파벳 순으로 정리했다. 단 아래 목록은 그저 참고용일 뿐이다. 

• 오토메이션 애니웨어(Automation Anywhere) : 해당 기업의 오토메이션 360(Automation 360)은 E2E(End to End) 자동화를 위한 클라우드 네이티브 AI 기반 웹 기반 플랫폼이다. RPA 역량은 사용자가 레코더를 통해 생성할 수 있는 단순한 봇부터 ML과 데이터 처리의 조합을 활용하여 문서에서 정보를 추출하는 IQ 봇(IQ Bot)까지 다양하다. 이 플랫폼은 거버넌스, 보안, 준법감시 기능뿐 아니라 봇과 분석을 제공한다.

• 블루 프리즘(Blue Prism) : RPA의 다양한 측면과 사용 사례를 해결하는 일련의 제품을 제공하는 블루 프리즘은 현재 RPA를 넘어 지능형 자동화 영역을 넘보고 있다. 현재 해당 기업은 자사의 디지털 교환 시장에서 가져온 역량을 갖춘 ‘디지털 워커’를 갖춘 클라우드 우선 제품을 판매하고 있다.

• 엣지버브(EdgeVerve) : 인포시스(Infosys) 기업인 엣지버브는 AI 및 자동화 제공업체이다. 어시스트엣지(AssistEdge) RPA, 어시스트엣지 디스커버(AssistEdge Discover) 프로세스 맵핑, 어시스트엣지 인게이지(AssistEdge Engage) 고객 센터 자동화, 어시스트엣지 클라우드(AssistEdge Cloud) RPA를 제공한다. 또한 엣지버브는 뱅킹, 가치 네트워크/공급망, 금융, 조달을 위한 수직 솔루션을 제공한다.

• 마이크로소프트(Microsoft) : 로우코드 RPA 도구인 마이크로소프트 파워 오토메이트 데스크톱(Microsoft Power Automate Desktop)은 윈도우 10 사용자에게 무료로 제공된다. 또한, 어텐디드는 RPA가 포함된 파워 오토메이트 사용자별 요금제는 사용자당 월 15달러로 무제한 사용할 수 있다. 조직 전반에 걸쳐 흐름을 공유하고 협업하며, 400개 이상의 내장된 커넥터에 액세스하고, 비즈니스 프로세스의 병목을 확인하며, 문서에서 데이터를 추출하고, 중앙 집중 거버넌스를 통해 흐름을 관리하는 자동화를 가능하게 한다.

• NICE : NICE RPA는 어텐디드 및 언어텐디드 자동화, 자동화 찾기, OCR/챗봇/머신러닝 등의 인기 기술 지원과 같은 특징을 갖췄다. NICE CXone은 자사의 RPA 제공물과 통합되는 고객 경험 플랫폼이다. NEVA는 NICE의 직원용 개인 비서 봇이다. NICE는 또한 돈세탁 방지를 위한 액티마이즈(Actimize) 등의 재무 전용 도구 포트폴리오도 있다.

• 유아이패스(UiPath) : 유아이패스 플랫폼(UiPath Platform)의 최신 릴리즈(21.4)는 기업 규모의 관리 및 거버넌스, AI 기반 발견, 우선순위 결정, 가장 영향력 있는 자동화에 대한 통합된 개발, 모든 사용자 경험을 위한 업그레이드, 신속한 오토메이션 클라우드(Automation Cloud) 역량 확장 등이 특징이다. 유아이패스는 회사의 호스트형 클라우드, 퍼블릭 클라우드, 온프레미스에 배치될 수 있다. 회사의 호스트형 클라우드에서 가장 빈번히 업데이트된다.

• 워크퓨전(WorkFusion) : 워크퓨전은 워크퓨전 IAC(WorkFusion Intelligent Automation Cloud)를 통해 뱅킹, 금융서비스, 보험, 의료 분야에서 대기업 고객의 문서 집중적인 수동 작업을 자동화한다. 뱅킹의 주요 자동화 영역으로는 돈세탁 방지, 계좌 개설, 제재 조치 선별, LIBOR 이행, 담보대출 등이 있다.

업체 선택의 중요성은 아무리 강조해도 지나치지 않다. 스크립트를 다른 RPA시스템으로 포팅 할 수 없기 때문에 고려하고 있는 제공업체의 재무 안정성이 탄탄하다는 증거가 있어야 한다. 최악의 경우 전면적인 롤아웃을 진행했는데 제공업체가 파산하고 라이선스 제공 서버가 설치 인증을 중단하여 구현 전체가 정지될 수 있다.

RPA의 예 : 유아이패스
유아이패스는 블루 프리즘 및 오토메이션 애니웨어와 함께 ‘3대’ RPA 제품 중 하나이다. 현재, 주로 윈도우 제품이지만 점차 많은 기능이 브라우저를 통해 제공되고 있다. 유아이패스의 제품 중 일부는 클라우드에서 작동한다.

유아이패스는 자동화할 프로세스를 발견하도록 도우며 광범위한 기술 스킬과 경험이 있는 사용자를 위한 도구를 제공한다. 많은 RPA 제품에서와 마찬가지로 유아이패스는 점차 자사의 고급 프로세스에 머신러닝을 통합하고 있다. 유아이패스 봇은 문서를 분석하고 음성을 인식하며 다른 머신러닝 모델을 적용한다. 또한, 유아이패스는 자동화를 기업 규모로 관리할 수 있다.

유아이패스 설치. 무료 유아이패스 체험판에 등록하여 유아이패스 커뮤니티 SaaS(Community SaaS) 계정을 생성한 후 기업용 체험판을 요청하여 유아이패스 오토메이션 클라우드의 모든 기능을 활성화할 수 있다. 그리고 유아이패스 스튜디오 체험판을 다운로드할 수 있다. 스튜디오 옆의 ‘설치’ 버튼을 클릭한다. 자동화 생성 및 테스트를 위한 유아이패스 스튜디오, 어시스턴트(Assistant), 로봇(Robot)이 설치된다.

비즈니스 사례 구축. 오토메이션 클라우드 계정에서 ‘관리자(Admin)’ 아래의 오토메이션 허브(Automation Hub) 서비스를 활성화할 수 있다. 또한 원한다면 오토메이션 스토어(Automation Store)를 활성화할 수 있다. 그리고 오토메이션 허브로 이동하여 인스턴스를 생성할 수 있다. 거기에서 POC를 위한 비즈니스 사례를 정의할 수 있다. 그러면 아래와 같은 이미지가 보인다.

이것은 샘플 평가의 초기에 불과하다. 자동화 연구는 회사의 프로세스와 연계되어야 한다.

프로세스 문서화. 오토메이션 허브에서 태스크 캡처(Task Capture)를 다운로드하여 설치해야 한다. 라이선스 제공을 위해 태스크 캡처를 실행할 때 유아이패스 클라우드 계정에 로그인해야 한다. 그렇지 않으면 커뮤니티 기능으로만 제한된다.

다이어그램을 생성하거나 태스크 캡처를 사용하여 프로세스를 기록할 수 있다. 전자는 더 나은 흐름도를 제공하지만 후자는 더 빠르게 속도를 맞출 수 있다. 실제 캡처 프로세스는 엑셀(Excel) 매크로를 녹화하는 것과 비슷하다. 최대 동작 개수는 500개이다.

다이어그램에 동작 시퀀스가 있고, 의사결정 트리(비즈니스 규칙)가 있을 수 있다. 스크린 스크래핑 동작은 매크로 레코더를 통해 수행되지 않으며, 대신에 스크린샷을 캡처한 후 로봇이 이미지 에디터(Image Editor)에서 추출해야 하는 필드를 강조 표시한다. PDD(Process Definition Document)가 완료되면 이것을 워드(Word) 또는 XAML 문서로 추출할 수 있다. 또한 프로세스를 실행하거나 오토메이션 스토어에서 검토 및 공개를 위해 제출할 수 있다.

유아이패스의 마켓플레이스(Marketplace) 살펴보기. 지능형 자동화 등 모든 자동화 활동을 유아이패스 마켓플레이스(UiPath Marketplace)에서 찾을 수 있다. 마켓플레이스의 첫 번째 화면은 아래와 같다.

봇 생성. 유아이패스에는 봇을 위한 3가지 디자인 환경이 있다. 비즈니스 사용자를 위한 유아이패스 스튜디오X(UiPath StudioX), RPA 개발자를 위한 유아이패스 스튜디오(아래 스크린샷), C# 개발자를 위한 유아이패스 스튜디오 프로(UiPath Studio Pro) 등이 바로 그것이다. 스튜디오 프로는 RPA를 위한 테스트 사례뿐 아니라 웹, 데스크톱, 모바일 앱을 위한 테스트 자동화를 구축할 수 있다. 봇이 승인되면 직원이 유아이패스 어시스턴트를 사용하여 로컬 상태로 실행하고 유아이패스 오케스트레이터(UniPath Orchestrator)를 사용하여 안전하게 관리할 수 있다.

개념 증명. 유아이패스는 일반적으로 유아이패스 개발자와 고객사의 프로세스별 토픽 전문가를 연결해 1~2일 안에 POC를 완료한다. 이 과정에서 고객은 전용 기기에 유아이패스 스튜디오를 설치하고 솔루션에 관련된 모든 시스템 및 애플리케이션에 대한 액세스를 제공하게 된다. 

유아이패스의 경쟁사들 또한 위의 설명과 유사하다. 물론 기능, 확장성, 비용의 차이점은 있을 것이다. 1개의 RPA 솔루션을 선택하기 전에 실사를 수행하고 비용과 절감분을 예측하며 회사의 운영에 영향을 미칠 수 있는 모든 기능을 테스트할 것을 권한다.

dl-ciokorea@foundryco.com

Martin Heller

Martin Heller is a contributing writer at InfoWorld. Formerly a web and Windows programming consultant, he developed databases, software, and websites from his office in Andover, Massachusetts, from 1986 to 2010. From 2010 to August of 2012, Martin was vice president of technology and education at Alpha Software. From March 2013 to January 2014, he was chairman of Tubifi, maker of a cloud-based video editor, having previously served as CEO.

Martin is the author or co-author of nearly a dozen PC software packages and half a dozen Web applications. He is also the author of several books on Windows programming. As a consultant, Martin has worked with companies of all sizes to design, develop, improve, and/or debug Windows, web, and database applications, and has performed strategic business consulting for high-tech corporations ranging from tiny to Fortune 100 and from local to multinational.

Martin’s specialties include programming languages C++, Python, C#, JavaScript, and SQL, and databases PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, Google Cloud Spanner, CockroachDB, MongoDB, Cassandra, and Couchbase. He writes about software development, data management, analytics, AI, and machine learning, contributing technology analyses, explainers, how-to articles, and hands-on reviews of software development tools, data platforms, AI models, machine learning libraries, and much more.

이 저자의 추가 콘텐츠