Gerencia de Qualidade de
Software
Fatores Humanos e Técnicos
Garantia da Qualidade de Software (SQA) https://sites.google.com/site/thiagoaalves/ thiago.augusto2@anhanguera.com
Conteúdo Programático
Apresentação da disciplina e metodologia
de trabalho. Apresentação do Plano de Estudo e Aprendizagem. Introdução à Qualidade de Software.
Estudo dos fatores técnicos e
humanos que influenciam a qualidade de um software.
Garantia da Qualidade de Software
(SQA): conceito, importância e apresentação das técnicas.
Conteúdo Programático
Garantia da Qualidade de Software (SQA):
Impactos de um sistema de má qualidade.
CMMI. Introdução, diferenciação entre
qualidade de software e de processo. Estudo dos níveis CMMI. Abordagem das Key
Process Areas (KPA)
CMMI: abordagem dos aspectos práticos de
implantação do modelo. Apresentação de casos de sucesso na implantação, níveis
obtidos pelas principais empresas de TI ou não.
Conteúdo Programático
Norma ISO 15504 (Spice): conceituação,
utilização, metodologia de avaliação.
Normas MPS:BR e ISO 12207.
Modelos de Processo Pessoal e de Equipe
na Melhoria da Qualidade do processo de desenvolvimento de Software
Conteúdo Programático
Métricas de software: conceituação,
motivos para medição de um produto de software. Principais tipos e utilizações.
Qualidade de código. Programação:
Fatores de qualidade
Atividades de revisão de conteúdo e/ou
Trabalhos
Trabalho 1 – Resenha-Critica do Capitulo
1 do Livro. (Disponível do site do professor).
◦ http://pucrs.br/gpt/resenha.php - Link para ajudar a entender o que é uma resenha.
Fatores Técnicos e Humanos
Situações de estresse e problemas de
relacionamento:
◦ Existem em qualquer ambiente de trabalho
O estresse do dia-a-dia bem como do
ambiente de trabalho pode ser levar a queda de qualidade.
Fatores Técnicos e Humanos
As empresas podem tratar esses
problemas até certo ponto:
◦ Investir em qualidade de trabalho e de vida;
◦ Oferecer opções de conforto e lazer;
◦ Prever necessidade de substituir ou remanejar funcionários;
Fatores Técnicos e Humanos
E quando a empresa está em dificuldade?
Não os funcionários:
◦ Quando cronogramas deixam de funcionar, número de defeitos torna-se incontrolável e ninguém mas tem certeza do que fazer para salvar o projeto;
◦ Os indivíduos sofrem com estresse,
discussões podem surgir a cada minuto e a pressão é combatida com mais pressão;
Reflexão 3 Perguntas Básicas
A realidade da empresa reflete na
qualidade dos seus funcionários?
A realidade do Funcionário deve ser
Refletida dentro da Empresa?
Qualidade de vida tem que ser
Fatores Técnicos e Humanos
Comparando com linhas de montagem
(diferença)
◦ Grande volume de trabalho intelectual não repetitivo;
◦ É uma bênção para um pessoa inteligente;
◦ É, também, um problema do ponto de vista organizacional:
Como administrar algo que, por princípio, é
Fatores Técnicos e Humanos
Essa aleatoriedade é menor do que se
costuma pensar
◦ Ex: música, que depende da criatividade:
Quem estuda música vê que ela pode ser
sistematizada;
◦ Um software deve ter requisitos mais precisos que um música;
◦ A “linha de produção” de software deve ser definida e organizada;
Fatores Técnicos e Humanos
Organização do trabalho:
◦ É essencial trabalhar em sintonia;
◦ A falha de um ou mais membros em dividir os objetivos do grupo afeta o desempenho do grupo;
◦ Boas relações informais e liderança que faça convergir;
◦ Weinberg: fazer o grupo partilhar a
responsabilidade de definir os objetivos;
Fatores Técnicos e Humanos
◦ Aplicação é menos óbvia:
Pressupõe organização perfeita; Vários itens a administrar;
Usar metodologias como CMMI, PSP e XP;
Boa comunicação, para todos saberem porque usar
Fatores Técnicos e Humanos
Comunicação:
◦ Para uma especificação de requisitos é possível criar infinitos programas diferentes;
◦ Problema: garantir que todos os envolvidos tenham em mente a construção da mesma e única solução;
◦ Boa comunicação facilita a compreensão do que se está trabalhando;
Todos os envolvidos (programadores, projetistas,
gerentes, etc);
◦ Pode revelar posturas e atitudes nocivas ao trabalho em equipe;
Ex: “eu disse a ele que não funcionaria dessa forma”; Gerentes devem estar atentos a esse tipo de
Fatores Técnicos e Humanos
Individualismo:
◦ Forte componente de criatividade;
◦ Nas engenharias é bastante clara a existência de um prazer estético associado com uma nova solução;
Pode haver importante influência do ego dos
Fatores Técnicos e Humanos
Relação comercial-desenvolvimento: ◦ Ideias que na prática não são feitas;
◦ Há conflitos de interesses entre as áreas comercial e técnica;
◦ Comercial trabalha sobre pressão por resultados; Grande competição, margem de lucro pequena;
Vendedores são levados a realizar promessas irreais ; ◦ Técnica sofre com seus próprios problemas;
Prazo, modificação nos requisitos, correções de erros;
Tendência do desenvolvedor é simplificar o máximo possível; Oposta a área comercial;
◦ Possível solução: área intermediária entre as duas; Pessoas com conhecimento nas duas áreas;
Harmonizar as expectativas do setor comercial com as possibilidades de realização do setor de desenvolvimento;
Reflexão
Uma empresa que possuiu uma alta
rotatividade de funcionários e uma empresa que apresenta qualidade?
Práticas das Organizações Maduras
Interação com o cliente:
◦ Fator de fracasso: alteração dos requisitos e escopo;
◦ Inevitável, porém deve ser entendido pelas duas partes;
◦ Ver o cliente como um parceiro com interesse comum:
O sucesso do projeto;
◦ Toda não conformidade com o planejado é informada ao cliente;
◦ Cliente é incentivado a se comunicar com os desenvolvedores;
Práticas das Organizações Maduras
Gerenciamento de projetos:
◦ Planos de projeto realísticos e honestos;
Propor custos ou prazos reduzidos: desleal e
desastrosa;
◦ Análise e gerência contínua de riscos;
◦ Busca de métricas mais precisas para calcular prazos e custos;
◦ Projetos anteriores servem de base;
Práticas das Organizações Maduras
Métricas:
◦ Alimentam suas bases de projetos anteriores constantemente;
◦ Métricas auxiliam a definição de tarefas e alocação de recursos;
◦ Medidas para conhecer o desempenho individual e coletivo;
Relatórios de emprego de tempo, por exemplo; ◦ Pode trazer receio aos desenvolvedores;
Constantemente avaliados;
◦ Deve haver um feedback positivo do gerente do projeto; Não punir erros, mas sim aprimorar estimativas;
Práticas das Organizações Maduras
Treinamento e coaching:
◦ Treinamentos formais para novos contratados;
Apresentar os padrões usados na empresa;
◦ Programas de reciclagem para os mais antigos;
Sentem-se valorizados;
Pode ser necessário, em novos projetos, processos,
linguagens ou ferramentas ainda não conhecidas;
◦ Coaching: funcionários mais experientes
acompanham e auxiliam o desenvolvimento da carreira dos mais novos;
Práticas das Organizações Maduras
Revisões por pares:
◦ É difícil um desenvolvedor encontrar seus próprios erros;
◦ Designa-se outro para realizar uma revisão;
◦ Cada artefato produzido passa pela revisão de outro funcionário;
Documento de requisitos, diagramas de análise ou
código;
◦ Deve haver preocupação em evitar atritos;
Estudo de Caso 2 – 20 minutos
Faça um comentário sobre a solução adotada pelo Analista. Levante os pontos Positivos e Negativos.
Previsões
◦ O analista de sistemas Ubiratã está desenvolvendo seu software, tentando ser o mais eficaz possível. Quando o gerente aparece:
Em quanto tempo você acha que consegue implementar
relatórios com consultas por data e valor?
Não sei ainda, preciso ver quando teremos acesso ao mainframe. No ambiente de desenvolvimento nossa aplicação funciona, em produção, não temos acesso às tabelas necessárias. Preciso conversar com os analistas do sistema ABC sobre isso.
Não quero saber, preciso isso agora. Quanto tempo você leva? Ele pensa: “vou levar umas 4h no máximo:”, mas responde:
Vou precisar de 5 dias
Ok, vou lançar isso no cronograma
◦ No final do dia estava pronto. Ele usou os outros 4 dias documentando e testando a aplicação inteira, coisas que ainda não tinha feito por falta de tempo
Resolução da Turma
Relembrando
Qualidade:
◦ Qualidade é um conceito subjetivo, que varia para cada local, época, tipo de produto e
pessoa que está avaliando.
◦ A qualidade é relativa. O que é qualidade para uma pessoa pode ser falta de qualidade para outra. (Weinberg)
Qualidade nada mais é do que satisfazer a
necessidade do cliente dentro do projeto. (Ricardo Vargas)
Relembrando
A qualidade esta associada as
necessidades do cliente.
Podemos considerar um Produto de
Qualidade aquele que apresentar as necessidades e desejos do cliente.
Relembrando
Existem muitos fatores que influenciam na
qualidade podendo ser humanos, técnicos, organizacionais, sociais dentre vários
Garantia da Qualidade de Software
Garantia da Qualidade de Software
ou Software Quality Assurance
(SQA) é uma série planejada de
atividades de apoio que atribui confiança
ao software, de modo que as exigências sejam devidamente estabelecidas e produtos ou serviços estejam em conformidade com as normas especificadas através de uma
série de atividade abrangente que são utilizadas em todo o processo do ciclo de vida de desenvolvimento do software.
Garantia da Qualidade de Software
A garantia da qualidade de Software pode
ser divididas em sete atividades:
1. Aplicação de métodos técnicos;
2. Realização de revisões técnicas formais;
3. Atividade de testes de software;
4. Aplicação de padrões;
5. Controle de mudanças;
6. Medição;
Garantia da Qualidade de Software
1- Aplicação de métodos técnicos
Inicia com a atividade de análise dos
requisitos, através do entendimento das necessidades do cliente, onde o objetivo e compreender estas necessidades com o
intuito de garantir que não haja ambiguidades no entendimento, formando uma base sólida para o inicio do projeto .
A partir do levantamento destes requisitos são utilizados modelos gráficos para representar os requisitos de modo que possam ser visualizados de diferentes formas, e sejam identificadas
Garantia da Qualidade de Software
2 - Realização de revisões técnicas
formais
A Revisão é a atividade onde o objetivo é
identificar erros para serem eliminados.
A revisão técnica formal (Formal Technical
Review – FTR) é um meio efetivo com o intuito de descobrir erros de qualidade e aperfeiçoar a qualidade de software.
Garantia da Qualidade de Software
3 - Atividade de testes de software Atividade onde o objetivo é encontrar
qualquer erro que possa ocorrer
enquanto o software estiver sendo usado, através de conjuntos de testes que tenha grande chance de encontrar erros.
Garantia da Qualidade de Software
4 - Aplicação de padrões
Atividade aplicada nos processos de engenharia, onde o seu grau pode variar de acordo com
fatores externos como clientes ou
por imposições reguladoras de modo que a utilização de padrões pode variar de empresa para empresa.
Uma vez tendo esse padrão oficializado,
planos devem ser estabelecidos para que esses padrões sejam atendidos. Revisões Técnicas
Formais podem ser utilizadas para avaliar o
Garantia da Qualidade de Software
5 - Controle de mudanças
O Controle de mudanças é uma atividade
que se utiliza de procedimentos humanos e ferramentas automatizadas, seu objetivo é de garantir consistência à medida que mudanças venham a ser solicitadas de modo que
evite mudanças descontroladas no software que poderia levar a falhas irreparáveis,
o controle de mudança é uma atividade que está submetida ao Gerenciamento
Garantia da Qualidade de Software
6 - Medição
Medição é o resultado da análise de um ou mais pontos de dados, a partir de uma métrica do
software, onde essas métricas abrangem um
amplo conjunto de medidas técnicas do software. A medição é uma atividade importante para
atender a uma necessidade do grupo de SQA,
orientada para a administração, que é de rastrear e avaliar o impacto decorrente de mudanças
sobre a qualidade do software, onde é de coletar uma métrica de software para realizar a medição.
Garantia da Qualidade de Software
7 - Manutenção de registros e reportagem
A manutenção de registros e reportagem e
uma atividade que conclui em tempo que deve estar sempre disponível para as atividades de SQA, a todos os profissionais envolvidos,
oferecendo mecanismos de coleta e disseminação da informação decorrente dos resultados obtidos em testes, auditorias entre outras atividades de SQA, de modo que este conhecimento possa ser facilmente adquirido e por sua vez apoiar
atividades de desenvolvimento e manutenção, além de poder comprovar a qualidade de um software baseada em seus processos.
Reflexão
Se adotarmos todos os conceitos vistos
para Garantia de Qualidade de Software, podemos garantir que 100% do nosso
Software vai apesentar qualidade? Vai ser um Software de Qualidade?
Estudo de Caso 1 – 30 Minutos
“Existem empresas que já estão na versão 5 de
seu software, mas tem clientes que ainda usam a versão 3, porque os clientes morrem de medo de atualizar, por causa dos históricos de erros em novas versões – eles preferem os problemas já conhecidos. Empresas que levam o software ao cliente e uma tela não funciona, ou uma
correção de um problema que afetou outro
lugar no sistema e uma infinidade de questões.”
Comente os problemas de qualidade que podem ter acontecido diante do seguinte Cenário. Utilize a Técnica de BrainStorming para ajudar.
Garantia da Qualidade de Software
Kaizen
Kaizen é uma palavra de origem
japonesa que significa mudança para melhor, usada para transmitir a noção
de melhoria contínua na vida em
geral, seja ela pessoal, familiar, social e no
Kaizen
No contexto empresarial, o kaizen é uma
metodologia que permite baixar os custos e melhorar a produtividade.
Considerado como o pai do kaizen, o professor japonês Masaaki releva a
importância do gemba (termo japonês que significa "local real"), o local de trabalho
onde o verdadeiro valor é criado. Além disso, o envolvimento de todos os colaboradores da empresa é essencial no kaizen, porque esta é uma metodologia que não se
Kaizen
Segundo o kaizen, é sempre possível fazer
melhor, nenhum dia deve passar sem que alguma melhoria tenha sido implantada, seja ela na estrutura da empresa ou no indivíduo. As mudanças feitas devem ser graduais e nunca bruscas, para não
perturbar o equilíbrio da estrutura. O Sistema de produção da Toyota é
conhecido pela sua aplicação do princípio do kaizen.
Kaizen
Para o kaizen, trabalha-se e vive-se de
forma mais equilibrada e satisfatória possível, se pelo menos três quesitos
forem atendidos: estabilidade financeira e emocional ao empregado, clima
organizacional agradável e ambiente simples e funcional.
Kaizen
Bases do sistema 5S (Toyota)
◦ Método de trabalho com foco no indivíduo;
◦ Soluções baseadas em práticas de trabalho e disciplina;
◦ Figura: Organização de pastas;
◦ Aplicadas a toda a empresa e no espaço individual do funcionário:
Objetos, papéis, canetas devem estar organizados;
Kaizen
◦ Identificadas 7 fontes de desperdício
Produção em excesso; Tempo de espera; Transportes; Estoques inúteis; Processo de fabricação; Movimentos inúteis; Peças defeituosas.
Kaizen
Os 5 “S”:
◦ Seiri (descarte): tudo que é desnecessário pode ser jogado fora;
◦ Seiton (arrumação): organização do espeço e métodos de trabalho;
◦ Seisoh (limpeza): sua, do espaço de trabalho e das ferramentas;
◦ Seiketsu (asseio): padronização. Ferramentas guardadas sempre no mesmo lugar, na mesma posição;
◦ Shitsuke (disciplina): progresso. Disciplina na postura interna das pessoas;
Kaizen
Aplicação à construção de software
◦ Problemas como desperdício de má organização são resultado do trabalho das pessoas;
◦ Seiri: simplificação. Implementar somente funções necessárias;
◦ Seiton: diagramas e demais documentos devem ser
identificados e, quando preciso, referenciar-se entre si de forma clara e precisa;
◦ Seisoh: rotinas não utilizadas devem ser descartadas
(diagramas, documentos e qualquer arquivo que não tenha mais aplicação);
◦ Seiketsu: nomenclatura de identificadores, formato de comentários e outros elementos deve seguir um padrão;
◦ Shitsuke: atitude interna das pessoas, desvinculado do trabalho. Qualidade de vida no ambiente de trabalho;
Kaizen
Kaizen e muito mais uma Filosofia do que
Kaizen
Método x Filosofia de trabalho
◦ Método: maneira de solucionar um problema em que as informações são conhecidas de antemão:
Métodos dos elementos finitos;
◦ Filosofia: sentido menos concreto. Relacionado a forma como se pensa:
Transparência, lealdade;
Vários fatores influenciam o comportamento
◦ “Interpretação” da lei;
◦ Pouca gente é honesta ao preencher relatórios de tempo;
Exercício
Faça uma reflexão e uma argumentação
sobre o seguinte comentário:
“Quando falamos de Qualidade, temos
que pensar mais em um Metodologia ou uma Filosofia?”
Referencias
http://www.leandromtr.com/garantia-da-qualidade-de-software-sqa/ http://www.linhadecodigo.com.br/artigo/1 712/qualidade-qualidade-de-software-e- garantia-da-qualidade-de-software-sao-as-mesmas-coisas.aspx *Referencias
MOLINARI, Leonardo. Testes de
Performance, Florianopolis: Visual Books, 2009.
BARTIÉ, Alexandre. Garantia da Qualidade
de Software, Rio de Janeiro: Campus, 2002.
BASTOS, Anderson; RIOS, Emerson;
CRISTALLI, Ricardo; MOREIRA, Trayahú. Base de conhecimento em teste de