O Visual Basic 6 foi a plataforma de desenvolvimento mais popular e de maior sucesso na história da Microsoft. Pesquisas indicam que ainda hoje existem bilhões de linhas de código neste formato, com cerca de 3 milhões de desenvolvedores especializados na tecnologia. Porém, com o lançamento da plataforma .Net, em 2002, a fabricante de software encerrou o caminho de sua evolução. Anos mais tarde, em 2008, o suporte à antiga alternativa deixou de ser oferecido de forma comercial. Desde então, as empresas que tinham esta plataforma de desenvolvimento começaram se deparar com questões como custo de manutenção dos sistemas, escassez crescente de profissionais experientes na iniciativa obsoleta, falta de agilidade na entrega de novas funcionalidades, que impactam o time-to-market, e problemas de desempenho e escalabilidade.
Um assunto cada vez mais recorrente na agenda dos CIOs é a necessidade de manter os sistemas de TI alinhados com as necessidades do negócio, levando em consideração o contexto atual de constante mudança e evolução, que demanda mais agilidade e dinamismo. O time-to-market está mais agressivo, visionando a obtenção da maior vantagem competitiva e otimização do orçamento, por exemplo. Assim, conviver com sistemas legados, construídos sob uma plataforma sem suporte, junto a crescente carência de profissionais capacitados e os altos custos de conservação têm sido problemas recorrentes.
Entre as motivações para uma renovação da TI destacam-se a necessidade de acelerar a implantação de novas funcionalidades, reduzir o custo operacional e de manutenção, evitar a perda de mão de obra capacitada para a concorrência, melhorar o desempenho e a escalabilidade e diminuir o downtime (tempo de inatividade) dos sistemas. Afinal, temos à nossa disposição um grande conjunto de ferramentas de desenvolvimento e gerenciamento muito mais produtivas para serem usadas e que suportam todo o ciclo de vida das aplicações. Características que as antigas plataformas não possuem.
Outros pontos importantes estão relacionados a questões motivacionais e de carreira do funcionário. Principalmente porque alguns profissionais mostram descontentamento ao serem recrutados para trabalharem com tecnologias ultrapassadas, pois consideram uma estagnação no seu desenvolvimento e uma ameaça ao seu futuro como desenvolvedor. Estes sentimentos devem ser levados em consideração, já que existe um ambiente repleto de escassez de mão de obra capacitada e a necessidade de retenção de talentos se torna uma preocupação crescente para a estratégia das organizações. Afinal, o capital humano é o bem mais precioso de qualquer companhia.
Baseado neste panorama, a importância e migração para novas ferramentas e sistemas é o que chamamos de “application renewal” (em português, renovação de aplicações), um método derivado da experiência adquirida a partir de vários projetos com soluções da Microsoft, em diversas partes do mundo em diferentes indústrias. Por meio de um processo específico é possível identificar qual é a melhor abordagem para realizar o trabalho dentro da particularidade de cada sistema. Isso passa a ser uma das necessidades-chave de qualquer iniciativa de atualização tecnológica, que passa a ser crucial para o aumento significativo da chance de sucesso do projeto.
Primeiramente é preciso realizar uma análise para definir qual a melhor abordagem a ser adotada, uma vez que nem sempre a migração é o mais indicado. Exemplificando, quando o sistema apresenta baixa qualidade de código ou arquitetura altamente complexa e desnecessária, a mudança torna-se ineficaz, pois irá gerar um ambiente virtual novo, mas sob os mesmos problemas herdados da plataforma antiga, o garbage-in e garbage-out.
Também é recomendável analisar o valor que a aplicação tem para o negócio e o quanto o sistema é importante para o diferencial competitivo da companhia no mercado. Alternativas com baixo valor agregado ou que tratam de processos de negócio de forma muito padronizada, geralmente, estão disponíveis em “softwares de prateleira” a custos mais acessíveis. Para sistemas com alto valor para o negócio, porém com problemas de qualidade, seja no código e arquitetura ou referente às regras de negócio em si, é típico recomendar-se uma abordagem que reescreva a aplicação.
Assim, uma metodologia consistente e que se apoie na antecipação e mitigação dos riscos relacionados à mudança, auxilia na estimativa de custo, esforço e duração do projeto, contribuindo para o core business das corporações.
*Luiz Pirollo Neto é gerente de prática de application development da Avanade no Brasil.