Software não é tudo igual - Digitalks
Home / Artigos / Software não é tudo igual
por: Fábio Akita
Toda empresa que já pensou em fazer desenvolvimento de software se vê dentro de um grande dilema. Não existe bala de prata neste indústria porém há alguns critérios que podem ser levados em consideração e vários mitos que devem ser derrubados.
A primeira coisa que todo contratante deve saber é que nem todo software é feito da mesma maneira e nem todo programador está acostumado a programar do mesmo jeito. E isso é absolutamente essencial. Programação não é digitar código da mesma forma que culinária não é atirar ingredientes numa panela.
Pode ficar a impressão que meramente contratar qualquer freelancer é mais "barato" do que contratar uma empresa com experiência, pois "já que o software no final é o mesmo, basta escolher o mais barato". Esse é o primeiro mito.
Manter um software é um compromisso de longo prazo. Nenhum software jamais está "acabado", ele é um trabalho em constante evolução. Seja adaptá-lo ao seu negócio em constante mudança, seja manutenções periódicas e atualizações de segurança. E aqui vem a diferença de pedir a um "faz-tudo" para construir sua casa – recebendo um "puxadinho" – ou pedir a um arquiteto e engenheiro. Ambos serão "entregues", e deve estar claro qual será mais funcional e qual vai apresentar menor custo de manutenção e possibilidades de melhoria no futuro.
Além disso é necessário ver o tipo de experiência que uma empresa tem. Uma agência de publicidade que, por acaso, também faz peças digitais como sites institucionais e hotsites de campanhas, está acostumada a lidar com um tipo específico de cliente e produtos: peças voláteis temporárias, que precisam se entrega ultrarrápida para ser consumida por um curtíssimo espaço de tempo.
Um site para a Copa do Mundo, por exemplo, vai ser retirada do ar tão logo a Copa acabe. E precisa estar pronta necessariamente antes do início da Copa. Nessa restrição, o "melhor" é que seja um "puxadinho" mesmo. Um prédio bem arquitetado, primor de engenharia, mas entregue depois da Copa, não terá utilidade. E por isso o tipo de experiência que um programador de agência vai ter é dentro desse cenário.
Numa tradicional "fábrica de software", especialmente as maiores que participam de licitações de projetos para órgãos públicos ou mesmo para gigantes privadas, estão acostumadas a outro tipo de cenário. São projetos multi-ano, onde ela mesma será responsável pela própria manutenção do que fizer. E onde o demandante, quem é o atual "gerente" ou responsável por fornecedores, provavelmente vai ter mudado de cargo antes do projeto terminar. É o tipo de projeto que tem poucos "responsáveis", apenas chapeis mudando de cabeça e problemas mudando de mão. Nesse cenário o que reina é a venda de grande volume de "recursos" a baixo custo. Como ninguém vai ser responsável pela qualidade, o que vence a licitação é o baixo custo apenas.
Agora, digamos que você é um dono de empresa, que realmente se importa com o software que quer produzir, que vai ter que lidar com esse software durante toda sua vida útil. Você obviamente quer o melhor resultado sobre seu investimento. E deve estar claro que os cenários acima não são sua realidade. Baixo custo descartável não faz parte do seu vocabulário.
Felizmente existem pequenos nichos de desenvolvimento de software que balanceiam o melhor custo com o melhor benefício. Não necessariamente o mais barato e muito menos um software descartável.
Resultado disso são empresas que são focadas especialmente no desenvolvimento de produtos web, sustentáveis, escaláveis, de baixo custo de manutenção pelo uso de práticas e ferramentas que suportam esse desenvolvimento. Alguns dos que dizem praticar o que se convencionou chamar de "práticas Ágeis" fazem parte disso. Mas obviamente nem toda empresa que diz ser "Ágil", é efetivamente Ágil. Uma olhada em seu portfolio, comparado com as descrições acima, devem dar pistas sobre isso.