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:
- A organização inadvertidamente adota uma estratégia de reengenharia incompleta.
- A organização faz uso inadequado de consultores externos.
- A equipe está desatualizada em relação as novas tecnologias.
- A organização não tem seu sistema legado sob controle.
- A arquitetura não foi uma consideração primária.
- Não há noção de um processo de reengenharia.
- Planejamento inadequado.
- A gerência não tem compromisso de longo prazo.
- 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
- Choose the Right Approach to Modernize Your Legacy Systems
- Oracle Modernization - Enabling Strategic Business Transformation
- Why Reengineering Projects Fail
Comments