콘솔워크

RPA 개발 시 지켜야할 10가지 본문

프로그래밍/uipath

RPA 개발 시 지켜야할 10가지

콘솔워크 2020. 5. 25. 11:46
반응형

1. PDD 주도 개발

  • RPA 개발 시 가장 중요한 것은 문서에 기반해서 개발을 시작하는 것입니다.
  • 고객이나 비지니스 로직을 정확히 정리하고 정리만 해서 끝나는 것이 아니라 이것을 문서화 해야 합니다.
  • 문서화 하고 명확히 정의하지 않고 개발을 시작하게 된다면 나중에 변경사항이 생겼을 때 (프로세스가 변경되거나 담당자가 바뀔 때 등)에 대처하기 어렵습니다.

PDD 주도 개발은 자동화 할 프로세스를 문서화하여 시작해야 함을 의미합니다.
프로세스 정의 문서 (PDD)는 프로세스 맵과 프로세스의 세부적인 단계별 설명을 최소한으로 구성됩니다. 이러한 프로세스 단계는 일반적으로 명확성을 위해 스크린 샷으로 보강되며 가능한 예외 및 오류 처리와 같은 관련 정보가 포함될 수 있습니다.


PDD에 포함시킬 다른 유용한 정보는 다음과 같습니다.

 

  • 프로세스 중소기업 연락처
  • 트랜잭션 볼륨, 평균 처리 시간 (AHT) 등과 같은 기존 프로세스
  • 메트릭 범위 내 및 범위 외

이를 수행하는 데있어 숨겨진 이점 중 하나는 PDD가 조직의 비즈니스 연속성 계획 (BCP)의 일부로 사용될 수 있다는 것입니다. 예를 들어, 생산 봇에 가동 중단이 발생하면 중소기업은 PDD를 수령하고 지시에 따라 수동으로 프로세스를 수행 할 수 있어야합니다 (마지막 수단으로)


2. 계획

계획을 세우지 않으면 실패 할 계획입니다.
RPA 개발도 마찬가지입니다.
우선 높은 수준의 디자인을 고려하지 않고 RPA 개발에 직접 뛰어 드는 것은 바람직하지 않습니다.
이것이 의미하는 바는 솔루션을 구성하는 다양한 구성 요소와 이러한 구성 요소가 서로 상호 작용하는 방식을 미리 식별해야한다는 것입니다.
하나의 위대한 해킹 — 일관되고 구조적인 방식으로 모든 사용 사례를 처리 할 수있는 일반적인 프로세스 불가지론 적 프레임 워크를 만듭니다.


3. 모듈성

이전 시점부터 모듈성의 중요성이 함축되어 있습니다.
이 맥락에서 모듈성은 단순히 복잡한 프로그램을 한 입 크기의 관리하기 쉬운 구성 요소로 나눕니다.
그렇게하면 두 가지 중요한 이점이 있습니다.
첫째, 종종 SAP 시스템에 로그인하는 것과 같이 여러 프로세스에서 발생하는 일반적인 단계가 있습니다. 새 프로세스를 자동화 할 때마다 이러한 단계를 처음부터 새로 생성하지 않고보다 스마트하고 효율적인 방법은 별도의 워크 플로를 만들어 자동화 라이브러리에 추가하는 것입니다.
다음에 SAP에 로그인해야하는 프로세스가 있으면 다음과 같이이 워크 플로우 파일을 호출하면됩니다.

이는 컨텐츠의 재사용 성을 크게 향상시킵니다.
두 번째 이점은 모듈화가 세분화 된 개발 및 테스트를 지원한다는 것입니다. 이는 특정 구성 요소의 개발 및 테스트를 개별 개발자에게 독립적으로 할당 할 수 있으므로 복잡한 프로세스를 처리 할 때 특히 유용합니다.


4. 가독성

RPA 스크립트의 가독성을 무시하는 것은 많은 새로운 RPA 개발자가 흔히 저지르는 실수입니다.
이 경우 가독성은 개발자 이외의 다른 사람이 스크립트를 작성하고 소프트웨어 로봇이 프로그래밍하는 작업을 이해하는 것이 얼마나 쉬운지를 의미합니다. 실제로, 수백 또는 수천 단계를 포함하는 복잡한 프로세스의 경우, 개발자 자신이 가독성을 확보하기 위해 적극적인 단계를 수행하지 않으면 진행 상황을 추적하지 못하는 경우가 많습니다.
가독성을 높이면 봇 유지 관리뿐만 아니라 문제 해결 및 디버깅 중에 소비하는 시간이 크게 줄어 듭니다.
그렇게하는 것은 매우 간단합니다. 대부분 워크 플로우 파일, 활동, 인수 및 변수에 의미있는 이름을 제공하기 위해 양심적으로 노력해야합니다.
또한 모범 사례로서 모든 변수와 인수는 명명 규칙에 따라 정렬해야합니다.
· 변수는 camelCase에 있어야합니다 (예 : firstName , lastName)
인수는 TitleCase에 있어야합니다 (예 : FileName , DefaultTimeOut).
또한 모든 워크 플로 이름에는 워크 플로의 기능을 설명하는 동사 (예 : GetTransactionData , LoginToSAP) 가 포함되어야합니다 .
마지막으로, 직관적이지 않은 코드 섹션을 설명하기 위해 주석과 주석을 신중하게 사용해야합니다. 중복 주석으로 프로그램을 클러스터링하지 않으려면 선택적인 것이 중요합니다.

 


5. 하드 코딩을 피하십시오

가능하면 스크립트 내에서 모든 외부 설정 (예 : 파일 경로, URL)을 하드 코딩하지 않아야합니다. 하드 코딩을 통해 이러한 설정을 변경하는 유일한 방법은 스크립트 자체에서 설정을 수정하는 것입니다.
이러한 설정은 시간이 지남에 따라 변경되기 쉬우므로 하드 코딩을 피해야합니다. 예를 들어 일별 보고서를 다운로드하는 파일 위치는 비즈니스 요구 사항으로 인해 변경 될 수 있습니다.
아이디어는 스크립트에 불필요한 변경 사항을 최소화하고 (특히 이미 프로덕션에 배포 된 경우) 추가 버그 나 오류가 발생하지 않도록하는 것입니다. 또한 스크립트 내에서 이러한 설정을 여러 번 사용하는 경우 하드 코드를 작성하는 경우 변경이 필요한 위치를 정확히 알아야합니다 (변경 사항이 아닌 경우).
이러한 매개 변수를 저장하는 가장 효율적인 방법은 구성 파일을 사용하는 것입니다. 예는 다음과 같습니다.

이 예에서는 외부 설정, 상수 및 자동화 자산이 저장되는 세 개의 워크 시트가 포함 된 Excel 스프레드 시트를 작성했습니다.


6. 당신은 혼자가 아닙니다

아니요, 저는 1995 Michael Jackson 클래식을 언급하지 않습니다.
초보자는 개발 단계에서 "어려울 수없는"문제가 발생할 가능성이 높습니다.
헤어컷을 찢어서 문제를 해결하려고 노력하지 말고 침착하게 구글로 보내세요! 다른 사람이 같은 문제를 겪고 그에 대한 해결책을 찾았을 가능성이 높습니다.

Google 교수님이 얼마나 도움이 되셨는지 기뻐하실 것입니다.
그런데 UiPath를 사용하는 경우 포럼 도 확인하십시오 . 활발한 토론이 많이 있으며 가장 긴급한 질문에 대한 답변을 자주 찾을 수 있습니다.

내가 제공하는 추가 조언 중 하나는 검색어를 최대한 정확하게 작성하는 것입니다. 종종 솔루션이 이미 존재합니다. 무엇을 검색해야하는지 알아야합니다!


7. 테스트

초보자 개발자가 흔히 저지르는 실수 중 하나는 코드를 충분히 테스트하지 않거나 전혀 테스트하지 않는 것입니다.
개발자가 일반적으로 행복한 길을 시작하는 RPA의 경우에 특히 그렇습니다.
불행히도 실제로 시나리오는 일반적으로 그보다 훨씬 복잡합니다. 단일 프로세스에 여러 변형이 있거나 입력 데이터가 예상 한 형식이 아닐 수 있습니다.
따라서 로봇이 원하는 방식으로 정확하게 작동 할 수 있도록 종합적인 테스트 사례를 갖춘 강력한 테스트 계획을 세우는 것이 중요합니다.
"테스트는 실패로 이어지고 실패는 이해로 이어집니다."
실패한 테스트로 인해 손가락이 가리 키지 않아야합니다. 오히려 봇이 생산에 들어가기 전에 오류가 발견된다는 의미에서 수용해야합니다 (더 큰 손상이 발생할 수있는 경우).
또한 가능한 한 자주 테스트하려고 노력해야합니다. 테스트를 시작하기 전에 전체 개발이 완료 될 때까지 기다리지 마십시오. 디자인에 모듈성을 구현 한 경우 다양한 구성 요소를 독립적으로 테스트하고 해당 구성 요소가 의도 한대로 작동하는지 확인할 수 있어야합니다.
최상의 결과를 얻으려면 RPA 개발을 개별적으로 추구해서는 안됩니다. 이상적인 경우 개발자, 동료 검토 자 및 테스터는 모두 다른 사람이어야합니다.


8. 한계 이해

어떤 RPA 플랫폼을 사용하든 완벽한 도구는 없습니다.
공급 업체가 말한 내용에도 불구하고이 모든 상용 RPA 소프트웨어가 수행 할 수있는 작업에는 항상 제한이 있습니다.
이들 중 일부는 다음과 같습니다.
· 데스크탑 레코더에 지나치게 의존하지 마십시오. 데스크탑 레코더는 특정 프로세스에 대해 RPA 스크립트를 구성하는 방법을 이해하는 데 매우 유용한 도구 일 수 있지만 프로덕션 환경에서 안정적으로 사용할 수있는 생성 된 스크립트는 거의 없습니다.
불행히도 진실은 로봇이 아무리 조심스럽게 설계되고 개발 되더라도 항상 작동하지 않을 것이라는 것입니다. 따라서 RPA에서는 로봇이 오류 및 예외를 처리 할 수있는 것이 매우 중요합니다. 필요한 경우 추가 조사를 수행 할 수 있도록 로깅을 수행해야합니다.
이미지 인식은 다른 모든 방법이 실패 할 때 최후의 수단으로 만 사용해야합니다. 이미지 일치는 이미지가 화면에 완전히 보이는 경우에만, 즉 배경에있을 수없는 경우에만 작동하기 때문입니다. 또한 이미지 인식은 화면 해상도에 민감하므로 다루기가 까다로울 수 있습니다.
· 대부분의 RPA 도구를 사용하면 기본 또는 OCR 엔진을 사용하여 데스크톱 또는 웹 응용 프로그램에서 텍스트를 추출 할 수 있습니다. 후자를 사용하는 경우 OCR이 100 % 정확하지 않다는 점에 유의하십시오. 정확성이 중요한 경우 OCR에만 의존하고 싶지 않을 수 있습니다.


9. 간단하게 유지, 바보

프로그래밍에서 단순함은 아름답지만 항상 쉬운 것은 아닙니다.
가능하면 스크립트에서 불필요한 복잡성을 줄이거 나 제거하십시오. 이는 버그나 프로그래밍 오류의 수를 줄이는 데 도움이되므로 디버그 또는 해결에 더 적은 시간을 소비 할 수 있습니다.


10. 휴식

당신은 로봇이 아니므로 코드를 멈출 수 없습니다. 효과적인 코딩을 위해서는 뇌와 신체가 정기적으로 휴식을 취해야합니다. 실제로 피곤하거나 스트레스를 받으면 더 많은 버그를 만들거나 더 많은 실수를 저지를 수 있습니다.
따라서 휴식을 취하고 재충전 할 수있는 기회를주기 위해 가끔씩 강제 휴식을 취하십시오. 결국, 코딩은 매우 집중적이며 중독성있는 활동입니다.


 

반응형

'프로그래밍 > uipath' 카테고리의 다른 글

Uipath 포럼 활용 - Uipath Communitiy 20.6 버전  (0) 2020.07.20
개발을 하는 태도  (0) 2020.05.25
PDD 작성 예시  (0) 2020.05.25
RPA 개발 수명주기 | RDLC  (0) 2020.05.25
Uipath PDD와 SDD가 무엇일까?  (0) 2020.05.25