Você está na página 1de 54

Qualidade de Software

Seiji Isotani, Rafaela V. Rocha


sisotani@icmc.usp.br
rafaela.vilela@gmail.com

PAE: Armando M. Toda


armando.toda@gmail.com
Garantia de Qualidade

n Qualidade do Produto (aula anterior)


– ISO 9126 e ISO 25010 – Qualidade de produto de
software
– ISO/IEC 9126 (NBR 13596)
– ISO/IEC 12119
– ISO/IEC 14598-5
n Qualidade do Processo
– CMM e CMMI
– ISO 12207 - Qualidade do processo de software
– ISO 15504 (SPICE)
– MPS.BR
Incorporação da Qualidade

Requisitos do Usuário Produtos


Intermediários

Produto
Final

Entrega do Produto Final


Base da Qualidade

PROCESSO DE
Usuário SOFTWARE
Processo de
Desenvolvedor Requisitos Desenvolvimento
padrões

Organização

Requisitos Padrões
atendidos atendidos
SOFTWARE
PRODUTO
Engenharia de Software
ferramentas
métodos
processo
foco na qualidade SOFTWARE COM QUALIDADE

4
Qualidade do Processo de Software

n Antesde tudo.. O que é processo de


software?

5
Processo de Software

Definição

n processo - uma sequência de passos


realizados para um determinado propósito
(IEEE).
n processo de software - conjunto de
atividades, métodos, práticas e tecnologias
que as pessoas utilizam para desenvolver e
manter software e produtos relacionados
(CMMI). 6
Processo de Software

Definição

n processo de software: Consiste em uma


série de atividades, práticas, eventos,
ferramentas e métodos que garantem,
técnica e administrativamente que o
software pode ser desenvolvido com
qualidade e de maneira organizada,
disciplinada e previsível.
7
Modelos de Processo de Software

■ Uma das maiores dificuldades encontradas


pelas empresas de software é o
gerenciamento de seus processos de
software.

Modelos de Processo de Software

8
Modelos de Processo de Software

n Um modelo de processo procura descrever


formalmente e de maneira organizada todas as
atividades que devem ser seguidas para a
obtenção segura de um produto de software.
n É importante escolher um modelo apropriado às
metas da organização e saber o grau em que
esse modelo será implementado.
n Modelos CMMI e ISO/IEC 12207 são
relacionados a processo de software.
9
Um Processo de Software Imaturo

■ Ad hoc: processo improvisado por


profissionais e gerências.
■ Não é rigorosamente seguido e o
cumprimento não é controlado.
■ Altamente dependente dos profissionais
atuais.
■ Baixa visão do progresso e da qualidade.

10
Um Processo de Software Imaturo

■ A qualidade do produto pode ficar


comprometida para que prazos sejam
cumpridos.
■ Arriscado do ponto de vista do uso de nova
tecnologia.
■ Custos de manutenção excessivos.
■ Qualidade difícil de se prever.

11
Um Processo de Software Maduro

■ Coerente com as linhas de ação, o trabalho


é efetivamente concluído.
■ Definido, documentado e melhorando
constantemente:
● compreendido

● utilizado

● vivo e ativo

12
Um Processo de Software Maduro

■ Com o apoio visível da alta administração e


outras gerências.

■ Bem controlado - fidelidade ao processo é


objeto de auditoria e de controle.
■ São utilizadas medições do produto e do
processo.
■ Uso disciplinado da tecnologia.

13
Maturidade de Processo de Software

■ A qualidade do processo de software pode


ser analisada por meio do nível de
maturidade do processo
■ A maturidade dos processos de software
de uma organização influencia na sua
capacidade de atingir metas de custo,
qualidade e cronograma

14
Valor da Melhoria de Processo

■ A melhoria do processo de software


oferece um retorno no investimento que
pode ser medido - quando é medido.
■ Benefícios adicionais são intangíveis e
não podem ser quantificados facilmente.

15
Garantia de Qualidade

n Qualidade do Produto (aula anterior)


– ISO 9126 e ISO 25010 – Qualidade de produto de
software
– ISO/IEC 9126 (NBR 13596)
– ISO/IEC 12119
– ISO/IEC 14598-5
n Qualidade do Processo
– CMM e CMMI
– ISO 12207 - Qualidade do processo de software
– ISO 15504 (SPICE)
– MPS.BR
Capability Maturity Model (CMM)

■ Modelo de Maturidade de Processo de Software que


auxilia as empresas a melhorar seus processos de
software.
■ 1986 - Software Engineering Institute (SEI) por solicitação
do DoD que necessitava de um método de avaliar a
capacidade de seus fornecedores de software.
■ 1991 - 1a versão do CMM
■ 2002 - 1a versão do CMMI (Capability Maturity Model
Integration)
■ 2010 - CMMI Versão 1.3 (atual)
17
■ http://www.sei.cmu.edu/cmmi/ e http://cmmiinstitute.com/
Capability Maturity Model (CMMI)

n O primeiro ponto importante a se observar no


modelo CMMI:
– É um modelo que se refere ao processo pelo qual
o produto é construído.
n CMMI provê modelos para três áreas de
interesse:
– Desenvolvimento de produtos e serviços (CMMI
for Development)
– Aquisição (CMMI for Aquisition)
– Prestação de serviços (CMMI for Services)
18
Capability Maturity Model (CMMI)

n Supõe-se que uma organização que


possui um processo maduro tem
maiores probabilidades de produzir
bons produtos consistentemente do que
uma outra cujo processo é imaturo e
caótico.

19
Capability Maturity Model (CMMI)

nO CMMI é um modelo de referência para


a qualidade de processo de produção de
software.
n Pormeio de um processo formal de
avaliação, uma organização é
classificada em um “nível de maturidade”
que varia de um a cinco.
20
CMMI: nível de maturidade

nO nível de maturidade indica em que


medida os processos daquela
organização são maduros.
n Quanto maior o nível de maturidade,
melhores e mais maduros são os
processos.

21
Níveis de capacidade e maturidade
do CMMI

Nível Capacidade Maturidade


0 Incompleto
1 Realizado Inicial
2 Gerenciado Gerenciado
3 Definido Definido
4 Quantitativamente gerenciado
5 Em otimização

22
CMMI: Nível de capacidade

n Um nível de capacidade para uma área


de processo é atingido quando todos os
objetivos genéricos são satisfeitos até
aquele nível
n Os quatro níveis de capacidade, cada
um servindo de fundação para melhoria
contínua de processos, são designados
pelos números de 0 a 3.
23
Níveis de capacidade e maturidade
do CMMI

Nível Capacidade Maturidade


0 Incompleto
1 Realizado Inicial
2 Gerenciado Gerenciado
3 Definido Definido
4 Quantitativamente gerenciado
5 Em otimização

24
Níveis de Maturidade do CMMI

25
Níveis de Maturidade do CMMI
1 - Inicial
• Processos são usualmente ad-hoc e caóticos
• Normalmente a organização não provê um
ambiente estável para suportar os processos
• Sucesso depende da competência e heroísmo das
pessoas, e não do uso provado dos processos
• As organizações no nível 1 são caracterizadas por
uma tendência de se comprometer demais,
abandonar seus processos durante uma crise, e
incapazes de repetir seus sucessos

26
2- Gerenciado
Níveis de Maturidade
• Os projetos garantem que osdo CMMI
processos são
planejados e executados:
- De acordo com uma política
- Com pessoas qualificadas
- Com recursos adequados
- Que produzem saídas controladas
- Envolvendo stakeholders relevantes
- De forma monitorada, controlada e revisada
- E avaliada para aderência à sua descrição de
processo

27
3- Definido
Níveis
• Processosdesão
Maturidade do eCMMI
bem caracterizados entendidos, e
descritos em padrões, procedimentos, ferramentas e
métodos
• O conjunto de processos padrões da organização,
que é a base do nível de maturidade 3, é
estabelecido e melhorado ao longo do tempo
• Esses processos padrões são usados para
estabelecer consistência por toda a organização

28
Níveis de Maturidade do CMMI

Uma distinção crítica entre os níveis de maturidade 2 e 3 é


o escopo de padrões, descrições de processos e
procedimentos.
- No nível 2, elas podem ser bastante diferentes em
cada projeto em particular
- No nível 3, elas devem ser adaptadas a partir do
conjunto de processos padrão da organização, para
atender um projeto em particular

29
Níveis de Maturidade do CMMI

• Uma outra diferença crítica é que no nível de


maturidade 3 os processos são tipicamente descritos
de forma mais rigorosa que no nível 2
• Um processo definido claramente declara:
• Propósito, Entradas, Critérios de entrada,
Atividades, Papéis, Métricas, Passos de
verificação, Saída, Critérios de saída

30
Níveis de Maturidade do CMMI
4- Gerenciado Quantitativamente
• A organização e seus projetos estabelecem objetivos
quantitativos para qualidade e performance de processo
• Objetivos quantitativos são baseados nas necessidades
dos clientes, usuários, organização e implementadores
de processo
• A performance da qualidade e do processo é entendida
em termos estatísticos e gerenciada por toda a vida dos
projetos

31
Níveis de Maturidade do CMMI

• Uma distinção crítica entre os níveis de maturidade 3 e 4


é a previsibilidade da performance do processo.
• No nível 4, a performance dos projetos e sub-processos
selecionados é controlada usando técnicas estatísticas e
quantitativas, e previsões são feitas, em parte, a partir de
uma análise estatística dos dados do processo

32
Níveis de Maturidade do CMMI
5- Otimização
• A organização melhora continuamente seus processos
baseada em um entendimento quantitativo dos seus
objetivos de negócio e necessidades de performance
• A organização usa uma forma quantitativa para entender
a variação inerente no processo
• O nível 5 foca em melhorar a performance do processo
continuamente por meio de melhorias incrementais e
inovadoras de processos e tecnologia

33
Níveis de Maturidade do CMMI

• Uma distinção crítica entre os níveis de maturidade 4 e 5 é o foco


na gestão e melhoria da performance organizacional
• No nível 4, a organização e projetos focam em entender e
controlar a performance no nível do sub-processo, e usam os
resultados para gerenciar projetos
• No nível 5, a organização se preocupa com a performance geral
usando dados coletados de múltiplos projetos. A análise dos dados
identificam falhas na performance. Essas falhas são usadas para
direcionar a melhoria de processo organizacional

34
Níveis de Maturidade do CMMI

§ Níveis do CMM são organizados de modo a


estabelecer as prioridades na condução de
programas de melhoria do processo de
software.
§ Cada Nível é considerado como pré-requisito
para o nível seguinte.
§ Não é possível o “salto” de níveis.
§ Cada nível apoia-se nas competências que a
organização desenvolveu no nível
imediatamente inferior. 35
Como Melhorar o Processo de
Software ?

§ Realizando um grupo de atividades


correlatas, denominadas ÁREAS-CHAVE
DE PROCESSO (Key Process Areas -
KPA) que, quando efetuadas
coletivamente, alcançam um conjunto de
metas consideradas importantes na
implementação da competência do
processo.

36
Níveis de Maturidade do CMMI

• Para o nível de maturidade 2 – atingir nível de


capacidade 2 ou 3:
1. Gerenciamento de Requisitos (REQM - Requirements
Management)
2. Planejamento de Projetos (PP - Project Planning)
3. Controle e Monitoramento do Projeto (PMC – Project
Monitoring and Control)
4. Gerenciamento de Acordo com Fornecedor (SAM -
Supplier Agreement Management)
5. Medição e Análise (MA - Measurement and Analysis)
6. Garantia da Qualidade de Processo e Produto (PPQA -
Process and Product Quality Assurance)
7. Gerência de configuração (CM - Configuration 37
Management)
Níveis de Maturidade do CMMI

• Para o nível de maturidade 3 - atingir nível de capacidade 3 nas áreas


de processo do nível 2 e nestas (07 + 11 = 18):
1. Integração de Produto (PI)
2. Desenvolvimento de Requisitos (RD)
3. Solução Técnica (TS)
4. Validação (VAL)
5. Verificação (VER)
6. Gerenciamento Integrado de Projetos (IPM)
7. Definição de Processo Organizacional (OPD)
8. Foco de Processo Organizacional (OPF)
9. Treinamento Organizacional (OT)
10. Gerenciamento de Riscos (RSKM)
38
11. Análise e Resolução de Decisões (DAR)
Níveis de Maturidade do CMMI

• Para o nível de maturidade 4 – é necessário que todas


as áreas de processo anteriores e as áreas de processos
seguintes atinjam nível de capacidade 3 (20):
• Desempenho de Processo Organizacional (OPP)
• Gerenciamento Quantitativo de Projeto (QPM)

• Para o nível de maturidade 5 – é necessário que todas


as áreas de processo anteriores e as áreas de processos
seguintes atinjam nível de capacidade 3 (22):
• Análise Causal e Resolução (CAR)
• Inovação e Implantação Organizacional (OID) 39
Exemplo: Áreas-chave de Processo

CMMI

Quantitativamente
Inicial Gerenciado Definido Gerenciado
Otimizado

7 11 2 2

TOTAL
22 Áreas-chave de Processo

40
Garantia de Qualidade

n Qualidade do Produto (aula anterior)


– ISO 9126 e ISO 25010 – Qualidade de produto de
software
– ISO/IEC 9126 (NBR 13596)
– ISO/IEC 12119
– ISO/IEC 14598-5
n Qualidade do Processo
– CMM e CMMI
– ISO 12207 - Qualidade do processo de software
– ISO 15504 (SPICE)
– MPS.BR
ISO 12207

n ISO/IEC 12207: 2008 – Software and


Systems Engineering – Software Life Cycle
Processes (revisto em 2013).
n Cobre todo o ciclo de vida de
desenvolvimento do software desde a
concepção das idéias iniciais sobre o
software até ser retirado de execução.

42
ISO 12207: Estrutura
Processos Fundamentais Processos de Apoio
Aquisição Documentação

Fornecimento

Garantia de Qualidade

Operação Verificação

Validação

Adaptação
Desenvolvimento
Revisão Conjunta

Manutenção Auditoria

Resolução de Problemas

Processos Organizacionais
Gerência Infra-estrutura

Melhoria Treinamento 43
ISO 12207: Processos

n Processos Fundamentais: englobam as


atividades referentes ao contrato entre o
cliente e o fornecedor, ao desenvolvimento, à
operação e à manutenção do software.
n Processos de Apoio: auxiliam outros
processos como parte integrante dos
mesmos, com propósitos distintos
contribuindo para a qualidade do projeto de
software.
44
ISO 12207: Processos

n Processos Organizacionais: estabelecem e


implementam uma estrutura que forneça uma
base aos processos e ao pessoal envolvido
no desenvolvimento de software.
n Processo de Adaptação: define as
atividades necessárias para adaptar a norma
a uma organização ou projeto específico.

45
ISO 12207

Atividades dos
Processos
Fundamentais

46
ISO 12207

Atividades dos
Processos
Fundamentais
(cont.)

47
ISO 12207

Atividades
dos
Processos
de Apoio

48
ISO 12207

Atividades
dos Processos
Organiza-
cionais

49
Garantia de Qualidade

n Qualidade do Produto (aula anterior)


– ISO 9126 e ISO 25010 – Qualidade de produto de
software
– ISO/IEC 9126 (NBR 13596)
– ISO/IEC 12119
– ISO/IEC 14598-5
n Qualidade do Processo
– CMM e CMMI
– ISO 12207 - Qualidade do processo de software
– ISO 15504 (SPICE)
– MPS.BR
Outras normas/modelos de referência
para avaliação de processos
n ISO 15504 (SPICE):
n Guia para avaliação dos processos de uma empresa
n Modelo de avaliação: ISO 12207 ou adoção de outro modelo
de processo
n Processo de avaliação
n Ferramentas para proceder a avaliação
– Porém, não é suficiente para conduzir o processo de avaliação,
pois não é bem detalhado. Necessita de treinamento específico
n MPS.BR (Modelo de Referência para melhoria do
Processo de Software):
§ modelo de avaliação de empresas produtoras de software
brasileiro
§ Independente, mas compatível com as normas ISO e CMMI
51
Conclusão: Fatores principais da qualidade

Tecnologia/ ferramentas / padrões


de desenvolvimento

Qualidade Qualidade Qualidade


de pessoas
do produto do processo

Qualidade do projeto
(custo, tempo, cronograma)

52
Lista de empresas CMMI
n https://sas.cmmiinstitute.com/pars/pars.aspx

53
Guias MPS.BR
http://www.softex.br/mpsbr/guias

54

Você também pode gostar