Scroll Top

RPA, tal e qual Low-Code?

No passado eram necessários vários anos para formar um bom programador, até que conseguisse desenvolver bons códigos. Hoje em dia apenas alguns meses de formação são requeridos.
N

Nos últimos anos, tem havido muita propaganda em torno de dois termos, Low-Code e RPA (Robotic Process Automation). Embora estejam ligados, não são o mesmo.

RPA é um tipo especial de Low-Code, centrando-se na automatização de tarefas humanas através do desenvolvimento de robôs de software que imitam as interações humanas com a Interface do Utilizador (UI). Assim, de certa forma, para falar de RPA, precisamos de ter dois componentes: Low-Code e “UI-Interaction”. Comecemos com o primeiro componente, Low-Code.

Citando a IBM, “Low-Code é uma abordagem visual ao desenvolvimento de software que permite uma entrega mais rápida de aplicações através de uma codificação manual mínima”. As expressões-chave aqui são “Visual” e “Minimal hand-coding”.

“Visual”, porque as atuais soluções de Low-Code fornecem ambientes gráficos ricos com interfaces “Point & Click” e “Drag & Drop”, diagramas bem desenhados e janelas “pop-up” cheias de sugestões de contexto.

“Minimal hand-coding”, porque o desenvolvimento de software percorreu um longo caminho em termos de reutilização e modularidade, há muito tempo que desapareceu o desenvolvimento de raíz.

O programador moderno reutiliza módulos, previamente definidos por outros programadores, que incorporam grandes pedaços de código subjacente, retirando complexidade suficiente o que possibilita aos não-especialistas desenvolver facilmente aplicações com aspetos profissionais.

A reutilização de módulos não é nada de novo, e os programadores “antigos” têm vindo a utilizar bibliotecas há muito tempo.

No entanto, com recurso à combinação quer do poder da modularidade, quer de interfaces gráficas fáceis de utilizar, o ciclo pode realmente acelerar, em termos de tempo, tanto de desenvolvimento, como de formação.

E

E o RPA? RPA é Low-Code, apoiado por sistemas especializados que imitam os humanos nas suas interações com Interfaces do Utilizador. Portanto, nem todo Low-Code é RPA, porém, todo RPA é um tipo especial de Low-Code.

Embora a maioria das novas aplicações sejam “Web-based” e algumas forneçam “APIs” ricas e bem estruturadas para interação programática, a verdade é que a maioria das aplicações empresariais ainda são “legacy”, sem “Web-UI”, sem “APIs”, e provavelmente com pouca documentação (exceto o Manual de Utilizador, baseado na “UI”). Além disso, a inexistência de uma modularização livre de algo como “regras de negócio”, geralmente intercaladas com o código da “UI” e a base de dados.

A fim de interagir via código com estes tipos de sistemas, a RPA é geralmente a melhor abordagem de compromisso, uma vez que se pode simplesmente fingir que o código é um “utilizador” e interagir através da “UI”, em vez de tentar utilizar uma “API” antiga e sem manutenção, tentando criar invólucros em torno de código antigo ou lidar diretamente com a base de dados (o que Deus proíbe).

As “UI” são devidamente mantidas quando as pessoas utilizam-nas todos os dias, há muito conhecimento sobre as mesmas e obtemos os benefícios das regras de negócio. E é uma interação bidirecional, utilizando o RPA podemos obter dados da “UI”, mas também colocar novos dados através da “UI”.

Os bons fabricantes de RPA, como a UiPath, sabem como interagir com todos os desafios de lidar com uma “UI” em diferentes tecnologias de “desktop” e soluções antigas que recorrem a emulação de terminais. Utilizam “AI” para identificar campos, “prompts”, fazer “OCR” quando necessário, tudo isto fornecido através de uma boa interface gráfica, com diagramas de processos. Isto permite que um programador comece a produzir bom Low-Code em questão de semanas, e que a equipa se concentre nos processos ao invés da implementação.

Esta tecnologia encurta, de fato, o ciclo de desenvolvimento e especialmente quando combinada com as metodologias “Agile”. Internamente, utilizamos um “sprint” de 2 semanas de duração, garantindo tempos mais curtos desde o arranque até ao “Go Live”.

E

Empresas como a Microsoft ao entrarem no domínio do RPA, é de esperar a fusão de ambientes de Low-Code e RPA, o que é bom. Os projetos de RPA quase sempre necessitam de algumas extensões não nativas, daí partilharem eco-sistemas comuns é obviamente o caminho a seguir.

Uma palavra de prudência, o Low-Code e o RPA continuam a ser software e quando implementados nas grandes organizações, os projetos baseados em qualquer uma dessas tecnologias escalarão de forma exponencial, com todas as armadilhas e desafios inerentes.

Vários fornecedores de software de Low-Code ou RPA adotam uma abordagem “citizen-developer”, onde os não-programadores produzem automatizações “ad hoc” para o seu próprio trabalho, a maior parte das vezes sem articulação ou envolvimento da equipa de IT.

Na nossa experiência, esta abordagem é inaceitável para qualquer empresa que aspire a criação de uma iniciativa de automatização escalável.

De fato, o tiro pode sair mesmo pela culatra e criar anticorpos sobre o uso do RPA na organização, devido aos esforços intrínsecos (versionamento, diferentes ambientes de desenvolvimento/QA/produção, manutenção, evolução, reutilização, operação, escalabilidade, entre outros).

Em suma, não há balas de prata neste negócio… Pode até ser Low-Code, mas sempre será código.

De qualquer modo, e quando corretamente utilizados, o Low-Code e, especialmente, o RPA são ferramentas incríveis para lidar com a fase de implementação da Transformação Digital, e veremos muito mais nos próximos anos. Ambos vieram para ficar.

Uma palavra de prudência, o Low-Code e o RPA continuam a ser software e quando implementados nas grandes organizações, os projetos baseados em qualquer uma dessas tecnologias escalarão de forma exponencial, com todas as armadilhas e desafios inerentes.

Posts relacionados

Preferências de Privacidade
Ao visitar o nosso website, este poderá armazenar informações através do seu navegador através de serviços específicos, usualmente sob a forma de cookies. Aqui pode alterar as suas preferências de privacidade. Note que bloqueando alguns tipos de cookies poderá ter impacto na sua experiência no nosso website e nos serviços que oferecemos.