Notícias

Erros a evitar com implantações de low-code

- TI

As empresas estão implantando mais ferramentas e processos de low-code, à medida que buscam aumentar a eficiência do desenvolvimento de software e apoiar os esforços de negócios digitais. A chave para o sucesso com a tecnologia é aprender a evitar erros comuns.

A empresa de pesquisa Gartner previu que o mercado mundial de desenvolvimento de low-code totalizará US$ 13,8 bilhões em 2021, um aumento de 23% a partir de 2020. O aumento do desenvolvimento remoto durante a pandemia continuou a impulsionar a adoção de low-code, afirma.

O desenvolvimento de aplicativos low-code não é novo, aponta a empresa, mas uma confluência de “interrupções digitais, hiperautomação e o surgimento de negócios combináveis” levou a um influxo de ferramentas e aumento da demanda. O low-code como movimento social e tecnológico de modo geral deve continuar crescendo significativamente, prevê o Gartner.

O mercado inclui produtos como plataformas de aplicativos low-code, suítes de gerenciamento de processos de negócios inteligentes, automação de processos robóticos e plataformas de desenvolvimento e automação de cidadãos.

A aceleração dos negócios digitais está pressionando os líderes de TI para aumentar drasticamente a velocidade de entrega de aplicativos, e as ferramentas de low-code tratam disso. O aumento da demanda por programas de software personalizados em apoio à transformação digital gerou o surgimento de desenvolvedores cidadãos fora do departamento de TI, o que por sua vez influenciou o aumento das ferramentas de low-code, diz o Gartner.

A implantação de produtos e processos low-code pode estar repleta de erros e as organizações precisam estar cientes deles para que possam evitá-los ou minimizar o impacto nas operações de desenvolvimento.

Abandonando práticas de desenvolvimento fundamentais

“Os maiores problemas que experimentei baseiam-se em um mal-entendido sobre o que uma estratégia de low-code realmente oferece”, diz Mandy Andress, CISO da Elastic, fornecedora de produtos de busca on-line. “Muitas organizações adotam uma estratégia de low-code como uma chance de economizar dinheiro ou acelerar o desenvolvimento. Mas isso só terá sucesso se eles entenderem quais custos uma estratégia de low-code pode melhorar”.

Uma estratégia de low-code pode ajudar a reduzir o custo dos desenvolvedores necessários para um projeto, permitindo que desenvolvedores menos experientes criem funcionalidades avançadas, diz Andress. A velocidade de desenvolvimento também pode ser um benefício, principalmente se os componentes forem reutilizados entre os aplicativos.

“O que mais falta são os processos mais amplos de negócios e governança necessários para garantir que um aplicativo seja desenvolvido para atender às necessidades de negócios”, diz Andress. “Quais são os requisitos do negócio? Quais são os principais controles de negócios que precisamos implementar, como separação de funções?”

Em uma função anterior, Andress foi contratado para ajudar em um projeto de low-code porque havia a preocupação de que o aplicativo não tivesse os principais controles de negócios. Depois de revisar seus esforços, ela descobriu que o aplicativo não tinha regras de negócios essenciais “porque a equipe não viu a necessidade de seguir seu processo SDLC [ciclo de vida de desenvolvimento de software] definido para esforços de desenvolvimento de low-code, e não tinha totalmente documentado e revisado requisitos de negócios”, diz ela.

Refazer o aplicativo “triplicou o tempo necessário para a conclusão, removendo qualquer economia de custo que a equipe ganhou com a adoção de uma abordagem de desenvolvimento low-code”, diz Andress.

Habilidades incompatíveis

Um dos benefícios das ferramentas low-code é que elas podem reduzir a necessidade de desenvolvedores experientes para concluir os projetos. Mas isso não significa que a necessidade de profissionais qualificados desapareça.

“As equipes implantadas no desenvolvimento de low-code precisam ser altamente proficientes nas respectivas plataformas low-code, com certificações de produto adequadas e conhecimento do que fazer e do que não fazer”, disse Vinay Mummigatti, Vice-Presidente e Diretor de Automação da LexisNexis Legal & Professional, uma empresa que fornece serviços jurídicos e de dados ao consumidor.

“Na minha experiência, implantar engenheiros de software que sejam bons em escrever aplicativos de software sob medida e com codificação intensiva para desenvolver soluções de low-code é um erro”, diz Mummigatti. “Na maioria das vezes, eles escrevem milhares de linhas de código e acabam com aplicativos altamente personalizados que são difíceis de manter ou dimensionar. E não é isso que uma plataforma low-code faz de melhor”.

Por exemplo, na LexisNexis, uma equipe de engenharia J2EE recebeu treinamento cruzado em uma plataforma líder de automação de low-code para fornecer um aplicativo de “processamento de pedidos legais”, diz Mummigatti. “Em vez de construir o aplicativo de acordo com a metodologia e as melhores práticas prescritas pelo fornecedor da plataforma [low-code] para aproveitar os recursos prontos para uso, a equipe de desenvolvimento usou [a] plataforma apenas para orquestrar o fluxo de trabalho como um motor de back-end , mas escreveu um código complexo para todas as funcionalidades”, diz ele.

A codificação customizada levou a três vezes o custo original e as estimativas de tempo, e graves problemas de desempenho e manutenção que eventualmente resultaram em uma reescrita completa do aplicativo usando a equipe de serviços profissionais do fornecedor, diz Mummigatti.

Falta de entrega de software voltada para negócios

As plataformas low-code permitem principalmente que os desenvolvedores cidadãos de comunidades de negócios atinjam a entrega rápida de aplicativos, diz Mummigatti, e deixar os usuários de negócios fora do processo de tomada de decisão inicial não é uma boa ideia.

“Um dos principais erros que vimos é que os usuários de negócios não estão envolvidos desde o início de um projeto”, diz Mummigatti. “Com uma plataforma low-code, ‘desenvolvimento orientado por modelo’, ter usuários de negócios engajados desde o início é a chave para o sucesso. A falta de envolvimento comercial desde o início pode levar a uma grande reengenharia e variações de orçamento/cronograma”.

Projetos low-code devem incluir forte alinhamento entre negócios e TI. Um exemplo que Mummigatti cita é uma plataforma de integração do cliente que foi projetada e desenvolvida com o mínimo de envolvimento comercial. Quando a plataforma foi entregue, os usuários de negócios rejeitaram a lógica do processo, as regras de decisão, os relatórios e as interfaces de usuário, pois impunham um gerenciamento complexo de mudanças operacionais, diz ele.

“Quando bem feito, envolvemos os negócios desde o primeiro sprint”, diz Mummigatti. “Os usuários de negócios podem visualizar como os modelos de processo são projetados, a lógica de negócios definida, os formulários/interfaces de UI criados e os elementos de dados transformados a cada etapa” em uma plataforma low-code. Em última análise, isso resulta em um aplicativo que é “exatamente como a empresa imaginava”, diz ele.

Falha ao atualizar cultura e estrutura

“As tecnologias de low-code/no-code são ferramentas excelentes para apoiar a transição para aplicativos gerenciados por negócios e desenvolvimento cidadão, se feito da maneira certa”, diz Andrew Kum-Seun, Analista de Pesquisa Sênior na Prática de Aplicativos na empresa de pesquisa Info-Tech Research Group.

“Muitas organizações esquecem que mudanças significativas na cultura da empresa, software, estruturas de propriedade de risco e modelos operacionais de TI são necessárias para que este novo ambiente floresça”, diz Kum-Seun. “Infelizmente, as práticas tradicionais de entrega de software, equipes de TI e negócios em silos e a baixa qualidade do sistema empresarial limitam o verdadeiro potencial das tecnologias de low-code/no-code e aumentam o custo de implementação e manutenção de longo prazo”.

A TI deve fazer a transição de uma operadora e implementador de solução “para um parceiro confiável, treinador e apoiador da plataforma”, diz Kum-Suen. “A empresa deve ser responsável por suas decisões de implementação e desenvolvimento de software e ser transparente sobre as mudanças que estão fazendo no ambiente corporativo. Afinal, o valor real das tecnologias low-code/no-code surge quando estamos dispostos a otimizar a forma como trabalhamos para aproveitar ao máximo seus recursos”.

Plataformas low-code podem ser ferramentas valiosas para aprimorar o desenvolvimento. Mas elas não são perfeitas.

“Um grande erro com plataformas low-code é não levar em conta algumas limitações técnicas”, diz Mummigatti. Em alguns projetos, a LexisNexis Legal & Professional tentou estender suas plataformas low-code para lidar com aplicativos de alto volume centrados em transações com recursos de recuperação e failover ou processamento em lote em grandes volumes.

“Descobrimos que as plataformas low-code não escalam e funcionam bem em situações que envolvem dados centrados na integração ou orquestração de serviços em vários sistemas ou estruturas de dados complexas”, diz Mummigatti. A empresa usou plataformas low-code para aplicativos de processamento de hipotecas e aplicativos anti-lavagem de dinheiro que envolviam processamento em lote de documentos e dados provenientes de aplicativos de processamento de transações em grandes volumes.

Em ambos os cenários, a empresa descobriu que as plataformas low-code não conseguiam oferecer a velocidade e a qualidade de que precisavam. Os aplicativos falharam no meio do processo. “Não tínhamos capacidade de garantir 100% de processamento de grandes volumes de dados em lote” com plataformas low-code, diz Mummigatti. “Este foi um grande desafio operacional e regulatório com alto impacto na experiência do cliente”.

Implantar muitas ferramentas

Muito de uma coisa boa nem sempre é uma coisa boa. Isso se aplica a ferramentas low-code/no-code, especialmente se elas não funcionarem bem juntas.

A empresa de software Nutanix encontrou esse problema, encontrando o que a CIO, Wendy Pfeiffer, compara a uma “Torre de Babel”. Ao implementar muitas ferramentas que não falam a mesma língua, “sua equipe não será capaz de atingir grandes níveis de automação”, diz ela.

“No caso da minha equipe, foi somente depois de treinar todos os membros da equipe no uso de uma única ferramenta que começamos a fazer um progresso real ao permitir operações autônomas”, diz Pfeiffer. “Há três anos, apenas cerca de 15% dos nossos serviços eram realizados de forma autônoma. Hoje, esse número está perto de 85%, com muitos dos primeiros passos dessa jornada realizados por membros da equipe que nunca antes escreveram código de automação, mas que eram especialistas em operações de TI”.

Além disso, a tecnologia low-code pode não ser tão simples de implementar como anunciam os fornecedores, diz Kum-Seun. “Os verdadeiros benefícios residem na capacidade de aproveitar e integrar os vários serviços e dados em seus aplicativos corporativos, data warehouses e sistemas”, diz ele. “No entanto, muitas organizações estão restritas a sua arquitetura de sistema legado, carecem de definições de dados comuns e seus aplicativos são sobrecarregados por dívidas técnicas”.

Gateways de interface de programação de aplicativos (API), data lakes, plataformas em nuvem e outras ferramentas de integração e agregação podem ajudar a melhorar a compatibilidade do sistema com tecnologias low-code, diz Kum-Seun. “No entanto, eles não abordam os desafios fundamentais de arquitetura e gerenciamento de dados”, diz ele.

Perpetuando processos ruins

O potencial para ferramentas low-code é enorme, diz Pfeiffer. “Com um pouco de treinamento, cada membro da equipe de TI pode automatizar os principais elementos de seus fluxos de trabalho especializados, permitindo maior precisão e eficiência”, diz ela. “Mas a automação nas mãos das massas não é uma panaceia. Um processo terrível ainda é um processo terrível, mesmo que seja executado com rapidez e precisão por uma máquina”.

Não existe uma “mágica de máquina” especial que transforme um processo manual pobre em um processo brilhante, diz Pfeiffer. “Como primeira etapa, minha equipe deve escrever os processos candidatos em linguagem simples”, diz ela. “Há algo sobre ver uma descrição do trabalho a ser feito que destaca os problemas e leva a melhores fluxos de trabalho”.

Uma vez que o documento faz sentido, o processo está pronto para tradução em código pela ferramenta low-code.

A automação é melhor executada em graus, diz Pfeiffer. “As equipes de TI geralmente acreditam que precisam automatizar um processo complexo e problemático de ponta a ponta para que a automação tenha impacto”, diz ela. “Minha equipe e eu aprendemos que concentrar nossos esforços na automação das etapas mais propensas a erros de nossos processos – as etapas que criam mais retrabalho – é a verdadeira chave para experimentar os benefícios dessas ferramentas”.

Fonte: Cio From IDG

Compartilhar

WhatsApp chat