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.

We pulled out some of the old photo albums from my family, and loved seeing my kids look through them. Photos are timeless and the thing that we can pass through generations to tell our stories.

Processo para migrar

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

processo-modernizacao

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.

Change for Change

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