Tecnologia
Sistemas Legados: reescrever ou manter?
6 minutos de leitura
Os sistemas legados, ou softwares obsoletos, são uma realidade para muitas empresas, representando um verdadeiro obstáculo para os times de TI. Apesar de serem cruciais para o funcionamento de várias operações, frequentemente enfrentam desafios relacionados à manutenção e atualização. Compreender seus fatores e impactos é essencial para decisões estratégicas mais assertivas.
Nesse contexto, vamos explorar os riscos associados aos sistemas legados, como a CWI aborda essas questões e quando considerar uma reescrita ou modernização.
O que define um sistema legado?
A obsolescência tecnológica está relacionada a diversos fatores, incluindo as linguagens e tecnologias adotadas para solucionar problemas específicos. Quando essas tecnologias se desatualizam, a manutenção se torna mais onerosa e a solução pode perder aderência às necessidades atuais. Contudo, isso não significa, necessariamente, que o sistema deva ser considerado como legado. Um sistema legado, em geral, é caracterizado por ser antigo e de difícil manutenção, mas é importante destacar que algumas soluções técnicas ainda em uso hoje são, muitas vezes, equivocadamente associadas ao legado devido a preferências filosóficas ou escolhas de arquitetura.
Em relação à arquitetura, há uma distinção relevante entre monolítica e distribuída. Embora a arquitetura monolítica seja menos comum nos dias de hoje, ela ainda pode ser mais eficiente em certos contextos. A decisão sobre qual arquitetura adotar deve sempre considerar a performance e as necessidades específicas de cada caso. Não é porque a arquitetura é monolítica que deve ser associada à legado.
Algumas características comuns dos sistemas legados
Tecnologias obsoletas: Linguagens de programação, frameworks e bancos de dados desatualizados.
Falta de documentação: Falta ou insuficiência de documentação sobre a tecnologia utilizada no desenvolvimento da solução, dificultando a compreensão e manutenção do sistema.
Dificuldade de manutenção: Em determinados contextos, a tecnologia é tão desatualizada que é difícil encontrar profissionais para atender a demanda.
Rigidez: Dificuldade em integrar com novos sistemas e tecnologias por falta de suporte a protocolos mais modernos de integração.
Riscos de segurança: Suscetível a ataques cibernéticos devido a vulnerabilidades de segurança e falta de atualizações adequadas.
Sistemas legados: desafios e considerações
A CWI entende que, quando se refere a sistemas legados, é importante enxergar a evolução tecnológica como um processo contínuo, sem necessariamente tratar os legados como vilões. Em muitos casos, a modernização desses sistemas é mais sobre garantir que eles se adaptem às novas demandas do que simplesmente substituir o que já existe.
Um ponto-chave nesse processo é a análise da “entropia” do sistema, ou seja, o nível de desorganização acumulado ao longo do tempo. Mesmo que iniciar um projeto do zero pareça mais atraente, a realidade é que muitos sistemas legados podem ser resgatados e atualizados de maneira eficiente, desde que estejam bem estruturados. Quando o legado se torna caótico, tarefas simples, como a alteração de um campo, podem se transformar em uma missão custosa.
Por isso, a CWI adota uma abordagem estratégica e personalizada ao lidar com sistemas legados. Antes de recomendar qualquer ação, a empresa realiza uma avaliação criteriosa dos riscos, custos e benefícios. Se o sistema continua a atender às necessidades do cliente sem comprometer a operação, a modernização gradual pode ser a solução mais indicada, evitando a reescrita completa.
Em muitos casos, a CWI opta por um processo de transição orgânico, onde funcionalidades específicas do legado são substituídas aos poucos por novas soluções. Esse método permite mitigar riscos e garantir que a evolução tecnológica ocorra de forma segura e eficiente.
A CWI mantém o foco constante em resolver as necessidades reais dos clientes. A decisão entre modernizar ou reescrever um sistema é tomada com base em uma análise criteriosa das demandas e do contexto, priorizando soluções que gerem valor genuíno. Isso envolve discernir quando uma intervenção é necessária ou quando é mais eficaz aprimorar o que já está em operação, assegurando que cada escolha promova a durabilidade e a eficiência do negócio.
Modernização no BV
Assim como todas as instituições financeiras de confiança, o BV está em constante evolução, assegurando tanto a segurança quanto a agilidade nos serviços oferecidos aos seus clientes. A CWI, como parceira estratégica, tem colaborado em vários projetos que visam a substituição e atualização de tecnologias com ênfase em proteção e produtividade. Um deles envolve a modernização da tesouraria, que inclui a substituição de diferentes soluções tecnológicas, desde um sistema legado muito antigo até a adaptação de soluções mais recentes para as novas necessidades e oportunidades de negócio.
Desde 2018, a CWI tem desempenhado um papel crucial na modernização do parque tecnológico do BV. Um exemplo dessa complexidade foi a necessidade de reconstruir ambientes de teste, o que exigiu uma abordagem colaborativa com programadores para reconstituir informações técnicas pouco documentadas.
O projeto atual da CWI no BV, focado na modernização da tesouraria para o segmento de atacado, é uma iniciativa com previsão de cinco anos. Esse longo prazo reflete a magnitude deste trabalho, pois o BV atua no mercado financeiro atendendo tanto o ramo de varejo quanto o de atacado, cada um com seus próprios fluxos operacionais e uma vasta gama de sistemas integrados.
A CWI continua comprometida com a transformação digital do Banco BV, contribuindo para a modernização gradual dos sistemas legados e, assim, garantindo uma evolução tecnológica sustentável e eficiente, alinhada com as necessidades de negócio da instituição.
Substituição de sistemas legados
A modernização tecnológica das empresas frequentemente enfrenta dificuldades ao substituir sistemas legados, que costumam ter regras de negócio complexas. Isso torna a transição para novas soluções um desafio. Confira um exemplo real da CWI, onde a tarefa era substituir um sistema legado em um ambiente crítico do mercado financeiro.
Desvendando o sistema legado
O projeto envolveu substituir um software obsoleto, cuja equipe de tecnologia e os profissionais de negócios não conheciam totalmente as regras existentes. Em resumo, a CWI teve que “criar um novo manual sem ter o original”.
Complexidade do contexto operacional
A execução do projeto foi complicada pela criticidade do ambiente financeiro, onde as operações são contínuas. Traders e analistas, envolvidos constantemente com cotações e transações ao vivo, tinham dificuldade em participar do projeto. As raras oportunidades para discutir e definir as regras eram curtas e esparsas, causando frequentes interrupções e atrasos.
Tempo
A CWI, com uma abordagem flexível e estratégica, conseguiu entregar o sistema em produção em um ano e três meses, atendendo 90% das demandas principais. O restante foi planejado para fases futuras, permitindo que o cliente começasse a operar rapidamente, sem comprometer a qualidade da entrega.
O valor da documentação em sistemas legados
Quando se lida com sistemas legados, a complexidade de entender e atualizar o código é uma das principais preocupações. Em muitos casos, a falta de documentação adequada pode tornar esse processo ainda mais desafiador.
A documentação de software, seja técnica ou de negócios, desempenha um papel crucial ao garantir a facilitação na sustentação de sistemas e entendimento claro quanto às necessidades de negócios, também na definição e/ou evolução da solução. Como exemplo, podemos citar abaixo alguns tipos de documentação que devem fazer parte de um projeto:
Documentação Técnica:
Desenhos de solução atualizados;
Passo a passo para configuração de ambientes;
Passo a passo para tratativa de incidentes em produção.
Documentação de Negócios:
Visão do(s) produto(s);
Documentação de discovery, seja da solução inicial ou da evolução com novas features;
Casos de uso;
Registro e contato dos principais Stakeholders envolvidos com o produto ou sistema.
Sem documentação, o processo se torna mais suscetível a erros, especialmente se o sistema foi desenvolvido por outros times, por essa razão é sempre importante pensar em documentações que atendam a três requisitos mínimos:
Fácil de usar. Sempre que possível orientada a tarefas, precisa e completa;
Fácil de entender. Documentação clara, com exemplos apropriados ao contexto e ao público;
Fácil de encontrar. Para nada serve uma excelente documentação se não é possível encontrá-la.
Embora o código possa fornecer informações, com o uso de boas práticas como “Código Limpo”, sua utilidade depende de sua clareza e organização. Códigos e documentação desorganizados são difíceis de entender e podem prolongar a manutenção e aumentar o risco de falhas.
A falta de documentação sobre o produto ou sistema, somada a dificuldade de ler o código, tornam a atualização ou reescrita de sistemas legados ainda mais complexa, elevando o tempo e o custo do projeto. No entanto, modernizar os sistemas legados pode melhorar a manutenção, reduzir custos de infraestrutura e minimizar riscos de segurança.
A decisão de atualizar ou substituir um sistema legado deve considerar cuidadosamente as necessidades do cliente e os riscos envolvidos. Uma documentação adequada pode facilitar essa transição e garantir um processo mais eficiente para sistemas modernos.
—
Se sua empresa enfrenta desafios com sistemas legados e precisa de ajuda para modernizar ou substituir essas soluções, fale com a CWI. Nossa equipe especializada está pronta para transformar suas tecnologias e maximizar seu potencial. Entre em contato agora e saiba mais sobre como podemos acelerar sua evolução digital!