O Futuro do Desenvolvimento de Low-code

28 de novembro de 2022 Off Por Priscila Noronha

O medo da automatização (ansiedade da automatização) existe desde o século XVI. Tem sido um grande motor de atitudes negativas em relação à tecnologia e às máquinas (também conhecida como tecnofobia). Com soluções mais sofisticadas de desenvolvimento de low-code e no-code no horizonte, até mesmo os programadores de software enfrentam confrontos de inquietude relacionados com a sua segurança no trabalho.

Embora as soluções de low-code tenham o poder de melhorar rapidamente as experiências dos clientes através da automatização de processos empresariais redundantes, será que podem substituir completamente os programadores? O guia que se segue tentará analisar o futuro do desenvolvimento de low-code através da análise das tendências atuais e dos próximos avanços.


Compreender a Popularidade Recente do Desenvolvimento Low-Code
Low-code descreve ferramentas, plataformas e outras tecnologias que lhe permitem construir aplicações com o mínimo de codificação possível. Muitas destas plataformas permitem construir aplicações web ou telefonicas inteiras através de uma interface de arrastar e largar.

No entanto, a maioria das pequenas e médias empresas utiliza estas ferramentas de low-code para construir serviços de fundo simples para ajudar a otimizar os fluxos de trabalho dos empregados. Recentemente, temos visto a popularidade de metodologias rápidas de desenvolvimento e implementação de software, tais como Agile e DevOps.

Muitas empresas começaram a integrar modelos de colaboração interfuncional para otimizar estes gasodutos. Isto deu origem a equipes de desenvolvimento multidisciplinares conhecidas como equipes de fusão. Estas equipes consistem frequentemente numa mistura de programadores de software e analistas de negócios não tecnológicos que podem não ter experiência em codificação.

Os líderes de TI descobriram que a melhor forma de colmatar a lacuna entre os membros das equipes de fusão é através de plataformas de desenvolvimento de low-code. Muitas destas plataformas começaram a lançar novas funcionalidades para facilitar também a colaboração suave entre as equipes de fusão.

As plataformas de low-code têm sido sempre utilizadas para criar soluções rudimentares para problemas empresariais urgentes. No entanto, recentemente, têm avançado para abordar novos domínios problemáticos.

Um Breve Histórico de Low-Code
O Microsoft Access é um dos primeiros exemplos de uma ferramenta comercial no-code/low-code. Permite a construção de bases de dados utilizando formulários e outras ferramentas gráficas. A ferramenta foi originalmente concebida para ajudar os utilizadores a construir pequenas bases de dados pessoais sem utilizar SQL (ou Transact-SQL). No entanto, os trabalhadores começaram a partilhar estas bases de dados criadas pelo Access entre os seus pares.

Eventualmente, as grandes empresas começariam a construir fluxos de trabalho inteiros em torno destas bases de dados. Há muitas razões pelas quais isto pode tornar-se uma responsabilidade para estas empresas. A utilização de um sistema de gestão de bases de dados relacionais totalmente especializado, como o Microsoft SQL ou o MySQL, é a aposta mais segura.

As organizações devem ainda utilizar os serviços de programadores de software experientes e administradores de bases de dados. Estes profissionais podem assegurar que as bases de dados são seguras e cumprem normas como a HIPAA e o Regulamento Geral de Protecção de Dados da UE (GDPR).

Assim, apesar de o Microsoft Access permitir aos utilizadores não técnicos criar bases de dados sem qualquer conhecimento de SQL, os programadores ainda eram obrigados a ligar os pontos. Ferramentas de low-code como o Access permitiram aos utilizadores empresariais desenvolver conceitos e provar mercados antes de trazerem os programadores para expandir as ideias centrais.

Os programadores remodelariam então os dados (para otimização) e construiriam aplicações em torno destas bases de dados do Access.

O estado atual do desenvolvimento de low-code
Atualmente, plataformas de desenvolvimento de low-code (LCDPs) mais envolvidas e sofisticadas podem ser utilizadas para construir aplicações desktop e móveis. Temos visto ferramentas de low-code habilitadas por aplicações SaaS nativas das nuvens, permitindo aos utilizadores construir facilmente arquiteturas escaláveis. Estes LCDPs podem permitir a construção de aplicações móveis, desktop e web personalizadas que podem satisfazer casos de utilização avançada como a aceitação de pagamentos ou simples como a restrição do acesso a determinados conteúdos.

O foco de um programador de software é escrever código; isto é, a sua vida cotidiana. Assim, podem não ter a experiência no trabalho dos profissionais ou os casos de utilização para os quais escrevem aplicações. Quem está mais preparado para escrever aplicações médicas robustas do que os médicos e outro pessoal da área médica? Quem pode simpatizar melhor com a situação dos trabalhadores da construção civil do que outros trabalhadores da construção civil?

É por isso que o movimento dos “construtores cidadãos” se tornou tão proeminente. De fato, a investigação conduzida pela Gartner revelou que mais de 41% dos profissionais não informáticos personalizam ou constroem as suas próprias soluções de software para resolver problemas empresariais. Apesar destas estatísticas, as empresas ainda precisam da contribuição dos promotores. O domínio do problema acaba de evoluir.

Para onde vamos a partir daqui?
Tão sofisticadas como as ferramentas LCDP e NCDP estão tornando-se, elas ainda têm as suas limitações. No futuro, as empresas serão capazes de abordar estas limitações de duas maneiras.

Inteligência Artificial e Aprendizagem de Máquinas
A aprendizagem de máquinas e a inteligência artificial serão altamente influentes na direção da tecnologia de low-code/no-code. Plataformas como o construtor de IA da Microsoft já fornecem uma abordagem de low-code para a construção de software automatizado de aprendizagem de máquinas. Poderá então integrar estes modelos ML construídos com modelos nas suas aplicações empresariais ou na pilha de software.

Temos visto como têm sido utilizados em software de comunicação médica e veterinária para automatizar a programação e as comunicações. Assim, os LCDPs podem ser utilizados para tornar a aprendizagem de máquinas mais acessível aos não-codificadores.

No entanto, a aprendizagem de máquinas também pode tornar as plataformas de low-code mais eficazes. Por exemplo, a prospecção de dados com base em ML pode ser utilizada para encontrar as últimas atualizações e as melhores soluções para problemas empresariais. Permitirá aos NCDPs/LCDPs fornecer sugestões mais relevantes e feitas à medida para os criadores de cidadãos.

No futuro, poderá ser possível construir um processo ou aplicação de automatização, fornecendo simplesmente uma especificação através de texto, um diagrama de caso de uso UML, ou discurso. Isto permite opções de composição de projetos mais flexíveis.

Melhorar a experiência do utilizador é uma das prioridades mais importantes dos líderes de TI na atualidade. A aprendizagem de máquinas aliada a um low-cdode ajudará as empresas a enfrentar rapidamente estes desafios.

Contratação de Desenvolvedores Profissionais para Ultrapassar as Limitações do low-code
Eventualmente, os proprietários de empresas e o pessoal não especializado em TI deparam-se com problemas que as soluções de low-code simplesmente não conseguem resolver – pelo menos não fora da caixa. Nestas situações, seria melhor contratar um promotor.

As empresas continuarão a necessitar dos serviços de criadores de aplicações profissionais para casos de utilização mais envolvida e complicada. Este será o caso mesmo com a aprendizagem de máquinas e a inteligência artificial a potenciar as futuras soluções de low-code.

A verdade é que enquanto os utilizadores empresariais podem ter uma compreensão mais profunda da relação entre objetos empresariais, só os programadores de software treinados e experientes podem implementar eficazmente estes conceitos em código.

Assim, a ausência de código não provocará a extinção do programador profissional. Em vez disso, facilitará uma melhor colaboração entre os programadores cidadãos e os programadores profissionais. Isto é especialmente importante para projetos de média a alta complexidade.

A segurança deve ser abordada
As tendências recentes da indústria e a forte ênfase na cibersegurança e segurança de rede são outra razão pela qual os programadores de software não se tornarão obsoletos. Por exemplo, muitos programadores descobriram que precisam prestar mais atenção à segurança das APIs, graças às vulnerabilidades descobertas nas APIs, tais como Log4j.

Como tal, devem integrar a segurança mais cedo no pipeline de desenvolvimento para evitar possíveis fugas e brechas de dados. A maioria das ferramentas de low-code utiliza APIs para construir aplicações. Infelizmente, os criadores cidadãos não podem proteger as suas aplicações da mesma forma que os criadores profissionais de aplicações podem. Mesmo quando os LCDPs recebem regularmente actualizações de segurança, pode não ser suficiente para proteger as aplicações empresariais de futuros ciberataques.

Mais uma vez, é por isso que a colaboração entre os cidadãos e os desenvolvedores profissionais é tão importante. Só estes últimos podem realmente assegurar que o software empresarial está devidamente protegido.

Melhor Colaboração é o Futuro da Low-Code
As futuras ferramentas no-code e de low-code devem ser capazes de promover facilmente a colaboração entre programadores profissionais e não programadores. Estas plataformas devem fornecer meios relativamente fáceis e seguros para os programadores acederem ao código para o modificarem e alargarem o mais livremente possível.

Na maioria dos casos, os programadores de software já possuem estruturas e ferramentas que preferem utilizar para os seus fluxos de trabalho. Desde IDEs, automação de CI/CD a software de teste; plataformas de low-code devem ser capazes de se ligar ou interagir com estes ambientes e ferramentas estabelecidos.

Mais uma vez, este atributo é extremamente importante, especialmente com a grande popularidade das metodologias de desenvolvimento e entrega, tais como Agile e DevOps. Estas técnicas e modelos requerem uma ação de colaboração suave entre equipes multifuncionais. Quanto mais flexível for um LCDP, melhor. Já vimos como restrições de programação desnecessárias dos LCDPs modernos podem obstruir o progresso em ambientes interfuncionais. Estas deficiências devem ser abordadas. Se os LCDPs/NCDPs não conseguirem fazer, a sua existência no mercado será muito provavelmente de curta duração.

Conclusão
Não vemos plataformas de low-code a depreciar completamente os programadores profissionais de software num futuro próximo (ou distante). No entanto, irão alterar a forma como os programadores constroem o software. Os requisitos comerciais e laborais dos programadores também evoluirão, uma vez que o low-code tem o potencial de melhorar a colaboração entre programadores e não programadores.

Os programadores cidadãos podem utilizar ferramentas de low-code para modelar o que querem para o seu produto final antes de permitir que os programadores experientes se expandam e desenvolvam com base nestas ideias. Assim, estas plataformas de desenvolvimento de low-code devem ser acessíveis e mais fáceis de utilizar pelos criadores cidadãos, mas menos restritivas e mais flexíveis para os criadores profissionais de aplicações. Devem permitir que os desenvolvedores profissionais codifiquem mais livremente. Este será o foco dos programadores de plataformas de low-code nos próximos anos.