Tecnologias, eventualmente, ficam obsoletas e deixam de ser atualizadas. Há diversas razões para que isso aconteça. Algumas vezes, os motivos são fáceis de entender. Outras vezes, não. Entretanto, não há alternativa senão aceitar e seguir em frente.
Por que tecnologias estão ficando obsoletas mais rápido?
O “tempo de vida” das tecnologias parece estar ficando cada vez menor. A transformação digital, em todas as indústrias, tem mudado a forma como pensamos software e, na medida que novas alternativas podem ser exploradas, todos os dias, tecnologias novas emergem, em sua maioria, incompatíveis com as opções anteriores.
Compatibilidade retroativa em software é difícil quando o hardware muda e evolui o tempo todo. Escrever software para um dispositivo IoT, com pouco poder computacional, é muito diferente de escrever software para rodar em um servidor potente. Ter uma aplicação de serviços bancários funcionando bem em celulares, com milhões de usuários leigos, é bem diferente de construir essa mesma aplicação para funcionar em poucas centenas de computadores pessoais, com usuários treinados.
Além disso, se espera cada vez mais do software. Se no passado, usávamos software apenas para planejar a produção em uma fábrica, por exemplo, agora estamos coletando informações de sensores, nas máquinas, o tempo todo para melhorar a gestão. Tecnologia desenvolvida para ser utilizada em um determinado contexto quase nunca é apropriada em cenários mais avançados.
Qual é o impacto de uma tecnologia obsoleta em um software?
[tweet]Software que depende tecnologias obsoletas ou que não são mais atualizadas é legado.[/tweet] Mais cedo ou mais tarde, ele precisará ser atualizado e, dependendo do nível de acoplamento com a tecnologia que se está tentando abandonar, pode ser necessário, até mesmo, refazê-lo do zero.
Software bem planejado, com componentes bem delimitados, restringem o uso de tecnologias para as partes onde elas são realmente necessárias. Isso torna o impacto sentido pela obsolescência muito menor. Infelizmente, software desenvolvido com esse cuidado, longe de ser regra, é exceção.
Muitas vezes, o custo de substituir uma tecnologia é alto demais. Por causa disso, por falta de visão ou bônus de longo prazo, as organizações, visando maximizar o retorno sobre o investimento, postergam a atualização da tecnologia ao máximo.
Qual é o impacto de uma tecnologia obsoleta no time?
[tweet]Profissionais de TI preferem, geralmente, de trabalhar com as últimas novidades. Seja por gostarem do novo, seja por receio de comprometer a empregabilidade.[/tweet]
[tweet]Manter uma tecnologia obsoleta, quase sempre, implica em manter um time obsoleto.[/tweet] Ou seja, gente com mais “tempo de casa”, especialista na tecnologia antiga e sem muita experiência com o novo.
[tweet]Manter um time “obsoleto” implica, muitas vezes, em ter que “começar o time do zero” depois de algum tempo.[/tweet]
Em todo caso, é importante lembrar que alocar um time todo novo para modernizar um componente legado costuma ser um erro grosseiro, visto que se sobra ao time capacidade em novas tecnologias, frequentemente falta conhecimento sobre o negócio.
O problema de adotar “soluções paliativas” para obsolescência
Uma alternativa comum, paliativa, que temos encontrado com frequência tem sido “envelopar” o componente que usa tecnologia obsoleta com outros componentes, desenvolvidos com tecnologias mais modernas. Não é raro, por exemplo, encontrar APIs expondo dados e, algumas vezes, repetindo funcionalidades dos sistemas legados. Entretanto, na maioria das vezes, essa decisão não é implementada com a atenção que seria necessária e, logo, inconsistências emergem.
Também encontramos cenários onde o software construído com tecnologia legada nem mesmo suporta o volume de operações realizadas nos componentes com tecnologia moderna que estão os “envelopando”. Em consequência disso, é comum que ocorra defasagem de atualização de dados limitando algumas alternativas estratégicas interessantes.
Mesmo quando o “envelopamento” é bem feito, com o tempo, o legado acaba “expondo seu cansaço” e, eventualmente, para de funcionar. Além disso, em ambientes corporativos, o “envelopamento” faz com que contratos de expansão de suporte tecnológico sejam firmados, extremamente caros, que são mantidos até que o fornecedor resolva não seguir em frente.
Impactos emergentes de uma tecnologia obsoleta para o negócio
O custo da defasagem tecnológica que, na maioria das vezes, se revela na impossibilidade de aproveitar oportunidades estratégicas, é muito alto para as organizações.
Tecnologias obsoletas dificultam ou até inviabilizam o desenvolvimento de features com grande potencial de valor, como automatizações e integrações com outros software/dispositivos.
[tweet]Em tempos onde a capacidade tecnológica é competência central, embora ainda não reconhecida como tal em muitas organizações, obsolescência tecnológica constitui desvantagem competitiva.[/tweet]
Como mitigar o problema da obsolescência tecnológica
Em nossa experiência, a mitigação do problema da obsolescência tecnológica começa com o mapeamento apropriado das tecnologias empregadas pela organização. Idealmente, esse mapeamento deve indicar quais são os software usando cada tecnologia, vinculando-os a seus times de desenvolvimento, usuários-chave e processos de negócio. É fundamental que qualquer tomada de decisão ocorra somente quando se saiba claramente que partes do negócio serão impactadas. Esse mapeamento pode ser alcançado através da manutenção de um repositório da arquitetura corporativa.
Veja também
Não acreditamos em projetos com “virada de chave”. [tweet]Qualquer projeto de atualização tecnológica para levar um software “dos oito aos oitenta” em uma única empreitada costuma não resistir aos primeiros obstáculos.[/tweet] Dizemos que o legado é uma “entidade mística” que engole recursos sempre que um projeto de modernização ingênuo é iniciado.
Processos de negócio que geram valor para a organização são aqueles que devem ter suporte de software com tecnologia mais atualizada.
Recomendamos, antes de atualização tecnológica, que se faça uma relação de oportunidades a serem aproveitadas com as tecnologias mais modernas. [tweet]Se não for possível indicar pelo menos um ganho real para o negócio, então não há ambiente favorável para uma atualização tecnológica (talvez a organização tenha problemas mais sérios para resolver antes).[/tweet]
Concluindo
[tweet]A realidade corporativa não convive bem com o desequilíbrio de atualização tecnológica. Há riscos e custos em se estar “atualizado de mais” ou “defasado de mais”.[/tweet]
Por mais que tecnologia seja um tema empolgante, nas empresas, não devemos nos mover por paixões mas sim pela capacidade de gerar resultado. Tecnologias obsoletas e, consequentemente, software legado, atrofiam essa capacidade.