Você já ouviu falar na síndrome dos 99%? Quando o desenvolvimento de software já está na fase final, mas sempre surgem problemas e a data da entrega parece cada vez mais distante? Esta é uma situação terrível – e mais comum do que se imagina – que, em certos casos, chega a virar um projeto inacabado, abandonado pelos programadores.
Claramente, não é o que você espera, ao contratar seu fornecedor, por isso gravamos um vídeo com algumas orientações importantes para ajudá-lo a se prevenir. Confira!
O que leva um projeto inacabado ao abandono?
Primeiro, ressaltamos que ninguém começa um projeto com a intenção de não finalizá-lo! Você, cliente, busca um fornecedor que lhe entregue um software finalizado e funcionando adequadamente; e o próprio fornecedor também se propõe a desenvolvê-lo por completo.
Existem exceções, é verdade, mas, considerando a boa fé dos envolvidos, as pessoas não planejam um projeto inacabado! Então por que existem tantos relatos dessa espécie? Simples: porque a maioria dos fornecedores desenvolve o software com uma única entrega real, deixando os testes de funcionalidades para o final do projeto.
Dessa forma, o cliente (e o próprio fornecedor) só vê o software em funcionamento depois de meses de trabalho, quando já está quase todo estruturado. Então, se surgem bugs (porque é na hora de utilizar a ferramenta que eles aparecem), o projeto já está avançado demais para sofrer mudanças. Assim, a equipe começa a buscar soluções paliativas, que acabam gerando outros problemas e formando um círculo vicioso de projeto inacabado!
Logo, os desenvolvedores percebem a impossibilidade de corrigir as falhas sem reconstruir o software, começam a se esquivar das cobranças do cliente e… somem! Abandonam o projeto! Terrível, não?
Como garantir que o fornecedor entregará o prometido?
Quanto maior o projeto, maiores as chances de surgirem problemas, devido aos níveis de complexidade e de acoplamento do sistema.
Entende-se por complexidade, o grau de dificuldade de programar neste software em virtude da quantidade de código que precisa ser escrito para alcançar seu objetivo. Já o acoplamento, é a ligação entre certas partes do software, que provoca alterações em áreas que não foram mexidas, quando o programador faz algum ajuste em determinada parte a elas atreladas.
O ideal é reduzir ao máximo a complexidade e o acoplamento do software, no entanto, nem sempre isso é possível. Por este motivo, recomendamos dividir o projeto em pequenas partes inteiras para diminuir riscos e problemas ao fazer ajustes.
Portanto, em vez de aprovar layouts e protótipos estáticos por meses, antes de ver o sistema funcionando, sugerimos desmembrar o software em várias partes inteiras. Assim, as entregas intermediárias do projeto passarão a ser da “coisa real”, do software programado de verdade em áreas específicas de seu sistema.Consequentemente, os bugs que eventualmente surgirem, serão percebidos já nas pequenas entregas e poderão ser corrigidos com mais facilidade e agilidade.
Além disso, a comunicação entre cliente e equipe de desenvolvimento precisa ser fluida e contínua, durante todo o projeto. Até porque, é natural surgirem dúvidas e insights de ambas as partes, que interferem nas decisões relacionadas à construção do software. Por isso, é fundamental o contato direto entre programadores e cliente, para esclarecimento dessas dúvidas e alinhamento de expectativas enquanto há tempo para mudanças estruturais!
É possível salvar um projeto inacabado?
Depende! Um projeto inacabado e abandonado pelos desenvolvedores, certamente alcançou um estágio de problemas insustentável até para seus criadores. Ou seja, tem tantos bugs que, quando mexidos, geram outros bugs, que às vezes nem vale a pena tentar consertar.
Por outro lado, pode haver partes do software que não estão acopladas àquelas que estão apresentando falhas e que, portanto, não precisam ser alteradas/corrigidas. Neste caso, convém avaliar o custo-benefício de corrigir as partes com problemas para não perder o investimento já feito ou começar tudo de novo.
Então, quando você for contratar um novo fornecedor, tenha bastante cuidado para não terminar novamente com o projeto inacabado! Prefira sempre fornecedores que tenham experiência comprovada, que priorizem a qualidade do código e testes automatizados e que dividam o projeto em pequenas entregas!
Se precisar de ajuda, entre em contato com a nossa equipe!
Por Joana Kerr
21 de janeiro de 2025