Como lidar com o legado tecnológico enquanto se gera valor na transformação digital?
Começo este artigo com uma frase de nosso CTO, André Petenussi: “toda empresa de sucesso tem sistemas legados”. E não seria diferente em nosso caso: a Localiza é uma empresa de 47 anos de mercado e líder em seu segmento. Consequentemente, há um grande legado tecnológico e, para darmos continuidade à nossa história de protagonismo, é preciso adequada gestão em busca do equilíbrio entre o legado e a inovação que perseguimos para construir o futuro da mobilidade.
Hoje o processo de transformação digital que vivemos está a todo vapor, e enquanto implantamos muita coisa nova, também gerimos alguns sistemas legados de mais de 20 anos de idade. Daí surge o questionamento: devemos parar tudo para pôr foco em reconstruir do zero o mais rápido possível, ou devemos conviver com ineficiências e sistemas não otimizados enquanto criamos adjacências incrementais modernas?
Pensando nos dois cenários, o caminho da evolução incremental traz diversas dores ao negócio, como:
· Investimento maior de tempo em manutenção dos sistemas legados;
· Limitações de evoluções impostas pelo legado tecnológico, tornando algumas mais custosas e outras inviáveis;
· Necessidade de competências mais diversas (modernas e antigas), tornando mais complexa a formação de equipes.
Por outro lado, grandes migrações podem trazer complicações ainda maiores:
· Não é possível parar as evoluções para fazer refactoring ou replatforming, uma vez que o negócio é vivo. Parar de evoluir é convidar o mercado a evoluir e te deixar para trás;
· Projetos desta natureza levam anos, e o ponto de chegada pode já ser ultrapassado quando for atingido — também por isso há risco elevado de insucesso.
Então, como estamos gerindo essa dinâmica na Localiza?
Buscamos aplicar a evolução incremental com um spin de que não estamos buscando migrar nosso ambiente tecnológico do “legado” para o “novo”, e sim de que adotamos um racional de maximizar o valor gerado por determinado sistema ao negócio e ao cliente, independentemente da idade ou tecnologia atual do sistema.
A partir do momento em que identificamos e priorizamos oportunidades de geração de valor incremental em um produto (exploramos isso de mãos dadas com o Design Team!), trabalhamos de perto com os times de arquitetura e engenharia para desenhar a melhor estratégia em cada caso específico, seja expandir o legado ou fazer um refactoring ou apenas modularizar parte do produto.
E aí você pode questionar: o que é avaliado na prática?
É preciso levar em consideração os mais diversos elementos, como esforço de desenvolvimento, custos, competências necessárias, retorno no curto prazo, impacto na experiência do cliente, escalabilidade no longo prazo… Enfim, a lista segue.
Em um exemplo um pouco mais prático para tangibilizar a situação: uma determinada evolução do nosso engine de Faturamento para aumentar seu throughput passaria por uma construção num legado que levaria 1 mês para entrar em produção, enquanto migrá-lo para uma arquitetura mais moderna e escalável para soluções futuras com novos serviços e customizações para nossos clientes levaria aproximadamente 3 meses.
Como escolher? Depende.
1) Investir na atualização e modularização do sistema trará benefício e agilidade para evoluções de produtos posteriores, ou essa é uma parte do stack tecnológico onde quase nunca temos oportunidades? Resp.: temos muitas oportunidades de evoluir nosso faturamento para novos produtos e formas de pagamento.
2) A evolução pode esperar esse espaço de tempo a mais sem que percamos a oportunidade de negócio ou deixemos de atender a uma regulamentação ou um contrato com um parceiro comercial? Resp.: Não — potenciais erros no sistema nos exporiam a riscos contratuais com clientes (com risco de receita e imagem).
Logo, optamos por fazer o ajuste de curto-prazo que será “yield loss” quando migrarmos a arquitetura por completo. É mais ou menos essa a arte de cada decisão, e cada caso é um caso.
Portanto, seguimos uma estratégia híbrida pautada no trade-off entre o valor a ser gerado no curto/médio/longo prazos e as demais condições de contorno, e adotamos práticas como estrangulamento e ACL (anti-corruption layer, do inglês camada anti-corrupção) para permitir a inovação de forma continuada e sem nos forçar a fazer uma reconstrução geral. Assim, geramos valor e avançamos no processo de transformação digital respeitando ritmos e necessidades de negócio, parceiros e clientes.
Dentro deste novo conceito de gestão da tecnologia, posso citar dois grandes produtos frutos desta metodologia e que nos orgulham muito, os quais hoje já geram um enorme valor ao negócio e ao cliente: o Localiza Pass e novo Site do Localiza Seminovos, ambos muito pautados pela experiência do usuário, a escalabilidade e a rentabilidade. A história desses produtos, contamos em outro artigo.