ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 76
Abonament PDF

RPA sau naturalețea automatizării

Cornel Dumitrașcu
RPA Developer Lead @ UiPath



PROGRAMARE


Din fluxul meu de informații și știri din IT a răsărit ieri o întrebare: Este etic să-ți automatizezi munca și să nu spui angajatorilor despre acest lucru? Pentru că de obicei sunt interesat de răspunsurile din perspectiva cealaltă, am aflat că răspunsul la această întrebare sună cam așa: "Este ca și când ai avea mașina stricată, te-ai duce la service, ei ți-ar repara-o în cinci minute, dar ar ține-o șase ore pe care ți le-ar factura la sfârșit".

O definiție în termeni foarte pragmatici ar putea să aibă forma : automatizarea presupune să găsești căi mai scurte și mai sigure către același rezultat pe care l-ai obține, dacă ai face tu lucrul respectiv de mână.

Pornind de la lucruri simple: să extragi date dintr-un mail și să le pui într-un Excel, până la lucruri complexe: să sincronizezi datele din sistemul de HR cu cele din sistemul de cheltuieli, plus validări, plus mailuri sau alerte atunci când apar inconsecvențe. Sau, un caz des întâlnit: preluarea de date din documente scanate (facturi, bonuri, declarații, etc.) și introducerea lor într-un software. Lucrurile se pot face manual sau căutând soluții care fac exact același lucru fără intervenție umană.

Automatizarea se manifestă, chiar și în afara RPA (Robotic Process Automation). O mare parte din istoria mea profesională chiar din asta s-a compus.

Prima oară când m-am lovit de "old school" versus "new school" (sper eu!), eram parte dintr-o echipă mică implicată în proiecte de migrare de sisteme. Multe dintre transformări se făceau individual și tocmai partea aceasta era importantă: ca oricărei transformări să îi fie asociate un nume și prenume pentru ca, în caz de schimbări sau probleme, persoana să poată fi contactată direct. Cu alte cuvinte, era nevoie de un responsabil. Când am propus să automatizăm măcar o parte din proces, am fost refuzat, iar motivul refuzului a fost: percepția de dispariție a responsabilității directe și individuale a developerului. Într-un final, am automatizat aproape tot, și am și randomizat, de comun acord, asocierea fiecărei transformări cu numele unui membru al echipei noastre.

Impactul a fost radical. De la 4 luni estimate, am ajuns la două săptămâni relaxate, cu tot cu testare. A trebuit să povestim, să convingem, să demonstrăm... și un nou orizont s-a deschis, cu traininguri despre cum se face, cu întrebări despre cum se poate extinde și așa mai departe.

Iar acestea sunt doar câteva exemple. Nici nu aș putea să număr toate situațiile pe care le-am rezolvat cu scripturi programate la anumite ore sau cu alte artificii, unele chiar "de unică folosință". Câteodată are sens să automatizezi chiar și pasul acela care rulează o singură dată; s-ar putea să ia mai puțin timp decât dacă l-ai face cap-coadă de mână. În anumite aplicații există macro-uri, care au aceeași funcție de a reda automat ceva care la un moment dat se făcea manual. Există chiar domenii în care automatizarea a fost adoptată, adaptată și promovată ca atare, înainte de RPA (exemplu: testarea automată).

Ca programator și om de Delivery mi-am automatizat propria muncă de-a lungul timpului și aș putea spune că a fost mereu componenta semnificativă a activității mele. Acum, la următorul nivel, facilitez aceasta pentru munca celorlalți, iar profesia de RPA - dar și activitatea în sine - reprezintă răspunsul la toate acestea: fac ceea ce oricum făceam, doar că nu specializat într-un singur domeniu, sau platformă, ci metodic, ca modus operandi.

Acum, canalul de comunicație intern zbârnâie mereu "Cine a avut de a face cu aplicația X?", "Cum mă integrez cel mai ușor cu platforma Y?", "Avem "suport" pentru tehnologia Z?", "Avem componente pentru sistemul W?", "Are cineva un exemplu de "workflow" pentru asta?"...

Automatizarea nu e doar un mijloc pentru a atinge varii scopuri, automatizarea este scopul în sine, iar din perspectiva aceasta nu mai avem de-a face cu un spectru limitat de platforme și tehnologii, ci cu metodologia ca atare (tooluri specializate, abordări alternative, componente reutilizabile). Probabil că prima observație importantă este legată de orizontul foarte deschis al activității noastre, din care se deduce și o calitate importantă necesară, aceea de adaptabilitate, inclusiv la tehnologii foarte noi precum AI (Artificial Intelligence) sau NLP (Natural Language Processing).

UiPath Studio

Abordarea, din punctul de vedere al tehnologiei în UiPath, se bazează pe .Net și Windows Workflow Foundation și constă dintr-un design vizual, o serie de layouturi (Sequence, Flowchart, State Machine), în care pot fi conectate un set de activități specializate (extensibil, adică un set oficial de bază și posibilitatea de a adăuga activități noi) care asigură tipuri comune de operații, integrări cu diverse platforme, aplicații sau alte tehnologii, majoritatea având posibilități de interacțiune cu elemente vizuale din web browsere sau aplicații desktop.

Există chiar și posibilități de recording care înregistrează activitatea unui utilizator pe ecran și produce tot conținutul necesar cu tot cu posibilitatea de playback și execuție.. Este funcție a componentei de bază de UI Automation care include mecanismului de scrape (a culege date și informații de pe suprafața… a mai orice, inclusiv a textelor din imagini, folosind OCR - Optical Character Recognition).

În domeniul nostru există câteva elemente care necesită atenția, abilitățile și "școala" unui programator:

Diferența și plăcerea majoră față de experiențele anterioare sunt date chiar de vastul spectru pe care-l atingem cu dezvoltarea RPA. Apare mereu ceva nou, mereu dai de ultimele năzdrăvănii de pe piață, nicăieri înainte nu am resimțit atât de mult libertatea de a explora prin tot ceea înseamnă platforme, sisteme sau aplicații, de a mă specializa în unele dintre ele (atât cât să pot îndruma pe alții) sau de a le încerca pur și simplu.
În același timp îmi pare că toată experiența mea anterioară (deloc de lepădat) a convers cumva natural către a aceasta: să-mi pornesc robotul ,să văd cum deschide și închide site-uri și aplicații, se autentifică automat în ele, scanează documente, poze, extrage tot ce-i trebuie, citește și trimite mailuri, iar eu în timpul acesta doar să privesc. E practic un festival pentru leneșul din mine care chiar asta vrea să vadă: muncă făcută de una singură, de câte ori e nevoie! În orice zile și la orice ore survine nevoia.

Se spune ca mulți dintre oamenii care inovează sunt oameni leneși, pentru că mereu caută moduri în care să muncească mai puțin. Poate că ar trebui sa punem un titlu de recrutare "Se caută leneși". Dar, de fapt, RPA e toolul care ia această "externalitate pozitivă" a lenei și o transformă în virtute asumată. Ne mândrim să facem munca oamenilor mai rapidă, mai ușoară și mai satisfăcătoare. Pentru că în dezvoltarea RPA, acesta e scopul final.

Va invit sa incercati si voi UiPath, varianta de Community e free: https://www.uipath.com/freetrial-or-community

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects