Guia para uma modernização de aplicações de sucesso
A modernização de aplicações é uma necessidade eminente e sua motivação pode variar bastante, das mais abrangentes como, conquistar a transformação digital, disruptar e atingir a nova economia, até as mais específicas como integrar o sistema legado a soluções mais atuais, melhorar a agilidade da entrega ou reduzir o custo de manutenção. O fato é que independente da causa que leva uma empresa cogitar essa mudança, mais de 80% dos líderes de tecnologia e executivos se preocupam com o sucesso da modernização.
E é exatamente aí que está o grande desafio: alcançar o êxito! As estatísticas comprovam, mais de 3/4 desses projetos falham durante o percurso. Mas por quê? Problemas com o planejamento? Dificuldades de visibilidade e execução? Ou será que faltou dosar e manipular da forma certa todo esse processo de transformação?
O sucesso tem se tornado um segredo guardo a sete chaves por muitos profissionais/empresas de tecnologia, mas para te ajudar a conquistar esse trunfo, abaixo preparamos um passo a passo baseado no nosso conhecimento e experiência em auxiliar diversas empresas a alcançarem a modernização de aplicações.
1) Comece pelo negócio
Para orientar a modernização sobre aspectos Business Centric, é preciso ir além de apenas definir os objetivos de valor ou crescimento para a companhia e de relacionar atividades do projeto com base neles. Por isso, explore com afinco os motivadores da modernização de aplicações legadas, em que o Gartner destaca seis principais grandes grupos, três com perspectiva de negócio: Business Fit, Business Value e Business Agility. E outros três com uma ótica de TI: custo, complexidade e risco.
Os objetivos da modernização devem explorar com amplitude e maturidade as Business Capabilities integrando os desafios das diversas áreas de negócio relacionadas, esclarecendo os meios para atingi-los, não apenas para construir um business case convincente e sólido como também para conectar as abordagens estratégicas.
2) Avalie o que importa
Uma das grandes vantagens das empresas consolidadas sob as concorrentes, as conhecidas nativas digitais – que são criadas já nesse meio, em modelo ágil e com enormes aportes de investimentos – são suas experiências de mercado, porém muitas vezes esta expertise é baseada em sistemas legados lentos, limitados e inflexíveis. Sem contar ainda quando se detêm um portifólio tão vasto de soluções que já não trazem o valor necessário nem para o negócio, quanto menos para os usuários.
Mas como resgatar esses elementos e aproveitar essa vantagem do melhor jeito possível? Uma opção é simplesmente começar do zero, porém antes de optar por isso, vale avaliar – com muita criticidade – o potencial que estas aplicações e funcionalidades tem de valor para o negócio em relação a suas complexidades técnicas, entendendo o papel que cada um desempenha nos processos de negócio atuais e futuros.
Porque mesmo que a intenção seja a mais audaciosa possível, tentar modernizar tudo de uma só vez é, provavelmente, a mesma coisa que experimentar trocar o motor inteiro de um avião durante um voo. Desconsiderando o fato que a queda seria um risco eminente, talvez só a mobilização de todos os recursos para tentar realizar essa proeza já comprometa o voo.
Além de entender o que modernizar, é necessário levantar o que vem primeiro, listando as prioridades. E é aqui que a análise das values streams trará um direcionamento de como orientar a modernização. Essa visão holística de seu portifólio permitirá não só a entrega rápida de valor, como também possibilitará a execução de um bom MVP, evitando muitos desperdícios desnecessários e otimizando o time-to-value.
3) Mapeie os riscos
As empresas confiam em seus sistemas legados para o funcionamento diário do negócio, e isso impacta diretamente: em suas operações, na satisfação dos colaboradores e na experiência do cliente. E se o processo de modernização interromper o desempenho normal dessas aplicações, isso afetará o negócio, sem contar que se o empreendimento falhar, a companhia pode perder o investimento e voltar a estaca zero.
As circunstâncias tecnológicas e do negócio são dinâmicas, necessidades e regras estão em constante mudança e em poucos meses se reformulam. E é aqui que a expertise da modernização conta muito. Realizar qualquer levantamento de modernização tecnológica e não explorar menos de 50 tópicos entre complexidade, custos, e riscos, envolvendo pessoas, processos e tecnologia dentro de um contexto atual e futuro, é pedir uma senha para a fila do fracasso.
Modernizar uma solução agora, sem considerar por exemplo, questões como, cyber segurança, LGPD, usabilidade, dados, necessidades dos usuários, entre outras, que em um primeiro momento podem nem passar pela cabeça dos responsáveis e dependem da maturidade do mapeamento, estarão no caminho da ruína da transformação ou precisarão em breve adotar um novo processo de modernização.
4) Levante o estado atual das aplicações
Arquitetura, design, tecnologia e qualidade do código da aplicação, influenciam diretamente na abordagem de modernização. Embora o tipo dependa do estado atual do objetivo e do software, o caminho trilhado pode depender de vários arquétipos. Obter uma arquitetura simplificada, por exemplo, requer uma mudança de pensamento, especialmente quando se considera opções para novos sistemas e integrações.
E não esqueça dos dados, pois se você está “re-plataformando-o”, será necessário construir uma estratégia em torno da migração e compreensão das características de leitura dos sistemas. Com isso, leve em consideração: Os dados estão normalizados? Seu software realiza mais leituras do que grava? Deve-se usar disco magnético ou SSD?
Análise todas as camadas das aplicações existentes, revise a acessibilidade e a conformidade das políticas de privacidade, e identifique as mudanças do processo. Um entendimento detalhado do estado atual do sistema legado, comparando a arquitetura atual com a futura, ajudará a identificar as lacunas e as mudanças necessárias para ter sucesso na modernização.
5) Analise as opções
Nem toda funcionalidade precisa ser encapsulada, e nem toda solução terá os melhores resultados sendo migrada para SaaS. Se você pretende modernizar uma aplicação legado de forma eficiente, esteja pronto para dar um reboot em seu mindset, pois para um único sistema, podem ser aplicadas um conjunto de métodos, que podem ser empregadas em conjunto ou não, e isso tudo vai depender das necessidades, aplicações, mecanismos e integrações de cada problema.
Como destacado, uma ou mais opções podem ser necessárias para satisfazer as necessidades de seu negócio, muitas vezes se conectando ou complementando, então antes de decidir o melhor caminho para a modernização, primeiro entenda os prós e contras de cada uma das opções, com uma visão clara sobre o status atual e metas futuras. Veja abaixo algumas:
– Aposentar ou Substituir: Possuem pouco ou nenhum valor de negócio, e ou, estão se aproximando em seu desgaste final, tendo como melhor alternativa aposentar ou substituir tais aplicações por uma opção mais viável;
– Reinventar e aprimorar: Possuem uma base técnica madura e sustentável, mas apesar de trazem valor ao negócio, incorrem em enormes custos de manutenção. Nesse caso, o melhor caminho será o corte de custos, re-host ou mover as aplicações para outras plataformas – como a nuvem – sem modificar as funcionalidades existentes, podendo torná-las mais flexíveis e escaláveis;
– Reter e manter: Recomendada para aplicações que tenham alto valor de negócio e melhores recursos técnicos, não exigindo grandes transformações. Neste cenário muitas vezes é preferível continuar apoiando e manter os negócios como de costume (BAU) com investimentos periódicos e aprimoramento (técnico + negócios) para aumentar a vida útil da aplicação. Este modelo ajuda a manter e melhorar a expertise e garante upgrades rápidos a baixo custo;
– Reestruturar e atualizar: Aplicação que pode gerar maior valor de negócios, porém limitada devido a uma plataforma desatualizada. Neste ponto a sugestão é encapsular, reprojetar, refatorar ou reescrever os sistemas legados para apoiar a inovação e se adaptar às últimas tendências tecnológicas.
6) Defina uma estratégia eficaz
Muitas vezes aplicações legadas podem funcionar muito bem, e modernizá-los com API’s pode ser rápido e econômico. Outras vezes migrar para a nuvem pode trazer mais flexibilidade, escalabilidade e redução de custos. Já em alguns casos, dividir as aplicações monolíticas em microsserviços pode acelerar os fluxos do trabalho e permitir maior portabilidade.
Independente da alternativa, construir uma estratégia que traga resultado consiste em uma abordagem iterativa que entenda as necessidades e capacidades do negócio, ataque as oportunidades específicas e existentes que trarão benefícios claros, sustentados por métricas de valor, para implementar a modernização das aplicações com os recursos mais aderentes e sustentáveis, para apoiar o processo em si, quanto as operações do dia a dia – incluindo correções de bugs, implantações, upgrades, patches, entre outros.
Inclua uma visão modular das aplicações como parte da estratégia de modernização. Isso permitirá testá-los e executá-los em um ambiente virtualizado para alcançar o gerenciamento em nível de componente, ao mesmo tempo em que transforma dados em blocos de construção. Considere também os avanços da tecnologia e das necessidades do negócio a médio e longo prazo, como, processamento, largura de banda, armazenamento de dados.
E não se esqueça de colocar nesta lista os riscos de sustentação, afinal quando esse processo envolvem a dependência de terceiros, o que acontece quando algo dá errado? E se o fornecedor estiver indisponível? Ou, pior ainda, o que acontece quando os colaboradores que entendem dessas tecnologias deixam a empresa e seu fornecedor corta o suporte?
7) Monitore os resultados
Para assegurar o valor da modernização é essencial definir os KPIs mensuráveis, ponderando seus objetivos de negócio mais amplos, como por exemplo, custo, mão de obra ou economia de tempo. Considere também estimar aspectos, como, comportamentos operacionais, desenvolvimento e outros elementos que são alterados quando um software é modernizado. Algumas das métricas mais utilizadas na modernização de aplicações são: Time-To-Market, ROI, Custo de licenças, implantação e manutenção, Receita de Recursos, Tempo de Teste e Resiliência.
Esses indicadores de sucesso devem existir e serem medidos antes da implementação, permitindo acompanhar e aferir com proximidade e fidelidade os impactos que a modernização trará, sendo recomendado priorizar o uso destas métricas, trabalhando com o mínimo possível, a fim de orientar com mais precisão a modernização e evitar desvios e esforços desnecessários.
8) Seja moderno pra sempre
Pós implementação, o sistema modernizado deve possuir um suporte contínuo para que os usuários prossigam a otimização do processo de negócios. Para isso, realize a gestão do ciclo de vida do produto ao invés de utilizar um mindset orientado a projetos, isso permitirá conectar a estratégia da empresa com a constante evolução da aplicação e do mercado. Evitando ter que realizar uma nova modernização antes da hora e mantendo suas tecnologias sempre projetadas para a mudança, gerenciando melhor a dívida técnica e estando sempre preparada para suportar as inovações que o negócio precisa de forma ágil e mais barata.
Em resumo, uma modernização de sucesso permitirá melhorar a qualidade de suas aplicações em 9.5 vezes, reduzir os custos em até 5 vezes, aumentar em até 4 vezes a velocidade de entrega de features, além de aumentar a flexibilidade dos sistemas para potencializar o crescimento e agilidade do negócio com ganhos significantes na experiência do usuário, impactando imediatamente em uma alta taxa de conversão, retenção, e time-to-value.
Depois de chegar até aqui, o que mais sua empresa está esperando para modernizar suas aplicações? Com uma compreensão clara e detalhada dos objetivos de negócios e uma estratégia focado nos resultados é fácil avançar nessa jornada, mas caso prefira conte conosco!
Pensando em facilitar esse caminho, compilamos toda a nossa expertise adquirida em uma trilha para modernizar as aplicações e direcionar as empresas, mitigando riscos e conseguindo os benefícios listados acima. Gostou? Fale agora com um dos nossos especialistas para saber mais.