# Robotic process automation

La robotic process automation (RPA) è l'automazione di processi lavorativi utilizzando software "intelligenti" (i cosiddetti "robot"), che possono eseguire in modo automatico le attività ripetitive degli operatori, imitandone il comportamento e interagendo con gli applicativi informatici nello stesso modo dell'operatore stesso.

## Descrizione

Attualmente (ad esempio, con gli strumenti di automazione del workflow), le attività automatizzate, semplici e ripetitive, sono basate su sorgenti strutturate di dati, per poter interfacciare i sistemi di back-end per mezzo di Application Programming Interface (API) interne o linguaggi di scripting dedicati. Invece, i sistemi di RPA sono in grado di gestire dati anche non strutturati (quali documenti scannerizzati, immagini, video), integrando elementi tratti da soluzioni di intelligenza artificiale (ad esempio quelle per apprendere automaticamente le operazioni da automatizzare o per adeguarsi in modo adattivo ai cambiamenti dell’ambiente in cui operano). In altri termini, i sistemi di RPA sviluppano la lista di azioni "osservando" l'utente svolgere determinati task nella GUI (Graphical User Interface) e, successivamente, l'automazione consiste nella ripetizioni dei task direttamente nella GUI. Questo fatto riesce ad facilitare l'automazione nei casi in cui non sia disponibile un API adatta allo scopo.
Esistono numerosi ambiti di applicazione della RPA, dal front-office al back-office, e i settori:
* dei servizi finanziari (per esempio per le approvazioni dei mutui bancari),
* del turismo (per conferme d’ordine, ad esempio) e
* della sanità (per la refertazione al paziente)
sono fra i più indicati, a causa dei rilevanti volumi di attività ripetitive che li caratterizzano.
Gli strumenti di RPA presentano similarità con quelli per il test delle Graphical User Interface. Anche questi automatizzano l'interazione con la GUI ripetendo una serie di azioni dimostrative svolte dall'utente. Ma gli strumenti di RPA offrono funzionalità che consentono di gestire i dati all'interno e fra multiple applicazioni, per esempio, ricevendo messaggi di posta elettronica contenenti una fattura, estraendone i dati e inserendoli in un sistema di prenotazione. Oppure, i software robot possono eseguire processi che prevedono l’accesso e l’utilizzo di più sistemi e procedure, quali sistemi ERP, fogli elettronici o siti web, eseguendo lunghe sequenze di attività. Questa manipolazione dei dati non è di solito presente negli strumenti di test delle GUI.

## Origini e sviluppo

Lontani antesignani dei sistemi di RPA sono i sistemi di screen scraping (progettati per prelevare direttamente dalle schermate il contenuto e i dati di un applicativo o di un sito web per poterlo riutilizzare). La RPA è però una significativa evoluzione tecnologica e le piattaforme disponibili sono sufficientemente mature, robuste, scalabili ed affidabili per un uso da parte delle grandi imprese.
I servizi di RPA attuali utilizzano un'istanza robotica software per ciascuna workstation virtuale (ricordando in questo l'assegnazione di operatore umano ad una postazione di lavoro). Il software robot usa i controlli della tastiera e del mouse per svolgere le attività automatizzate. Di solito, queste ultime sono svolte in un ambiente virtuale (non sono pertanto visibili su schermo). D'altronde, è proprio all'evoluzione delle tecnologie di virtualizzazione che i moderni sistemi di RPA devono la loro scalabilità. L'implementazione delle tecnologie di RPA nelle imprese ha portato ad ingenti risparmi sui costi se paragonati a quelli dovuti alle tradizionali soluzioni non RPA.

## Vantaggi

I principali vantaggi presentati dalla RPA sono:
* riduzione nel numero di errori, dato che le attività oggetto di automazioni sono quelle che, se svolte dall’operatore umano, sono più esposte ad errori (perché ripetitive),
* contenimento dei costi, grazie alla riduzione degli addetti e al loro riutilizzo per altri compiti,
* riduzione dei tempi di svolgimento delle attività,
* nessun impatto sui sistemi informativi, poiché le applicazioni esistenti non vengono interfacciate ad es. con tecniche di integrazione di sistemi; per definizione, i robot usano le applicazioni con le stesse modalità dell’operatore umano,
* tempi rapidi di implementazione delle iniziative di RPA, grazie alla possibilità di produrre in tempi molto contenuti una proof of concept.

## Impatto della RPA sul lavoro e sul business

Il cambiamento sotteso alle iniziative di RPA ha impatto sulle modalità in cui le imprese utilizzano le risorse umane, al punto che si può paragonare l'impatto della RPA sulla forza lavoro impiegatizia a quello avuto dalle linee di produzioni robotizzate sulla forza lavoro manuale. L'uso estensivo della RPA porterà a richiedere per il settore impiegatizio un livello di qualificazione superiore a quello attuale, in quanto le attività ripetitive o rigidamente proceduralizzate potranno essere svolte dai robot. Gli addetti, distolti dai task a scarso valore aggiunto, potranno essere incaricati di occuparsi ad esempio di attività commerciali e di interpretazione dei dati. Di conseguenza, in futuro, saranno sempre più necessari interventi di riqualificazione del personale rimpiazzato dalle tecnologie di RPA.
La maggior parte delle imprese che hanno adottato soluzioni di RPA ha deciso di non effettuare tagli sul numero di addetti, ri-dispiegando le persone coinvolte in attività più interessanti. In tal modo, è stato possibile raggiungere migliori livelli di produttività a parità di numero di risorse umane.
Uno degli aspetti critici potrebbe essere rappresentato dalla minaccia per le attività di Business Process Outsourcing (BPO), perché alcune imprese potrebbero pensare di far rientrare entro i confini aziendali le attività esternalizzate e ora oggetto dell'automazione RPA.