Gestão > Desenvolvimento/Programação, Estratégia, Gestão de Equipe, Gestão de Projetos

Gestores devem tratar desenvolvimento de software como processo constante

A cada sprint, o cliente tem a opção de pedir novas funcionalidades ou retirar processos que deixaram de ser necessários

12 de Fevereiro de 2016 - 11h05

Há quem pense que contratar o desenvolvimento de um software, ou sistema, é como baixar um aplicativo no smartphone. Basta identificar o problema que precisa ser resolvido na empresa, escolher a tecnologia mais moderna que se adeque à necessidade apontada e, em poucos cliques, a tecnologia começará a funcionar de maneira simples e rápida.

Longe disso, a realidade mostra que muitos executivos e gestores acabam optando por comprar ferramentas incompletas, inadequadas, caras e que levam a muita dor de cabeça com o passar do tempo, apenas por não saberem como gerenciar o processo - desde a seleção do fornecedor até os ajustes necessários para adaptar o software à realidade da organização.

Desenvolver um bom sistema leva em conta não só os gargalos imediatos que o cliente identificou, mas, também, todos os problemas e ganhos que ele pode ter com automatizações de processos, algo impossível de se enxergar por completo antes de se implementar a tecnologia. Muitas empresas não conseguem perceber o potencial que existe por trás das tecnologias que adquirem.

Em geral, as organizações pensam em desenvolver uma ferramenta somente quando percebem que existe alguma dificuldade que impede o crescimento de uma operação ou quando esta consome mais recursos humanos do que a empresa tem ou está disposta a usar. Mas o gargalo costumar ser apenas a ponta do iceberg e o pensamento simplista de que ‘é preciso comprar um programinha que faça algo por nós’, pode ser bastante nocivo para os negócios.

Praticamente todas as empresas precisam de diversos programas integrados em um sistema para garantir sua eficiência operacional. Mas, na prática, o que mais acontece ainda é a venda de softwares no formato tradicional, que não leva em conta a necessidade de flexibilidade dos projetos, especialmente em uma época em que as organizações precisam se adaptar rapidamente a mudanças. Esse processo antigo pode ser comparado com a construção de uma casa. Ou seja, a pessoa que quer montar seu novo lar, conta sua necessidade para um arquiteto e este faz desenhos de como ele imagina uma casa ideal para cada família. Quando o cliente acha que a proposta está boa, autoriza sua construção.

Em TI, o desenvolvimento tradicional é muito parecido. O usuário apresenta um problema para um analista ou programador e esse imagina uma maneira de resolvê-lo. Depois de aprovada a solução, começa o desenvolvimento do software, que é entregue completo e de forma fechada.

Esse método parece ser o mais simples, mas não é o ideal, pois pode inviabilizar ajustes e a qualidade do projeto. Assim como na construção de uma casa, depois que as fundações estão feitas e as paredes já estão construídas, não há muito como voltar atrás. Ele alerta que os processos internos da empresa podem mudar e isso se reflete diretamente em qualquer software envolvido.

Outro fator importante é que atores que não tinham sido envolvidos antes podem simplesmente levantar novas demandas, provocando mudanças profundas em tudo que vinha sendo feito. Por isso, as empresas de tecnologia com mais experiência de mercado procuram trabalhar com contratos com escopo flexível ou negociável. Essa nova modalidade de negócios permite que seja feito um levantamento inicial, que indicará as principais pontas do iceberg das empresas. Isso evita que o processo fique engessado e as empresas paguem caro por um software que, quando entregue, simplesmente não atenda mais a demanda ou, pior, atrapalhe mais do que ajude.

Atualmente, a contratação de desenvolvimento de software em pequenas etapas, também conhecidas como sprints, vem sendo uma tendência entre as empresas, por oferecer a opção de negociar com o fornecedor uma espécie de test-drive do produto, visando identificar sua utilidade em problemas pontuais por um período de 7 a 14 dias. Dessa forma, é possível que o cliente teste o funcionamento da tecnologia e, assim, possa sugerir mudanças de escopo no projeto. Cada organização escolhe o período que fizer mais sentido para suas necessidades.

Depois que o primeiro sprint acabar, ela pode avaliar o que foi feito e escolher, junto com o desenvolvedor, quais as próximas necessidades a serem testadas adiante. Assim, a cada sprint, o cliente tem a opção de pedir novas funcionalidades ou retirar processos que estavam no escopo inicial, mas que, por alguma razão, deixaram de ser necessários. Essa metodologia torna o desenvolvimento muito mais flexível e produz um software final muito mais adequado às reais necessidades do cliente.

Por fim, aconselho os gestores a tratar o desenvolvimento de software como um processo de consultoria, com acompanhamento constante, algo diferente do que é largamente praticado no mercado, em que as empresas estão habituadas a contratar fornecedores TI pontualmente, por software ou sistema que desejam desenvolver. Ao contratar um software à moda antiga, o cliente normalmente paga muito dinheiro ao longo de todo o seu desenvolvimento, o que pode levar meses, ou até anos, vendo os resultados apenas no final. Se esse resultado for ruim, ou se simplesmente não atender à demanda no momento da entrega, ele tem uma perda financeira e operacional enorme.

Ao contratar uma empresa de forma flexível, a cada sprint ele vai tendo contato com o que está sendo feito e, em pouco tempo, já começa a ter partes do software prontas para testar e usar. Isso faz com que ele possa interferir no desenvolvimento a cada pequeno período de tempo e que o resultado final seja muito mais adequado e barato em relação a suas reais necessidades. Além disso, cada nova parte do software que se torna disponível para uso abre um leque de possibilidades de modificações e melhorias nos processos que vinham sendo usados. É possível até realizar coisas antes consideradas impossíveis ou impensáveis. Com isso, o resultado final pode acabar sendo muito melhor do que o planejado.

*Claudio Sá de Abreu é especialista em segurança da informação da empresa Vialink