Buscar

Qualidade de Software

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Capacidade de um produto ou serviço:
Realizar as funções esperadas
Atender às expectativas do cliente
Depende do cliente e da aplicação
Conceito estendido:
envolve outros atributos considerados importantes
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Qualidade é:
Função
Confiabilidade
Durabilidade
Desempenho
Consumo de recursos
Usabilidade
Flexibilidade
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Mas é também:
Prazo
O melhor produto do mundo entregue com atraso pode não servir pra nada
Custo
Se o custo for maior do que o previsto, alguém vai ter que arcar com os prejuízos, o cliente ou a empresa desenvolvedora
Qualidade dos serviços
Atendimento ao cliente, pós-venda etc.
Satisfação do cliente
Envolve os aspectos anteriores e a qualidade do produto, além de outros fatores
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Philip Crosby
“Quality is free!”
Benefícios superam os custos
Custo da qualidade é menor que o custo da não qualidade
Ishikawa
“Remova a causa principal e não os sintomas”
“Não confunda os meios com os objetivos”
“Objetivos devem levar em consideração os clientes”
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Armand Feigenbaum
Total Quality Control
Três pilares:
Liderança: gerenciamento contínuo e ênfase em excelência (não em reduzir falhas)
Tecnologia moderna: todos devem se envolver, depto de qualidade sozinho não resolve
Compromisso organizacional: comprometimento e relacionamento com o planejamento estratégico
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Edward Deming
Pontos de qualidade
Constância de propósitos
Mudança filosófica
Não depender de inspeção somente
Fornecedores = parceiros
Melhorar continuamente
Treinar sempre e em todos os níveis
Incentivar liderança
Enfrentar e superar receios (bloqueios)
Quebrar barreiras entre áreas
Satisfação e desenvolvimento pessoal = produtividade
Engajar todos no programa de transformação
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Qualidade ligada à cultura organizacional
Todos os grandes nomes da qualidade abordam questões culturais e pessoais
Resistência a mudanças
Processo de mudança
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Verificar se o artefato produzido tem qualidade
Exemplos de atividades
Testes
Revisões
Inspeções
Foco na qualidade do produto
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Estabelecer procedimentos e padrões que conduzam a um software de qualidade
Padrões (ou normas) são a chave para a garantia da qualidade
Padrões podem ser internacionais, nacionais ou organizacionais.
Organizações de padronização:
ISO, IEEE, ANSI, SEI etc
Foco na qualidade do processo (contempla tanto produto quanto projeto)
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Inspeção:
exame (visual) de características dos produtos
Teste:
execução e comparação com os resultados esperados
Auditoria:
avaliação independente de produtos e processos
Aplicação em produtos:
inspeção, teste e auditoria
Aplicação em processos:
auditoria
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Morte à abordagem tradicional com teste final!!!
Falta de foco no cliente = falta de qualidade
Foco no processo
Não basta esperar o produto final
Bons processos  Bons produtos
Qualidade no trabalho  qualidade no produto
Qualidade é parte do processo e responsabilidade de todos!
Disciplina x criatividade
Melhorar/otimizar processos repetitivos que compõem a criação
Liberar a capacidade criadora
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Como conseguir qualidade?
Qualidade como parte do desenvolvimento
Arquitetura testada
Testes unitários
Testes automatizados
Casos de teste bem escolhidos
Revisão por pares
Análise estática de código
Integração contínua
Dividir para conquistar: pequenos releases
Feedback: releases constantes
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Processo IMATURO
A maioria das organizações de software nessa situação são como “bombeiros”
O fogo está sob controle
Constantemente reativas – sem tempo para as melhorias
Os bombeiros se queimam
Seu único controle é: prevenção do incêndio
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Processo MADURO:
É bem conhecido por todos os envolvidos
Permite auditoria da fidelidade ao processo
Propicia adoção disciplinada de tecnologias
Os papéis e responsabilidades são claramente definidos
Permite acompanhamento da qualidade do produto
Permite acompanhamento da satisfação do cliente
O cronograma, custo e qualidade são alcançados
Há melhoria contínua do processo
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Processo MADURO:
A organização possui uma infra-estrutura que efetiva e consistentemente aplica o processo
Gerência deve “alimentar” a cultura de gestão – “se ninguém se importa, todo mundo esquece”
Um processo institucionalizado resiste mesmo sem as pessoas que o definiram originalmente
*
*
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
IMATURO
Processo improvisado pelas pessoas
Processo não é seguido ou cumprido
Grande dependência dos atuais desenvolvedores
Baixa visibilidade do processo para seu progresso e qualidade
Funcionalidade e qualidade do produto comprometidas para atender prazo
Custos excessivos de manutenção
Tecnologia  Processo
MADURO
Processo é definido, documentado e melhorado continuamente
Processo é entendido, utilizado e “vivo”
Processo suportado pela gerência
Processo verificado e cumprido
Grande visibilidade do processo alinhado ao negócio da organização
Papéis e responsabilidades claramente definidas
Processo  Tecnologia
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Repositório das melhores práticas
Referência para estabelecimento de processos
Define métrica para avaliação e roteiro seqüencial para a melhoria, baseado na capacidade de processo
Define “o quê“ deve ser feito, não o “como”
Independente da tecnologia a ser utilizada
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
CMM/CMMI
ISO/IEC 15504 (SPICE)
CobiT
ITIL
Six Sigma
MPS – Br
...
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Capability Maturity Model Integrated
Desenvolvido pelo Software Engineering Institute (SEI) 
Evolução do CMM
Objetivo: servir de base para a melhoria de processos da organização
Descreve elementos chave para um processo eficaz e o caminho evolutivo para um processo maduro e disciplinado
Busca da melhoria contínua, aprimorando a habilidade da organização para atender aos objetivos de custo, prazo, funcionalidade e qualidade do produto
Classifica as organizações em níveis, de acordo com a capacidade e maturidade do processo
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
CMMI é uma metodologia que nós devemos seguir
CMMI irá eliminar todos os nossos defeitos
Nós só podemos “fazer CMMI” se focarmos no desenvolvimento de documentos
CMMI é algo que você implementa
CMMI só pode ser aplicado em grandes organizações
CMMI vai dobrar a quantidade de trabalho e nos atrasar
CMMI é projetado para utilizar o modelo de ciclo de vida Cascata
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
TROCA DE LÂMPADA COM CMMI
1 pessoa para descrever o problema  
1 pessoa para avaliar o problema e propor um conjunto de soluções técnicas  
1 pessoa para criar uma especificação sobre a tarefa a ser desenvolvida  
1 pessoa para validar a especificação  
1 pessoa para avaliar o prazo e o esforço da tarefa  
1 pessoa para avaliar o impacto e o custo da tarefa  
1 pessoa para controlar o estoque de lâmpadas e fornecer para a equipe uma lâmpada de uma versão adequada para a tarefa  
1 pessoa para conseguir uma escada  
1 pessoa para subir na escada, remover a lâmpada queimada e efetuar a troca pela nova  
1 pessoa para criar casos de testes para verificar se o objetivo da tarefa fora cumprido  
1 pessoa para avaliar a qualidade da troca da lâmpada  
1 pessoa para realimentar a base histórica de métricas da empresa a fim de fornecer dados mais apurados sobre tempo/esforço/custo para futuras tarefas similares  
1 pessoa para notificar ao cliente que o problema foi resolvido 
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Nível 1 - Inicial - organizações imaturas
Não há metodologia implementada
Nível 2 - Repetível - disciplina e estabilidade
Empresa consegue produzir no prazo com custo previsível
Nível 3 - Definido - padronização e consistência
Garante o nível de qualidade no produto e no processo
Nível 4 - Gerenciado - medição e controle
O processo é definido, quantificado e acompanhado
Nível 5 - Otimizado - melhoria contínua
Mudanças no processo não prejudicam o desenvolvimento
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Nível 1 - Inicial
Processo disforme e de baixa visibilidade
Resultados são imprevisíveis
Formas de controle muito pobres
Enormes dificuldade para previsões de
cronogramas
orçamentos
funcionalidades
qualidade do produto
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Nível 2 - Repetível
Disciplinado e estável
Procedimentos de gerenciamento de projetos
Aproveitamento sistemático de históricos
Padrões para projetos de software
Acompanhamento de custos, cronogramas e funcionalidades
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Nível 2 - Repetível
Processos disciplinados garantem a reprodução de processo já utilizados em projetos bem sucedidos em aplicações semelhantes...
Entretanto...
A Gerência ainda é reativa!!!!
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Meta Genérica: institucionalizar um processo gerenciado
Práticas Genéricas
Estabelecer uma política organizacional
Planejar o processo
Prover recursos
Atribuir responsabilidade
Treinar pessoal
Gerenciar configurações
Identificar e envolver stakeholders relevantes
Monitorar e controlar o processo
Avaliar aderência objetivamente
Revisar status com gerência sênior
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Áreas de Processo (PAs)
Gerenciamento de Requisitos
Planejamento do Projeto
Acompanhamento do Projeto
Gerenciamento de Fornecimento e Subcontratação
Medição e Análise
Garantia da Qualidade
Gerenciamento de Configuração
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Nível 3 - Definido
As saídas de uma atividade fluem naturalmente para as entradas da atividade seguinte
Os processos de software são 
Integrados no processo padrão da empresa
Documentados
Padronizados
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Nível 3 - Definido
Todos os projetos usam uma versão aprovada e individualmente adaptada do processo padrão da organização
A Gerência é Pro-Ativa!!!
Há um grupo para o estabelecimento dos padrões e multiplicação do conhecimento – SEPG (Software Engineering and Process Group)
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Meta Genérica: institucionalizar um processo definido
Práticas Genéricas
Estabelecer um processo definido
Coletar informações para melhoria
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Áreas de Processo (PAs)
Desenvolvimento de Requisitos
Solução técnica
Integração de Produtos
Verificação
Validação
Foco no Processo Organizacional
Definição do Processo Organizacional
Treinamento Organizacional
Gerenciamento Integrado de Projetos
Gerenciamento de Riscos
Alocação Integrada de Pessoas
Gerenciamento Integrado de Fornecimento
Análise de Decisão
Ambiente Organizacional para Intgração
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Nível 4 - Gerenciado
Faz controle estatístico de processo
Aponta causas da variação do processo
Capacitação predizível
Bases objetivas para tomada de decisão
Gerência quantitativa de produto e processo 
Os processo de software e a qualidade do produto são medidos e controlados quantitativamente
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Meta Genérica: institucionalizar um processo quantitativamente gerenciado
Práticas Genéricas
Estabelecer objetivos quantitativos para o processo
Estabilizar performance dos subprocessos
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Áreas de Processo (PAs)
Performance do Processo Organizacional
Gerenciamento Quantitativo do Projeto
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Nível 5 - Otimizado
Foco na melhoria contínua do processo
Melhoria contínua proporcionada por realimentação quantitativa do processo 
Condução de novas idéias e tecnologias
A organização tem capacidade gerencial para estimar e acompanhar quantitativamente o impacto e a eficácia das mudanças
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Meta Genérica: institucionalizar um processo em otimização
Práticas Genéricas
Garantir melhoria contínua do processo
Corrigir causas (root causes) de problemas
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Áreas de Processo (PAs)
Inovação Organizacional
Análise Causal
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Faculdade 7 de Setembro – Sistemas de Informação 
Engenharia de Software – Prof. Ciro Coelho
Gerenciar requisitos (objetivo específico)
Obter entendimento dos requisitos (prática específica)
Obter comprometimento quanto aos requisitos
Gerenciar mudanças em requisitos
Capturar mudanças em requisitos (subprática)
Manter histórico de mudanças
Avaliar impacto das mudanças
Disponibilizar mudanças
Manter rastreabilidade bidirecional de requisitos
Identificar inconsistências entre requisitos e produtos de trabalho
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando