Segundo o Gartner, até 2020, cada dólar investido em inovação de negócios digitais exigirá que as empresas gastem pelo menos três vezes mais para modernizar seus aplicativos legados.

As empresas e seus lideres precisam inovar e acelerar a entrega de produtos e serviços digitais. Mas se esbarram em seu portfolio de TI. Com aplicativos legados, dificeis de adicionar novas features.

Você como desenvolvedor tem a responsabilidade de entregar aplicativos com qualidade. Mas deveria também auxiliar na decisão sobre a Modernização do legado.

Modernizar ou substituir uma aplicação legada exige cuidados. Nem sempre é uma decisão puramente técnica.

E também não deve ser motivada só por que houve update da framework. Não é porque o .NET Core 3 foi lançado que deve atualizar aquela aplicação de 5 anos atrás.

Neste post será apresentado motivos para modernizar uma aplicação. Tanto razões de negócio, quanto técnicos.

City architecture and skyscrapers near waterfront

Processo para migrar

O processo de migração pode ser definido em quatro partes.

processo-modernizacao

Neste artigo será abordado o primeiro passo e mostrar motivos para justificar porque migrar a aplicação.

Essa primeira parte do processo está interessado em identificar quais são as aplicações candidatas a migrar.

Mais dois artigos serão escritos abordando quando e as estratégias de migração.

O que é uma aplicação legada?

Segundo o Gartner um aplicativo legado é qualquer aplicação da empresa com base em tecnologias antigas. Mas que ainda exercem papel fundamental dentro da empresa.

Um sistema legado nem sempre é definido por sua idade. Pode ser devido à falta de suporte ou a incapacidade de atender às necessidades da organização. Tal software é geralmente difícil (ou impossível) de manter, suportar, melhorar ou integrar-se com os novos sistemas devido à sua arquitetura, tecnologia, código ou design.

O custo da aplicação legada

Os custos de manutenção do sistema legado incluem:

Atualizações e mudanças

Sistemas legados costumam ter muitas linhas de códigos. Diversas funcionalidades. Levando em conta serem predominantemente monolítico, atualizar ou adicionar novas features pode resultar em mais bugs entre o sistema. Assim, qualquer alteração requer muito tempo e um risco alto de novos bugs.

A infraestrutura

Assim como o software, a infra-estrutura se torna mais difícil e mais caro para manter. Sistemas legados muitas vezes exigem um ambientes específicos. Os gastos com infra são altos, em comparação com soluções modernas baseadas em nuvem.

Treinamento de equipe

Dependendo da tecnologia, o suporte e a manutenção exige profissionais especificos. E pode se tornar um problema. Contratar um profissional Cobol ou em ASP Classico, além de dificil, pode ser mais caro. E treinar um programador da empresa gera custos com treinamento.

Segurança

Falhas de segurança pode causar prejuízos financeiros direto para o empresa, além das multas e indenizações.
Aplicações legadas podem estar mais propícias a falhas de segurança. Software desatualizado é uma das principais vítimas da empresas. A segurança não era tão debatida antigamente, as ferramentas e frameworks antigos não estavam preparados para lidar com certos tipos de ataques. Logo sistemas legados e antigos, tendem a estar mais vulneráveis. Um belo exemplo de segurança do legado é o que aconteceu recentemente com o Fortnite, devido a falha de segurança em uma aplicação legada, expôs uma brecha no OAuth2 que permitia o roubo das contas.

Veja a história neste video do youtube e mais detalhes neste artigo Hacking Fortnite Accounts

Prejuizos de longo prazo

A falta de inovação pode impactar a competitividade da empresa no longo prazo. Pode perde agilidade e eficiência para responder as mudanças do mercado. Consequentemente, incorrendo na perda de receita.

Escalator to the city

Por que modernizar?

As empresas lutam para sobreviver. Buscando sempre ficar à frente da concorrência. As inovações devem ser melhores, mais rápidas e mais econômicas. A TI apoia os negócios da empresa com tecnologia. Consegue reduzir custos e mitigar riscos organizacionais. Inova para expandir novos negócios.

Há aplicações que nascem legadas, mas existem aquelas que já desempenharam um papel significativo na organização. Mas agora podem estar arrastando a empresa para baixo. Podem não ser mais capazes de acompanhar a demanda de novas features ou correções de bugs.

A modernização desses sistemas legados é prescrita. Agora ou mais tarde.

Reduzir o TCO

TCO (Total Cost of Ownership) é uma estimativa financeira para avaliar os custos diretos e indiretos relacionados a um investimento. Tal como software e hardware, além do gastos diretos para adquirir tais produtos, há também os custos para mantê-los em funcionamento.

A modernização reduz custos. Otimiza os processos existente, dimui custos de mão de obra. Automatiza os processos manuais que surgiram na versão anterior. Reduz a incidência de bugs. E através das novas tecnologias e arquitetura diminui o tempo de correção de bugs.

Agilidade nas novas entregas

Aplicativos legados não são ágeis. Novas features tem risco de impacto negativo na operação com a possivel adição de novos bugs. A arquitetura utilizada se tornou obsoleta, perdeu a forma com o tempo. Já não reflete a maneira como o negócio funciona atualmente.

Vantagem competitiva

Você tem a chance de superar os concorrentes simplesmente oferecendo uma solução mais moderna e leve.

Experiência do usuario

A User Experience e padrões de design evoluíram significativamente. Com a introdução de uma interface intuitiva moderna e centrada no usuário, você pode melhorar a satisfação do cliente e o desempenho do funcionário.

Preparado para evolução

Substituir um legado garante que a empresa esteja pronta para evoluir. Além disso, acompanhar as mais recentes tendências tecnológicas cria uma cultura interna de agilidade e inovação nos negócios.

Performance e resiliência

Falhas no legadas são um dos motivos mais comuns para perda de receitas em muitos setores. Quem nunca foi pagar o almoço e o sistema estava inoperante? Assim, a modernização dos sistemas pode ajudar reduzir os riscos de falha e aumentar a resiliência.

Conclusão

Os aplicativos legados são um problema, porque são caros e difíceis de manter e dificultam a capacidade da empresa em reagir às demandas de negócios em andamento. Com este artigo espero que você possa ter ferramentas para ajudar a empresa para qual trabalha a tomar melhores decisões sobre migrar uma aplicação.

Referências