4 sinais de que é hora de investir em modernização do legado

Quando o sistema é core para diferenciação, alguns fatores são fundamentais para a decisão de modernizar

Author Photo
6:41 pm - 01 de setembro de 2021
modernização, atualização Imagem: Shutterstock

Já faz algum tempo que a tecnologia tem ditado os rumos do negócio em diversos setores. Apesar disso, promover mudanças em suas operações continua sendo um desafio para as empresas. Um claro exemplo são os sistemas legados, uma denominação utilizada para descrever aplicações que foram criadas seguindo métodos ou tecnologias defasadas e que permanecem em uso em uma organização, trazendo uma série de problemas para o negócio.

O estudo Application Modernization Should Be Business-Centric, Continuous and Multiplatform, da Consultoria Gartner, indica que os débitos técnicos de sistemas legados continuarão se somando aos já existentes; e, em 2025, estarão consumindo mais de 40% do budget de TI. O mesmo estudo indica que, até 2025, 90% dos aplicativos atuais ainda estarão em uso, sendo que a maioria continuará a receber investimento insuficiente em modernização.

A modernização de aplicações legadas, normalmente, é um investimento alto e, muitas vezes, trata-se de uma jornada de longo prazo. Entretanto, nos casos em que o sistema em questão é core para gerar diferenciação no mercado, alguns fatores são fundamentais para a decisão de modernizar e parar de investir no legado.

Veja, a seguir, 4 motivos que tornam fundamental e justificável o investimento em modernização das suas aplicações legadas.

1 – Seu ritmo de inovação está cada vez mais lento

A necessidade de inovar e de modernizar os seus processos desafia as empresas tradicionais – diferentemente das startups, nativas digitais, que têm em seu DNA a inovação. A métrica de Time to Market (TTM), que determina o período de tempo entre a idéia e o produto final sendo utilizado em produção, vem degradando com o passar do tempo em sistemas legados; chegará a um ponto em que a inovação acabará ficando muito lenta e, com isso, a perda de competitividade no mercado será inevitável. 

Manter um TTM aceitável em sistemas legados é praticamente impossível, visto que  esses sistemas não foram concebidos com uma arquitetura pensada para escalar times independentes, trabalhando em paralelo e liberando mudanças em produção frequentes. Nesses sistemas, não importa se você tem 10 ou 100 desenvolvedores trabalhando, o ritmo de mudanças é sempre determinado pela funcionalidade mais complexa de se implementar.

Ademais, outro fator que desacelera a inovação, muito comum em sistemas legados, são os débitos técnicos. Normalmente enormes e frequentemente impagáveis, precisam ser considerados e remediados a cada nova mudança do sistema. Por exemplo, imagine dois corredores disputando uma prova, em que um deles carrega uma mochila adicional de 20 quilos (analogia para débitos técnicos). Quem você acha que terá mais chance de vencer? 

2 – Seu custo operacional está muito alto 

É muito comum um cenário onde o sistema legado vem gerando um crescente custo operacional para a organização. Normalmente, esses custos vêm de fontes variadas, como infraestrutura,  sustentação, suporte, manutenção e evolução do sistema. Perguntas que podem ser feitas pelos executivos quando esses questionam o custo de sistemas legados são:

  • Por que temos tantos chamados de suporte dos usuários finais?
  • Por que precisamos de tantas pessoas de infra e operações para monitorar e operar o sistema?
  • Por que precisamos de tanto tempo para fazer uma alteração simples no sistema?
  • Por que gastamos tanto com a infraestrutura de hardware (ou com a conta do cloud provider) para rodar esse sistema?

Os custos elevados para manter e evoluir sistemas legados ocorrem porque, na sua concepção, a arquitetura definida não previu a necessidade de escala atual (tanto de usuários como de times de desenvolvimento), ou não existiam tecnologias adequadas para os problemas atuais.

3 – A experiência do usuário final é ruim

Os usuários de produtos digitais estão cada vez mais exigentes. Eles não têm paciência para retornar mais tarde porque o sistema está indisponível ou para aguardar alguns segundos por uma operação que, do ponto de vista do usuário, é simples. A indisponibilidade ou a lentidão para executar uma função padrão compromete diretamente a experiência do usuário final e significa que, possivelmente, o software não foi projetado e construído para suportar a demanda atual ou futura que o negócio exige.

Outro fator impactante para a experiência do usuário é a acessibilidade do sistema multitela ou multiplataforma, ou seja, o consumidor atual deseja poder acessar os sistemas a partir de seu smartphone, computador, tablet e até diretamente de sua TV, tendo sempre a mesma experiência. Porém, geralmente, os sistemas legados foram projetados exclusivamente para serem acessados de computadores, o que torna impossível seu uso por meio de outros dispositivos.

Além disso, é muito provável que as interfaces e os fluxos do sistema não tenham sido desenvolvidos com foco na melhor experiência para o usuário final, o que torna o seu uso difícil e pouco intuitivo.

Nesse cenário, é esperado que a experiência do consumidor (CX) impacte diretamente na sua satisfação (Net Promoter Score (NPS) e, por consequência, na probabilidade de continuar usando seu produto digital. Ou seja, podemos facilmente fazer uma relação direta entre CX com o crescimento da participação no mercado de um produto digital.

Por isso, sistemas modernos são desenvolvidos tendo o usuário final no centro de suas definições. São projetados com uma arquitetura escalável, permitindo a absorção do aumento de demanda sem indisponibilidade ou perda de performance. Além disso, são preparados para se autorrecuperar de falhas e possuem interfaces simples, amigáveis e intuitivas que podem ser acessadas de qualquer dispositivo.

4 – Você tem uma grande dificuldade de atração e retenção de talentos

As empresas que dependem de produtos digitais vivenciam um momento crítico em relação à concorrência por profissionais qualificados nessa área. Por exemplo, profissionais como Arquitetos de Software, Desenvolvedores, Engenheiros de dados, UX Designers, Engenheiros de cloud, Cientistas de dados e Administradores de Banco de Dados estão cada vez mais escassos e com salários inflacionados devido ao desequilíbrio entre oferta e demanda.

Um dos principais fatores que determina a escolha de onde esses profissionais irão trabalhar é a possibilidade de utilizarem tecnologias de ponta. Dentro desse contexto, companhias que possuem sistemas legados com tecnologias defasadas sofrem com esse problema de maneira exponencial. Fica claro, assim, que a dependência e/ou a falta de profissionais de tecnologia é um grande desafio para essas empresas, visto que representa um grave risco para a evolução e perenidade do negócio.

Se está perdendo negócio e/ou participação de mercado por um ou mais desses fatores, considerar um investimento para modernização é algo que precisa ser feito. Como mencionado anteriormente, a modernização de um sistema core, quase sempre, é uma jornada longa e de alto investimento. Existem porém, duas abordagens importantes que aumentam a probabilidade de sucesso nessa iniciativa:

1. Entenda qual é a principal dor e comece por ela

Antes de iniciar, faça um diagnóstico correto do cenário atual, determinando onde estão os maiores ofensores para os resultados de negócio e, com isso, a estratégia de ataque inicial, ou seja, como obter resultados de maneira ágil e com o menor investimento. Por exemplo, se o maior problema para o negócio atual é a diminuição de crescimento ou a evasão de clientes devido à limitação na interface do produto, pode-se iniciar a modernização fazendo uma separação entre as camadas de frontend e backend e, com isso, utilizar novas tecnologias para liberar novas interfaces para outros dispositivos, enquanto o backend permanece o mesmo. 

Outro exemplo: quando o principal problema é o elevado custo de infraestrutura e manutenção de data center próprio. Uma possível ação, nesse caso, poderia ser uma migração (lift and shift) para a nuvem ou, talvez, a substituição de seu RDBMS proprietário, com elevado custo de licenciamento, para uma solução de banco de dados open source. É importante salientar que, aqui, estamos falando de faseamento e uma estratégia de ataque inicial que deve resolver uma das dores. 

Para resolução de todas as dores será preciso uma modernização completa, reescrevendo o software com o cliente final no centro e utilizando as melhores práticas de arquitetura de software, infraestrutura, stack de tecnologia, boas práticas de engenharia de software e DevSecOps.

2. Aproveite a iniciativa de modernização para criar um produto realmente “customer centric”

Utilize uma abordagem “customer centric” e faça um discovery para determinar quais funcionalidades realmente geram valor para o seu cliente final. Um erro muito comum de times envolvidos em iniciativas de modernização é pressupor que todas as funcionalidades presentes no software atual precisam ser modernizadas e mantidas na nova solução. Essa premissa também gera uma falsa sensação de que as barreiras de entrada para concorrentes são mais altas do que realmente são. 

A título de exercício, imagine um módulo de um sistema legado que possui, hipoteticamente, 20 funcionalidades. No projeto de modernização, devemos considerar a migração de todas? Os usuários finais realmente precisam e usam seu produto devido a presença de todas essas funcionalidades? 

Na prática, vemos muitos casos de startups surgindo e ganhando mercado com um produto digital moderno, simples e de fácil uso, com apenas duas ou três dessas funcionalidades. Em resumo, um processo de discovery com o cliente final no centro, entendendo o que realmente gera valor, pode determinar uma grande simplificação e otimização da jornada de modernização ou trazer oportunidades de crescimento com inovações em novas funcionalidades que não estavam presentes no produto e nem no roadmap do sistema legado. 

* Gediel Luchetta é VP de engenharia na ilegra

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.