Banindo o Software Obsoleto

Banindo o Software Obsoleto

Tenho trabalhado como consultor nos últimos 25 anos e já presenciei histórias de terror em várias empresas quando o assunto é suportar software obsoleto. Vou contar uma que ocorreu em 2001.

Um de meus clientes decidiu abrir uma nova unidade de negócios e surgiram necessidades de 25 novas estações de trabalho. Durante o projeto, identificamos um ponto de estrangulamento na arquitetura de software: o aplicativo usava chamadas diretas ao processador e ao BIOS e funcionava somente com slots ISA.

Havia então vários problemas sérios para resolver:

  • A Microsoft não suportava o Windows 3.11 há quase 10 anos. Não havia como atualizar o sistema operacional e era necessário trocar a arquitetura do sistema operacional;
  • O autor do software não estava mais trabalhando na empresa, de fato, ele havia se tornado advogado e não tinha mais nenhum interesse em programação;
  • Nenhum dos programadores da empresa conhecia programação em baixo nível;
  • A biblioteca de APIs fornecida pelo fabricante somente reconhecia chamadas de 16 bits;
  • Placas mãe com slots ISA já eram itens raros em 2001. Encontrar 25 computadores com slot ISA então era algo improvável. Isso sem falar de computadores reserva;

 

Como resolvemos esses problemas?

Iniciamos pelo componente de hardware que era o mais difícil de resolver e sobre o qual tínhamos o menor poder para alterar. Depois de duas semanas de conversas com o fabricante e outras empresas que já haviam passado pela mesma situação, concluiu-se que inicialmente, devido ao aperto do cronograma, teríamos que continuar com a arquitetura ISA.

Partimos então para fazer uma garimpagem de componentes em depósitos de computadores que estavam destinados ao lixo. Conseguimos encontrar os itens necessários: 32 placas mãe com Slot ISA.

O passo seguinte foi capacitar os programadores da empresa a programar funções de baixo nível. Todos foram treinados e os programas foram então reescritos usando a linguagem C.

Dois meses depois encontramos uma versão da placa especial baseada na arquitetura PCMCIA. Não era exatamente o que buscávamos, mas usamos um conversor de PCMCIA para PCI. O melhor foi que a placa vinha com uma biblioteca especial em versões DOS, Win16 e Win32 bits.

Reescrevemos novamente o software usando as funções da biblioteca da placa e seis meses depois da expansão, estávamos finalmente livres para atualizar o parque. Nesses seis meses já havíamos perdido 7 computadores dos que havíamos montado.

Uma nova atualização, mas, sem traumas.

Em 2005 surgiu a necessidade de uma nova expansão das unidades de negócio desse cliente. Agora teríamos que adicionar 35 novas estações de trabalho.

Traumatizado com a última expansão, o cliente estimou concluir o projeto em 90 dias. Mas, como o software estava atualizado e não havia mais nenhum entrave de hardware, compramos 80 computadores Pentium IV, instalamos o Windows 2000 Professional, compilamos os programas com o Microsoft C e uma versão atualizada da biblioteca da placa de testes e tudo ficou pronto em 35 dias.

O que mudou foi que todo o ambiente estava bem próximo do atual. A linguagem de programação, o hardware, o sistema operacional, tudo, estava bem próximo do atual e foi mais fácil mantê-lo e atualiza-lo.

Considerações

Você tem algum programa fundamental ao seu negócio que não é mais suportado pelo fabricante quer por ter sido abandonado ou por não haver suporte para as versões mais antigas? Se a resposta for sim, você pode estar correndo um grande risco de parar suas atividades.

Como identificar software não suportado e o que fazer quando o encontrar. A palavra de conselho para essa situação é: embora migrar para um software mais moderno possa custar mais no curto prazo, isso é o que vai evitar dores de cabeça mais tarde.

Suporte do Fabricante?

Não pense que somente o fato de a empresa que desenvolveu o programa que você usa é garantia de que eles continuarão suportando sua versão que já tem mais de 10 anos de lançamento. Um cliente executou um programa no período de 1991 a 2002. Esse programa fora escrito usando a versão DOS/Clipper de uma ferramenta e trazia recursos sofisticados que se tornaram consagrados na empresa. Em 2002 eles compraram a versão Windows/Visual Basic da mesma ferramenta, mas notaram que todas as funções mais sofisticadas haviam sido removidas para não sacrificar o desempenho em um ambiente Cliente-Servidor.

Outro cenário comum que traz esse problema à tona é quando determinações governamentais ou legais exigem um novo procedimento para processos contábeis ou fiscais, por exemplo. Muitos fornecedores de programas ERP suportam apenas a versão atual e uma ou duas anteriores e os clientes são incentivados a manter seu software atualizado. Isso muitas vezes é traduzido em descontos para o cliente.

E se o fabricante não suportar o software?

Se a base de clientes for grande o bastante, sempre haverá empresas que darão o suporte para a aplicação, a um preço. Recentemente atendi ao chamado de um cliente com sérios problemas em seu servidor cc:Mail. A Lotus anunciou em 1999 que não mais suportaria cc:Mail e que seus usuários deviam migrar para o Notes. Não precisa nem falar dos problemas para resolver a corrupção do banco de dados por haver excedido os limites técnicos do programa. O cliente já havia passado duas semanas até encontrar alguém que pudesse resolver o problema.

Drivers, Updates e Patches

O que aconteria se sua velha impressora quebrasse e você descobrisse que nenhuma impressora moderna funciona com sua aplicação? Não conte com drivers de impressoras novas para sistemas operacionais velhos. Qualquer empresa que escreva drivers de impressoras para sistemas operacionais com mais de 10 anos estaria cometendo suicido comercial.

Recentemente tive que explicar a um cliente que sua multifuncional impressora laser colorida, com scanner, fax e copiadora integrada jamais funcionaria com o sistema operacional Windows 7.

Se você tiver muita sorte, seus equipamentos modernos podem funcionar com drivers genéricos, mas isso não é garantido e você pode ter dores de cabeça.

Com todos os últimos anúncios de problemas de segurança, virus, worms e hackers, há uma verdadeira avalanche de atualizações e correções para sistemas operacionais e aplicativos. Apesar de tudo isso, a Microsoft não provê todas as atualizações e correções para versões legadas do Windows. Isso significa que se você permanecer com essas versões antigas estará sujeito a muito mais vulnerabilidades do que se estivesse usando versões correntes do Windows.

Aplicações Padrão, não Personalizadas

Agora que você já tem uma boa idéia sobre os riscos de manter aplicativos obsoletos e versões não suportadas de software comercial, o que pode fazer a respeito?

Primeiro, a menos que tenha uma boa razão para manter a versão antiga, atualize para a versão mais recente disponível. Isso vai facilitar as coisas também para sua equipe de suporte que poderá limitar o número de versões suportadas.

Pense bem antes de investir em aplicativos personalizados. Sua empresa pode suportar os custos e dores de cabeça da manutenção de sistemas? Há um grande número de software comercial disponível no mercado. É bem provável que alguém já tenha escrito uma aplicação padrão que atenda até 90% da funcionalidade desejada a apenas uma fração do custo de desenvolvimento de um sistema personalizado.

Concluindo

Pode até parecer mais barato no curto prazo adiar a atualização do software, mas no fim das contas tentar manter em execução um programa obsoleto. Ainda pior é ter que encontrar uma empresa que posa ser capaz de atender às exigências de seu sistema, que ficarão cada vez mais obsoletos.

Planeje hoje mesmo a troca das suas aplicações obsoletas antes que elas lhe deixem na mão. Seu sucesso pode depender disso.