Passar ao conteúdo
Os termos low-code e no-code estão a tornar-se definições muito comuns que ultimamente acompanham um número crescente de ferramentas e soluções, criando também alguma confusão, o que significam e onde realmente se aplicam?

O conceito de low-code foi inicialmente utilizado para classificar o conjunto de ferramentas ou plataformas que permitiram o rápido desenvolvimento de aplicações sem a necessidade de escrever código.

Estas plataformas de low-code são ferramentas que permitem construir e implementar aplicações a partir de um ambiente visual e configurável que requer uma programação menos tradicional ou manual, com o objetivo de reduzir a complexidade no desenvolvimento de aplicações e reduzir o tempo necessário para a sua entrega.

Mesmo sendo ferramentas nascidas para facilitar a implementação de aplicações ou processos empresariais, o low-code ainda requer conhecimentos técnicos e, portanto, destina-se a perfis de desenvolvimento (de preferência capazes de ter capacidades funcionais), enquanto que no outro extremo aparece o conceito de no-code (código zero) que leva o conceito de simplificação mais longe, tornando estas ferramentas acessíveis a novos utilizadores, sem a necessidade de conhecimentos técnicos.

Agora o conceito de low-code/no-code tornou-se a capacidade ou propriedade que torna uma ferramenta mais simples e intuitiva, exigindo um conhecimento menos profundo (técnico ou de programação), menos experiência prévia, e alcançando assim um público mais vasto de utilizadores. Com o objetivo de que estes utilizadores que têm as necessidades (comerciais, operacionais, etc.) sejam mais autónomos e possam configurar ou desenvolver as suas próprias aplicações.

Começou-se a aplicar a qualquer ferramenta, e agora encontramos soluções de todos os tipos que incorporam este qualificador: RPA de low-code, plataformas de conversação no-code, sistemas de gestão de conteúdos no-code, etc.

Neste post referir-nos-emos ao low-code e no-code no campo do desenvolvimento de aplicações ou digitalização de processos, também conhecido pela sigla LowCode Development Platform (LCDP), e veremos que, mesmo neste segmento, as possibilidades são ainda muito amplas porque cada fabricante tem abordagens diferentes.
 

Low-code em planos estratégicos de transformação

O papel desempenhado pelas aplicações (software personalizado) dentro das empresas é fundamental para a implementação de qualquer serviço ou produto, mesmo que não sejam baseados em software.

As aplicações permitem aos nossos clientes gerir os seus serviços, controlar os seus dispositivos, digitalizar um processo manual, automatizá-lo ou converter dados em indicadores para medir o desempenho (tais como o impacto de iniciativas empresariais, etc.).

Assim, não é surpreendente que os CTOs e CIOs estejam sob pressão para definir a estratégia arquitetónica que lhes permita satisfazer os requisitos empresariais (rapidez, segurança, escalabilidade e inovação), assegurando ao mesmo tempo a continuidade do negócio, uma certa homogeneidade ou coordenação sem centralização, um retorno do investimento a curto prazo e resiliência ao longo do tempo.

Para além das estratégias baseadas no desenvolvimento tradicional ou em soluções verticais (SaaS), as plataformas de desenvolvimento rápido oferecem agora benefícios que são tão convincentes que não podem ser negligenciados.

O mesmo exercício que tivemos de fazer ao avaliar a estratégia em relação à infraestrutura da nuvem (colocando de um lado a escalabilidade, flexibilidade e estabilidade da cloud, e do outro uma nova forma de gestão, perda de controlo fino e controlo de custos baseado no opex, etc.), deve ser repetido com estas plataformas que incorporam velocidade, visão integrada e acesso a novos papéis, versus a opção de ter o controlo absoluto de cada uma das peças que suportam as aplicações.

Estas plataformas estão a crescer rapidamente em características a um ritmo que é difícil para as empresas conseguirem individualmente acompanhar. Muitos já estão a ver como estas plataformas podem ajudar a conduzir casos de utilização graças à disponibilidade imediata de uma arquitetura validada, proporcionando rapidez de desenvolvimento e controlo total sobre as suas aplicações para as fazer evoluir na direção do negócio. Além disso, a tendência é de envolver negócios dentro da própria plataforma, evitando silos departamentais e acrescentando-os a uma estratégia comum.
 

Características de uma plataforma de low-code

Cada fabricante tem uma abordagem diferente ao desafio do desenvolvimento de aplicações, mas em geral têm em comum as seguintes características que poderiam definir a essência deste tipo de plataformas:
  • Têm um ambiente gráfico orientado para componentes reutilizáveis que através de uma linguagem visual e parametrização permite conceber e construir os diferentes artefactos que a plataforma gere, sendo mais intuitivo e mais rápido para os utilizadores.
  • Permitem gerir o ciclo de vida das aplicações, desde a conceção e implementação nos diferentes ambientes, para fechar o círculo, monitorizando e apoiando o funcionamento das aplicações em produção.
  • Têm capacidades de desenvolvimento móvel, ou pelo menos entregam funcionalidades através da sua aplicação.
  • Fornecem apoio para modelação de processos e soluções de automatização.
  • Facilitam a exposição dos serviços através de APIs e têm capacidades de integração com terceiros.
  • Incluem um modelo de governação do ecossistema de aplicações e componentes geridos pela organização, bem como a segurança dos utilizadores que acedem à plataforma.
  • Incorporam um marketplace ou repositórios onde se podem encontrar componentes reutilizáveis desenvolvidos pelo próprio fabricante ou por terceiros.
  • E como qualquer solução como serviço, têm uma política de fornecer novas funcionalidades através de lançamentos e garantir a segurança e a escalabilidade das aplicações.
 
Dependendo da forma como fornecem o seu valor e do tipo de utilizadores a que se destinam, estas capacidades são divididas em:
  • As plataformas de low-code para programadores, são aquelas destinadas a programadores que aumentam a produtividade através de ferramentas, bibliotecas de componentes reutilizáveis, modelos pré-existentes e alguma inteligência na sua composição. Os programadores com experiência anterior noutras tecnologias têm uma curva de aprendizagem muito baixa e, para os novos programadores, torna-se mais fácil concentrar-se numa única ferramenta.
  • O low-code para os criadores de empresas destina-se a utilizadores não técnicos com determinadas competências que desejem assumir um papel ativo na definição destas aplicações. Normalmente, o tipo de conceitos que são mais familiares a estes utilizadores empresariais ou operacionais são processos, processamento de informação através de relatórios, interfaces semelhantes a ferramentas de escritório, ou customer journeys. A sobreposição com a capacidade anterior é cada vez mais fina e, em muitos casos, o limite dependerá apenas da atitude do developer de negócios para continuar a aprender aspetos mais profundos da plataforma.
  • Low-code prescritivo. A Forrester chama soluções de low-code que incorporam componentes empresariais em bloco mas que facilmente são personalizáveis através do mesmo mecanismo que é desenvolvido na própria plataforma.
  • No-code seria a capacidade de implementar aplicações e/ou processos utilizando um paradigma muito diferente do desenvolvimento, criando conceitos que são dissociados do que tradicionalmente conhecemos quando desenvolvemos uma aplicação e centrados numa configuração rápida da solução. Normalmente a configuração ou parametrização das ferramentas tem um limite e para alcançar resultados fora da norma deve ser complementada com algum tipo de programação.
A tendência atual é para que as soluções de low-code incorporem várias destas capacidades ao mesmo tempo para permitir que tanto os utilizadores empresariais como os criadores colaborem sob um mesmo ambiente. Por exemplo, a plataforma OutSystems inclui capacidades para programadores empresariais através das ferramentas Business Builders e capacidades de código baixo para programadores através de uma IDE. Ambas as ferramentas fazem parte da mesma plataforma para que todos os elementos estejam ligados, proporcionando ao mesmo tempo uma experiência de utilizador diferenciada e abordando estes utilizadores utilizando a 'linguagem' mais familiarizada com o seu papel.

Esta combinação permite aos analistas informáticos e funcionais participarem em conjunto na definição e construção da mesma plataforma. A partir da definição mais antiga, onde os analistas de negócios podem esboçar diretamente na ferramenta uma visão geral das aplicações ou dos caminhos felizes dos processos, enquanto a equipa de TI pode validar a solução, identificando as integrações do sistema, modelando os repositórios de informação, etc. A construção da aplicação beneficia da comunicação fluida através da própria ferramenta, que inclui mecanismos de trabalho colaborativo. Permite mesmo que se obtenha feedback diretamente dos utilizadores da aplicação.

Ferramentas de low-code favorecem novas formas de organização de equipas, alinhadas com os princípios de metodologias ágeis: focar nas características que acrescentam mais valor, entrega rápida, comunicação fluida e os mesmos objetivos. Estas ferramentas de low-code dão mais destaque aos utilizadores empresariais que poderão recrutar na sua organização pessoas que queiram participar nas iniciativas da empresa. E pouco a pouco a distância entre perfis empresariais e perfis mais técnicos será reduzida, surgindo novas funções dentro de organizações que combinam ambos os aspetos, uma vez que estas ferramentas são concebidas para encurtar esta distância.
 

Inovação contínua

O compromisso que os fabricantes estão a assumir para acrescentar constantemente novas características a fim de se distanciarem é muito forte:

Por um lado, começam a existir soluções de low-code que, para além das capacidades de low-code/no-code, fornecem componentes empresariais empacotados: pequenos domínios funcionais que resolvem processos comuns (gestão de contactos, oportunidades, facturação, etc.) tradicionalmente associados a soluções SaaS, que podem ser utilizadas e integradas com aplicações personalizadas.

A principal diferença em relação ao SaaS é que são construídos sobre uma arquitetura de low-code e, portanto, são concebidos desde o início para servir de modelo ou acelerador, facilmente adaptáveis às necessidades do cliente. Podem ser facilmente adaptados ou alargados sem forçar a ferramenta, uma vez que são construídos sobre a mesma base, utilizando o resto das vantagens adicionais, tais como uma única ferramenta de governação, implementação, controlo de versões, etc. Estes tipos de capacidades são conhecidos como low-code prescritivo.

Por outro lado, estas plataformas têm a capacidade de aceder a milhares de 'linhas de código anónimas' utilizadas pelas suas aplicações, o que constitui a base para a formação de modelos de inteligência artificial que podem ser utilizados para criar novas características de plataforma para melhorar a qualidade, previsibilidade de código, desempenho de aplicações, etc. Vamos começar a ver muitas destas capacidades aplicadas ao desenvolvimento de aplicações, um campo que tem sido pouco explorado até agora.
 

Conclusão

Em suma, as plataformas de low-code estão a tornar-se uma séria parte das soluções de arquitetura das organizações e os CIOs terão um papel decisivo nesta adoção, que será em grande parte impulsionada pelo negócio.

Não existe uma solução perfeita ou de tamanho único, mas como ninguém tem a certeza da direção que o seu negócio toma no futuro, velocidade, flexibilidade e a capacidade de experimentação das organizações serão fundamentais, e plataformas de low-code/no-code podem fazer parte da solução.
 
Leopoldo Colorado
Leopoldo Colorado Perfil en Linkedin

Responsable de la Factoría de Iniciativas de BABEL.

Mais posts de Leopoldo Colorado