Gerenciamento da Qualidade

Gestão da Qualidade

1 Gerenciamento de Qualidade

Gerenciar a qualidade tanto do processo como do produto de software

-Preocupa-se em garantir que o nível exigido de qualidade do produto de software seja atingido
-Envolve definir procedimentos e padrões de qualidade que devem ser seguidos
-Devem ajudar a desenvolver uma “cultura de qualidade” onde qualidade deve ser vista como responsabilidade de todos.

O que é qualidade?

Classicamente, a noção de qualidade é a de que o produto desenvolvido deve cumprir com suas especificações

Para sistemas de software, existem problemas:

• O desenvolvedor também possui requisitos de qualidade (por ex. facilidade de manutenção)
• Alguns requisitos de qualidade são difíceis de serem especificados de forma não ambígua. (Ex. facilidade de manutenção).
• Especificações de software são usualmente incompletas e inconsistentes.

O compromisso com a qualidade

-Não se pode esperar por uma especificação perfeita antes de implantar procedimentos de gerenciamento de qualidade.
-Deve-se implantar procedimentos para melhorar a qualidade dentro das restrições impostas por uma especificação imperfeita.
-O gerenciamento de qualidade não se preocupa somente em reduzir defeitos, se preocupa também com outras características de qualidade do produto.

Atividades do gerenciamento de qualidade

Garantia de qualidade:
• Estabelecer uma estrutura de procedimentos e de padrões organizacionais para qualidade. Planejamento de qualidade
• Seleção e ajustes de procedimentos e de padrões de qualidade para um projeto específico. Controle de qualidade
• Garantir que os procedimentos e padrões estão sendo seguidos pela equipe de desenvolvimento de software.
O gerenciamento de qualidade deve ser uma atividade separada do gerenciamento de projeto, de modo que a qualidade não seja comprometida.

ISO 9000

Padrão internacional para o gerenciamento de qualidade.
Aplicável a uma gama de organizações, desde a industria de manufatura até as indústrias de serviços.
ISO 9001 é aplicável a organizações que projetam, desenvolvem e dão manutenção a produtos
ISO 9001 é um modelo genérico de um processo de qualidade. Deve ser instanciado por cada organização.

Certificação ISO 9000

Os procedimentos de garantia de qualidade devem ser documentados em um manual de qualidade organizacional
Instituições independentes podem certificar que o processo de qualidade de uma organização, segundo o manual, está em conformidade com a ISSO 9001
Cada vez mais, os clientes procuram a certificação da ISO 9000 em fornecedores, como indicativo do nível de seriedade com que consideram a qualidade.

2 Garantia e padrões de qualidade

-Padrões são a chave para gerenciamento de qualidade efetivos.

-Podem ser internacionais, nacionais, organizacionais ou padrões de projeto.

-Padrões de produto são os padrões que se aplicam ao produto de software em desenvolvimento. Ex: estilo de programação, etc.

-Padrões de processo definem os processos a serem seguidos durante o desenvolvimento de software. Ex. definições de especificação, processos de projeto e validação, e documentos que devem ser gerados

Importância dos padrões

-Encapsulam as melhores práticas – evitam a repetição de erros passados.

-Infra estrutura para o processo de garantia de qualidade – envolve a verificação de conformidade com os padrões

-Ajudam em termos de continuidade – todos os engenheiros de uma organização adotam as mesmas práticas – o esforço de aprendizado é reduzido.

Qualidade de produto e de processo

A qualidade de um produto desenvolvido é diretamente influenciado pela qualidade do processo de produção.

Particularmente importante em desenvolvimento de software, uma vez que é difícil avaliar atributos de qualidade do produto sem utilizar o software por um período longo.

Contudo, a relação entre a qualidade de processo e do produto em produção é complexa – a modificação do processo nem sempre conduz à melhoria da qualidade.

Qualidade baseada em processo

Ligação direta entre o processo e produto em produtos manufaturados. Mais complexo em software pois:

• A aplicação de habilidades individuais e experiências é particularmente importante no desenvolvimento de software.

• Fatores externos, tais como novidade de uma aplicação ou pressão comercial para a liberação rápida de um produto, podem afetar o produto.

Controle de qualidade

Supervisionar o processo de desenvolvimento de software para garantir que os procedimentos e os padrões de garantia de qualidade seja seguidos.

Duas abordagens para o controle de qualidade

• Revisões de qualidade

• Avaliação automática de software e medição quantitativa de alguns atributos de software

Revisões de qualidade

O principal método de validar a qualidade de um processo ou de um produto.

Revisores examinam partes ou todo o processo ou o sistema e sua documentação para encontrar potenciais problemas.

Existem diferentes tipos de revisões com diferentes objetivos.

• Inspeções para a remoção de defeitos (produto)

• Revisões para avaliar o progresso (produto e processo)

• Revisões de qualidade (produto e padrões)

3 Tipos de revisões:

O processo de medição

-Um processo de medição pode ser parte de um processo de controle de qualidade.
-Dados coletados durante esse processo devem ser mantidos como um recurso organizacional (dados históricos)
-Uma vez estabelecido um banco de dados de medição, comparações entre projetos podem ser efetuadas e métricas específicas podem ser aprimoradas.

Métricas de produto

Métricas devem predizer a qualidade do produto Classes de métricas de produto
• Métricas dinâmica – coletadas por medições feitas de um programa em execução
• Métricas estáticas – coletadas por medições feitas das representações do sistema (projeto, programa, documentação) Métricas dinâmicas ajudam a avaliar a eficiência e confiabilidade; métricas estáticas ajudam a avaliar a complexidade, facilidade de compreensão e facilidade de manutenção.

Métricas estáticas e dinâmicas

Métricas dinâmicas estão intimamente relacionadas com os atributos de qualidade do software.
• É relativamente fácil medir o tempo de resposta de um sistema (atributo de performance) ou número de falhas (atributo de confiabilidade).
Métricas estáticas tem um relacionamento indireto com atributos de qualidade.
• É preciso derivar um relacionamento entre essas métricas e propriedades como complexidade, legibilidade e facilidade de manutenção.

Análise de medições

A dificuldade está em compreender o que as medidas significam
• A análise dos dados coletados é bastante difícil Profissionais da área de estatística podem oferecer ajuda valiosa. A Análise dos dados deve levar em conta as circunstâncias locais.

Melhoria de processo

-Entender os processos existentes
-Introduzir alterações no processo para atingir objetivos organizacionais que, geralmente, são melhorar a qualidade do produto, reduzir os custos e o tempo de desenvolvimento
-A maioria da literatura relacionada a melhoria de processo tem se concentrado na redução de defeitos. Isso reflete a grande preocupação da indústria em relação a qualidade de seus produtos.
-Outros atributos do processo podem ser o alvo de melhorias.

Estágios de melhoria de processo

Análise de processo • Analisar e modelar (quantitativamente, se possível) processos existentes Identificação de melhoria
• Identificar gargalos relativos a qualidade, ao prazo e ao custo Introdução de mudança de processo
• Modificar o processo para remover os gargalos identificados Treinamento em mudanças de processo
• Treinar o pessoal envolvidos em novas propostas de processo
Ajuste de mudanças • Descobrir pequenos problemas e propor modificações no processo

4 Tipos de revisões:

O processo de medição

-Um processo de medição pode ser parte de um processo de controle de qualidade.
-Dados coletados durante esse processo devem ser mantidos como um recurso organizacional (dados históricos)
-Uma vez estabelecido um banco de dados de medição, comparações entre projetos podem ser efetuadas e métricas específicas podem ser aprimoradas.

Métricas de produto

Métricas devem predizer a qualidade do produto Classes de métricas de produto
• Métricas dinâmica – coletadas por medições feitas de um programa em execução
• Métricas estáticas – coletadas por medições feitas das representações do sistema (projeto, programa, documentação) Métricas dinâmicas ajudam a avaliar a eficiência e confiabilidade; métricas estáticas ajudam a avaliar a complexidade, facilidade de compreensão e facilidade de manutenção.

Métricas estáticas e dinâmicas

Métricas dinâmicas estão intimamente relacionadas com os atributos de qualidade do software.
• É relativamente fácil medir o tempo de resposta de um sistema (atributo de performance) ou número de falhas (atributo de confiabilidade).
Métricas estáticas tem um relacionamento indireto com atributos de qualidade.
• É preciso derivar um relacionamento entre essas métricas e propriedades como complexidade, legibilidade e facilidade de manutenção.

Análise de medições

A dificuldade está em compreender o que as medidas significam
• A análise dos dados coletados é bastante difícil Profissionais da área de estatística podem oferecer ajuda valiosa. A Análise dos dados deve levar em conta as circunstâncias locais.

Melhoria de processo

-Entender os processos existentes
-Introduzir alterações no processo para atingir objetivos organizacionais que, geralmente, são melhorar a qualidade do produto, reduzir os custos e o tempo de desenvolvimento
-A maioria da literatura relacionada a melhoria de processo tem se concentrado na redução de defeitos. Isso reflete a grande preocupação da indústria em relação a qualidade de seus produtos.
-Outros atributos do processo podem ser o alvo de melhorias.

Estágios de melhoria de processo

Análise de processo • Analisar e modelar (quantitativamente, se possível) processos existentes Identificação de melhoria
• Identificar gargalos relativos a qualidade, ao prazo e ao custo Introdução de mudança de processo
• Modificar o processo para remover os gargalos identificados Treinamento em mudanças de processo
• Treinar o pessoal envolvidos em novas propostas de processo
Ajuste de mudanças • Descobrir pequenos problemas e propor modificações no processo

5 Qualidade de processo e de produto

A qualidade de processo e qualidade de produto estão intimamente relacionados
Um bom processo geralmente produz bons produtos Em algumas classes produtos manufaturados, o processo é o principal determinante da qualidade do produto
Para atividades baseadas em projeto, outros fatores também estão envolvidos, em especial a habilidade dos projetistas.