Gerência e Qualidade de Software - Aula 01 - Visão Geral
A Importância da Qualidade de Software
Impactos da Baixa Qualidade de Software
- A baixa qualidade em software pode causar impactos negativos significativos para os clientes, como a interrupção de serviços essenciais que podem impedir negócios importantes.
- Além dos clientes, as empresas de software também enfrentam custos elevados devido à má qualidade, incluindo suporte técnico, manutenção e possíveis disputas judiciais.
- Um estudo revelou que 3,6 bilhões de pessoas foram afetadas por falhas de software em 2017, resultando em perdas financeiras estimadas em 1,7 trilhões de dólares.
- Exemplos notáveis incluem problemas no sistema do ENEM e falhas na segurança do Windows que causaram infecções massivas por malware.
- Casos extremos como a explosão do foguete Ariane 5 e overdoses em tratamentos médicos demonstram as consequências graves da má qualidade no desenvolvimento de software.
Definindo Qualidade de Software
- A qualidade é frequentemente definida como a capacidade do software atender aos requisitos especificados. No entanto, é comum que softwares apresentem defeitos.
- A percepção sobre o que constitui "qualidade" pode variar entre diferentes stakeholders; um stent médico pode ter critérios diferentes comparado a um aplicativo simples.
- Gavin propôs cinco pontos de vista sobre qualidade: transcendental (difícil definição), produto (características inerentes), manufatura (conformidade com especificações), usuário (atendimento às metas), e valor (custo-benefício).
Desafios na Garantia da Qualidade
- Criar um software com alta qualidade é desafiador devido à dificuldade em escrever especificações precisas e à diversidade nas expectativas dos stakeholders.
- Medir características subjetivas como usabilidade ou mobilidade também complica a avaliação da qualidade do software.
A Importância da Qualidade no Desenvolvimento de Software
Fatores que Influenciam a Qualidade do Produto
- O desenvolvimento e a escolha de compiladores em linguagens de programação são cruciais para melhorar a qualidade do produto. A capacitação das pessoas também é um fator importante, pois quanto melhor treinadas estiverem, maior será o retorno financeiro.
- A gerência é um custo significativo; o tempo e o cronograma impactam diretamente na qualidade do software. Um bom gerenciamento permite um desenvolvimento mais eficiente.
Processos e Métodos para Garantir Qualidade
- Utilizar processos, métodos e técnicas adequados resulta em um software de melhor qualidade. É essencial que as ferramentas sejam utilizadas corretamente, assim como a capacidade das pessoas deve ser bem explorada dentro dos processos estabelecidos.
- O cronograma e o orçamento precisam ser geridos com eficiência. Preocupar-se com a qualidade do processo é fundamental para garantir resultados satisfatórios.
Custos Relacionados à Qualidade
- Criar produtos de alta qualidade envolve custos que podem ser divididos em três categorias: custo de prevenção, custo de avaliação e custo de falha.
- O custo de prevenção visa evitar problemas relacionados à qualidade.
- O custo de avaliação se destina a verificar se o produto atende aos padrões desejados.
- O custo de falha refere-se ao investimento necessário para corrigir não conformidades à medida que surgem.
Planejamento para Alta Qualidade