Gerência e Qualidade de Software - Aula 04 - Garantia da qualidade
Garantia da Qualidade em Software
Introdução à Garantia da Qualidade
- A garantia da qualidade é um processo fundamental na gestão da qualidade de software, focando em assegurar que os produtos atendam aos padrões definidos pelos stakeholders.
- Existem dois processos principais: a garantia da qualidade e o controle da qualidade, sendo este último dividido em verificação e validação.
Diferença entre Garantia e Controle da Qualidade
- A garantia da qualidade analisa se os padrões estabelecidos estão sendo seguidos, enquanto o controle verifica se os requisitos estão sendo atendidos.
- Um exemplo de garantia é verificar se o código segue padrões como espaçamento correto, sem avaliar a lógica do algoritmo.
Papel dos Stakeholders e Comunicação
- A equipe de garantia atua como representante do cliente, informando sobre conformidades e não conformidades nos processos de desenvolvimento.
- É crucial que a equipe de garantia seja independente para comunicar problemas sem pressões externas que possam comprometer a qualidade.
Desafios em Empresas Pequenas
- Em startups ou empresas pequenas, pode ser difícil manter essa independência devido ao tamanho reduzido das equipes. Contudo, a preocupação com a qualidade deve estar embutida nos processos diários.
- Mesmo sem uma equipe dedicada à garantia da qualidade, todos devem estar cientes das práticas que garantem um produto final de alta qualidade.
Atividades Principais na Garantia da Qualidade
- As atividades incluem planejamento das revisões e análises necessárias para garantir a conformidade com contratos e regulamentos existentes.
- Avaliação contínua do processo e gerenciamento dos registros são essenciais para documentar as avaliações realizadas sobre produtos e processos.
A Importância da Garantia da Qualidade no Desenvolvimento de Software
Papel da Garantia da Qualidade
- A garantia da qualidade ajuda os desenvolvedores a estarem preparados para seguir padrões e convenções definidas, incluindo o treinamento não apenas do pessoal de qualidade, mas também dos desenvolvedores.
Planejamento na Garantia da Qualidade
- O planejamento é uma das atividades mais cruciais para a equipe de garantia da qualidade, onde se define quais padrões e regulamentações devem ser seguidos durante o desenvolvimento.
- É essencial adaptar o planejamento a cada projeto, considerando as particularidades de cada empresa e cliente, especialmente em projetos críticos que exigem regulamentações específicas.
Exigências do Cliente
- As exigências do cliente podem influenciar diretamente como as atividades são realizadas. A equipe de garantia deve verificar se as atividades atendem às solicitações do cliente.
Normas e Burocracia
- Existe uma norma (a ISO 3730) que orienta sobre como realizar o planejamento na garantia da qualidade. Apesar de muitas vezes ser vista como burocrática, essa abordagem pode ser adaptada aos métodos ágeis.
- A prática atual mostra que a garantia da qualidade pode ser implementada em ambientes ágeis sem excessiva burocracia ou documentação desnecessária.
Definição de Pronto
- Um exemplo típico na garantia da qualidade é a definição de "pronto", onde critérios específicos são estabelecidos pela equipe para determinar quando uma tarefa está completa.
- Essa definição envolve um checklist que garante que todos os requisitos foram atendidos antes da entrega do produto final.
Integração com Métodos Ágeis
- Atividades como programação em par também contribuem para a garantia da qualidade ao permitir que desenvolvedores revisem mutuamente seu trabalho e assegurem conformidade com as convenções estabelecidas.
- A responsabilidade pela garantia da qualidade pode ser distribuída entre toda a equipe, promovendo um ambiente colaborativo onde todos participam desse processo crítico.
Distinção entre Garantia e Controle de Qualidade
- É importante diferenciar entre garantir a qualidade (focando nos processos e regulamentos definidos), enquanto o controle de qualidade avalia se o produto atende às necessidades dos stakeholders.
Garantia da Qualidade em Projetos de Software
Importância do Planejamento na Garantia da Qualidade
- A engenharia de qualidade não precisa ser burocrática; pode ser ágil se bem planejada. É essencial que as atividades sejam executadas adequadamente.
- Em projetos críticos, como sistemas de saúde, a garantia da qualidade deve ser formal e bem definida para assegurar características importantes.
Padrões e Consenso na Garantia da Qualidade
- A padronização é um aspecto importante na garantia da qualidade, mas não deve ser vista como uma burocracia desnecessária.
- Os padrões devem ser definidos em consenso com a equipe de desenvolvimento; impor regras sem consulta pode gerar resistência e problemas.
- A comunicação entre as equipes é crucial para garantir que todos concordem com os padrões estabelecidos.
Limitações dos Padrões
- Apenas definir padrões não garante a qualidade; é necessário avaliar o conteúdo e a eficácia dos processos.
- Seguir rigidamente um padrão pode levar a problemas se ele não refletir a realidade do projeto ou se for inadequado às necessidades específicas.
Avaliação da Qualidade dos Testes
- Ter 80% de cobertura de código não significa que os testes são bons; é fundamental avaliar a qualidade dos testes realizados.
- Simplicidade nas soluções deve ser priorizada, pois soluções complexas podem dificultar o atendimento aos padrões estabelecidos.
Valor dos Padrões no Desenvolvimento
- Os padrões devem agregar valor ao processo de desenvolvimento; seguir normas sem propósito claro pode ser contraproducente.
- É importante considerar requisitos claros antes de adotar qualquer padrão, garantindo que eles realmente atendam às necessidades do cliente e da equipe.
Conclusão sobre Garantia da Qualidade