A realidade de não aprender como desenvolver software de alta qualidade
(florianbellmann.com)Ausência de ensino sobre como construir qualidade de software
- Ao estudar ciência da computação na universidade, falta ensino sobre garantia de qualidade de software (QA).
- A maior parte do tempo é dedicada a algoritmos, ao funcionamento dos computadores, à história das linguagens e dos conceitos etc.
- Há semestres sobre abordagens de gestão de projetos e Scrum, mas QA não é abordado de forma alguma.
Como as empresas lançam produtos dentro do prazo
- Por questões de orçamento, as empresas são as primeiras a cortar padrões e medidas de QA dos projetos.
- Quando o desenvolvimento atrasa ou o escopo aumenta, não sobra tempo suficiente para QA.
- Lançam software instável após no máximo alguns testes não estruturados.
Como sair da roda do hamster
- Leva anos para acumular experiência e confiança para falar sobre medidas de QA que estão faltando em um projeto.
- Você encontra monitoramento ausente e enfrenta problemas como falhas em sistemas de produção.
- Se as medidas de QA não forem implementadas, surge o problema de não aprender de verdade.
Falar sobre dinheiro
- Explicar que o software será “mais estável” ou “muito mais fácil de manter” não é algo concreto para quem não é desenvolvedor.
- É preciso falar sobre o custo de não fazer QA.
- Explicar as medidas de QA em termos de custo, com exemplos, é eficaz.
Dose mínima eficaz
- Não se deve projetar em excesso as medidas de QA nem bloquear o andamento do projeto.
- É importante testar as funções principais da aplicação e verificar se elas sempre funcionam como esperado.
- Usa-se o conceito de “dose mínima eficaz” (MED), começando pelas partes mais importantes.
O que observar com atenção
- Ao iniciar ou entrar em um novo projeto, procure conceitos de QA.
- Documentos ou planos de teste que mostrem se a equipe pensou em QA são importantes.
- Escrever testes junto com o novo código ajuda a estruturar o código para que ele seja realmente testável.
Benefícios para o projeto
- Ao falar sobre qualidade e sugerir soluções possíveis, você amplia sua influência como desenvolvedor.
- Medidas de QA permitem que o projeto cresça em um ritmo saudável.
Como melhorar o projeto
- Ao usar medidas de QA, você pode passar a ser conhecido como alguém que escreve software de qualidade no projeto.
- É preciso considerar o MED no projeto e ser uma voz de mudança dentro da equipe.
Opinião do GN⁺
O ponto mais importante deste texto é a falta de consciência sobre a importância da garantia de qualidade (QA) no processo de desenvolvimento de software e sobre como implementá-la. QA costuma ser negligenciada, mas é essencial para o sucesso e a estabilidade do projeto no longo prazo. O texto é interessante e útil por conscientizar engenheiros de software iniciantes sobre a importância de QA e por apresentar formas concretas de integrá-la em projetos reais.
1 comentários
Comentários do Hacker News
Engenharia de software muitas vezes não é um tema central da ciência da computação (CS), sendo ensinada em outras áreas, como disciplinas optativas ou cursos de engenharia de software.
Há a experiência de que é mais fácil colaborar com pessoas que têm formação em ciência da computação. Elas entendem a importância de bons algoritmos e não tentam implementar por conta própria coisas como parsers ou criptografia.
É possível aprender a desenvolver software de alta qualidade em empresas experientes.
A afirmação de que é preciso entregar software sem bugs dentro do prazo é uma premissa inadequada para começar um artigo sobre software de qualidade.
Existem programas de engenharia da computação e universidades que enfatizam estágios e experiências práticas.
A alegação de que a universidade ensina a construir software industrial é exagerada.
O argumento de que o software será “mais estável” ou “mais fácil de manter” não convence pessoas que não trabalham diretamente no codebase.
É possível escolher três entre qualidade, tempo, complexidade de comunicação e custo.
Desenvolvedores de software aprenderam a fazer software de alta qualidade, mas enfrentam dificuldade para aplicar isso na prática porque MBAs ou conselhos que dirigem a empresa não entendem isso.
Qualidade é, na prática, uma característica que só pode ser adquirida por meio de exercício.