Soluções que recebem mais funcionalidades, funções e recursos do que realmente precisam são pontos de risco para organizações baseadas em tecnologia digital.
Dois profissionais de TI se encontram para o cafezinho na cozinha da empresa. Um deles, cansado, diz: “Finalmente terminamos de fazer a funcionalidade de gestão daquele sistema; levou semanas”. O outro, incrédulo, questiona: “Mas não sabe que eles vão trocar o sistema da empresa na semana que vem?” Parece uma simples anedota corporativa, mas revela um problema que está ganhando contornos cada vez mais graves entre as companhias brasileiras: o over-engineering.
É uma expressão bastante utilizada entre desenvolvedores e programadores. De certa forma, representa uma solução que recebe mais funcionalidades, funções e recursos do que realmente precisa, sendo desenvolvida de maneira mais complexa do que o necessário. Isso a torna mais complicada para sua utilização, manutenção e, consequentemente, com risco grande de ser ineficiente. A analogia, contudo, também pode ser aplicada na estrutura tecnológica de qualquer empresa como um todo: quantos sistemas estão disponíveis para os profissionais, mas simplesmente não são utilizados por eles e/ou simplesmente desconhecem todas as funcionalidades existentes?
Quando olhamos mais profundamente, do ponto de vista de arquitetura e engenharia, quais ferramentas ainda são realmente utilizadas?
Acredite: a resposta é bem mais preocupante do que muitos gestores pensam.
Um levantamento encomendado pela Veritas Technologies, por exemplo, indicou que há um grave erro de análise das corporações em relação aos orçamentos para contratação de nuvem pública.
Basicamente, 94% delas admitiram que estouraram o valor (43% em média) e tiveram que contratar soluções adicionais para suprir demandas específicas em seus processos. Quase a totalidade (99%) desconhecia que um provedor de serviço de nuvem não é o único responsável pela segurança das informações.
Da mesma forma que uma solução repleta de features inúteis ou com arquiteturas demasiadamente complexas, uma companhia repleta de sistemas pouco ou nada utilizados também pode ser considerada robusta, mas dificilmente será reconhecida como eficiente. O over engineering é um mal silencioso, quase imperceptível, que corrói as finanças de qualquer negócio aos poucos ao mesmo tempo em que mina a produtividade dos profissionais sob disfarce de uma rasa digitalização.
O desenvolvimento de novas soluções e a aquisição frequente de sistemas dentro da arquitetura da empresa são reflexos do cenário que emergiu a partir deste século – e que foi impulsionado ainda mais nos últimos três anos a partir da pandemia de covid-19. Isto é, a forte necessidade de inovação. A todo instante os profissionais precisam encontrar ideias, apresentar soluções, descobrir tendências e, claro, gerar resultados.
A Forrester, em 2020, já identificava que praticamente duas a cada três empresas em todo o mundo (65%), os profissionais de TI eram incapazes de concluir todos os projetos porque a todo instante surgiam novas demandas e pedidos.
Além disso, é importante ressaltar os casos em que demandas recém entregues, que passaram por todo o processo de design, desenvolvimento e testes acabam se tornando desnecessárias.
Há uma pressão grande em torno da área para evitar um possível atraso tecnológico perante seus concorrentes. Chegar atrasado em relação a uma tendência ou a ferramentas significa perder terreno. A ideia, portanto, é adquirir todas as soluções que, de certa forma, prometem entregar melhores resultados.
Sistemas construídos com arquiteturas excessivamente complexas, que empregam ferramentas e recursos desnecessários, ou que apresentam funcionalidades redundantes em relação a outros sistemas internos da empresa, podem gerar desafios significativos de manutenção e extensibilidade. Essa abordagem excessivamente complicada não apenas dificulta a manutenção a longo prazo, mas também pode resultar em ineficiência e problemas de integração.
São como pequenos nós que precisam ser conectados para entregarem aquilo que se espera deles – o que, no caso da tecnologia, representam a infinidade de APIs que necessitam de integração e que levam a novos sistemas e funções.
Ninguém questiona a importância de encontrar alternativas melhores e de evoluir a arquitetura de tecnologia para manter a competitividade em alta. Pelo contrário, trata-se de uma estratégia cada vez mais essencial em um mundo competitivo. Contudo, a pergunta que fica é: vale a pena adquirir soluções de forma indiscriminada apenas para dizer que está alinhado com todas as novidades? Cada solução custa dinheiro, e quando não é utilizado de forma plena, se transformam em desperdício financeiro. É a mesma coisa que pagar um pacote completo de TV a cabo em sua casa, mas só assistir à Netflix.
É necessário compreender quais são as dores e as soluções.
Na busca incessante de inovação a qualquer custo, as empresas caem na armadilha do over-engineering. Busca-se sempre a solução mais nova e atual das ferramentas já atualizadas e utiliza-se aquelas que, por diferentes motivos, se destacaram como tendência em seus segmentos. Mas pouco se questiona se essas ferramentas são, de fato, necessárias para o dia a dia do negócio.
O que se observa é justamente o contrário: o discurso tecnicista não só ganhou espaço no ambiente corporativo, como também ampliou sua presença nos mais diferentes departamentos. Não basta mais investir em TI; é preciso ter sempre a versão mais atual para conseguir se destacar e melhorar seus processos internos.
Não chega a surpreender, portanto, que as empresas brasileiras já investem 9% de suas receitas em soluções tecnológicas, segundo levantamento do Centro de Tecnologia de Informação Aplicada da Fundação GetUlio Vargas (FGVCia). Mas se relembrarmos o estudo já citado de estouro do orçamento nos sistemas em nuvem, fica o questionamento: por que não investimos essa quantia de forma correta?
A adoção de qualquer tecnologia deve-se levar em conta diferentes premissas básicas. Algumas, claro, de ordem técnica, como funcionalidades e capacidade de operação, além de observar se possui a estrutura necessária para rodar aquilo que ela promete. Mas há também fatores externos, que compreendem a própria forma como a organização enxerga e percebe essa solução dentro de seu organograma. Em outras palavras: se os profissionais sabem como utilizá-la em sua plenitude.
Qualquer sistema, por mais simples que seja, precisa apresentar resoluções para problemas reais de pessoas e companhias. Um CRM, por exemplo, deve trazer funcionalidades que resolvem questões inerentes às campanhas de marketing, e assim sucessivamente. Entretanto, se não há uma análise clara de quais são as dores e de quais benefícios são esperados, vai ser muito difícil encontrar a tecnologia ideal.
O over-engineering pode custar a sobrevivência de qualquer negócio se não for tratado com rapidez e, claro, com eficiência. Novamente: não se trata de interromper o investimento em tecnologia, e, sim, de direcionar melhor os esforços financeiros e produtivos para impulsionar ainda mais os negócios, o que reforça a importância do planejamento e investimento correto em soluções tecnológicas.”