Quando é a hora de migrar?

A tua equipe decidiu que o aplicativo deve ser modernizado, mas quando é o momento para seguir em frente?

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

Modernizar ou não uma aplicação está ligado a decisões de negócio. Aplicações legadas tornaram-se um problema para as empresas.

Neste post será apresentado quais são os gatilhos para modernizar uma aplicação. Tanto motivadores do ponto de vista de negócio, quanto técnicos.

Processo para migrar

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

Neste artigo será abordado o segundo passo e exibir gatilhos para quando é a hora de migrar a aplicação.

Gatilhos tanto do ponto de vista técnico quanto do ponto de vista de negócio.

E por fim, o próximo artigo vai abordar estratégias para completar essa jornada.

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.

Quando modernizar

Para ajudar nessa decisão o Gartner aponta 6 gatilhos que indicam motivos razoáveis para modernizar. Essas razões estão divididas. São três da perspectiva de negócios e três do ponto de vista de TI.

Perspectiva do négocio

Do ponto de vista de negócios, o Gartner cita estes três gatilhos.

Adaptaçao ao negócio

Novos requisitos não podem ser atendidos pelo aplicativo atual. A nova demanda exige informações que não foram previstas na criação do aplicativo e que são difíceis de implementar usando a aplicação atual.

Valor ao negócio
A aplicação atual não adiciona mais valor. Falta qualidade nas informações que ela disponibiliza.

Agilidade
A aplicação não é capaz de acompanhar o ritmo das mudanças. Devido a sua estrutura, essas mudanças tem um nível inaceitável de custo e risco.

Perspectiva da TI

Na perspectiva da TI os gatilhos nem sempre são técnicos. A aplicação pode até dar retorno para a empresa, mas pode ser que seja necessário mudar.

Custo

O TCO da aplicação é maior que o valor de retorno. A empresa gasta mais ao manter, operar e modificar do que o retorno.

Complexidade

A complexidade da aplicação atual cria vários problemas. Impactando diretamente na manutenibilidade e tempo, custo e risco de mudança.

Risco

Há vários tipos de risco. Segurança, compliance, capacidade de suporte e escalabilidade, são exemplos típicos. Há também o risco da falta de mão de obra, especialmente para plataformas e linguagens mais antigas.

Quando não modernizar?

Tempo e custo. Talvez sejam os melhores argumentos para não modernizar. Tenha em mente: Algumas vezes, não fazer nada é o melhor caminho.

Uma solução que levou anos de investimento e desenvolvimento não pode ser recriada em uma semana, mesmo que contrate o dobro de desenvolvedores. "Uma mulher pari o filho em 9 meses. Mas 9 mulheres não parirá o filho em 1 mês"

Em alguns casos, o custo de reengenharia pode exceder os investimentos iniciais.

Há uma pesquisa, de 1999, chamada "Why Reengineering Projects Fail". Que elenca as razões porque projetos de modernização falham:

  1. A organização inadvertidamente adota uma estratégia de reengenharia incompleta.
  2. A organização faz uso inadequado de consultores externos.
  3. A equipe está desatualizada em relação as novas tecnologias.
  4. A organização não tem seu sistema legado sob controle.
  5. A arquitetura não foi uma consideração primária.
  6. Não há noção de um processo de reengenharia.
  7. Planejamento inadequado.
  8. A gerência não tem compromisso de longo prazo.
  9. A gerência determina decisões técnicas.

Alguns desses motivos elencados há 20 anos atrás, como o gerente que toma decisões técnicas, já estão no consciente coletivo como má pratica. Mas é impressionante perceber que a maioria ainda faz sentido.

Conclusão

Independentemente do motivo escolhido, a modernização de software é um processo complexo, trabalhoso e arriscado. Escrevo este post como forma de abrir sua mente. Mostrar que a decisão é complexa.

Espero ter ajudado e que suas decisões e da tua equipe não estejam só apoiado em decisões puramente técnicas e que elas sejam tomadas observando outras dimensões.

Referências