Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

24
Qualidade de Processo de Software CMM e CMMI Aldo Rocha

Transcript of Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

Page 1: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

Qualidade de Processo de SoftwareCMM e CMMI

Aldo Rocha

Page 2: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

2

Agenda CMM

– Objetivos;– Maturidade de processos;– 5 níveis de maturidade;– Visão Geral– Nivel 2

CMMI

Page 3: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

3

CMM

O SW-CMM (Capability Maturity Model for Software) é um modelo de capacitação de processos de software, desenvolvido pelo SEI (Software Engineering Institute) e patrocinado pelo Departamento de Defesa Americano (DoD), para a avaliação da capacidade dos fornecedores de software deste último.

Page 4: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

4

Objetivos

Auxiliar o gerenciamento de mudança de processo;

Fornecer uma estrutura básica para métodos confiáveis e coerentes de avaliação e organizações de software;

Auxiliar a melhoria do processo interno de software;

Fornecer um guia para empresas melhorarem o seu processo.

Page 5: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

5

Conceitos sobre maturidade de Processos

Processo de Software: É um conjunto de práticas, métodos,atividades usados para desenvolver software;

Capacidade do processo de software: Descreve o alcance dos resultados esperados que podem ser obtidos com a utilização do processo de software;

Maturidade do processo: é a extensão a qual o processo específico é definido, gerenciado, medido, controlado e efetivo;

Page 6: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

6

Os 5 níveis de Maturidade

Page 7: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

7

Visão geral do CMM

Page 8: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

8

Estrutura

Page 9: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

9

SW-CMM: Estrutura Para cada KPA há metas a serem alcançadas,

que caracterizam o seu conteúdo, escopo e limite.

Metas são usadas para determinar se a organização ou projeto efetivamente implantou a KPA em questão.

Em uma avaliação de conformidade com o CMM, o mais importante é verificar se todas as metas da KPA foram atingidas

Page 10: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

10

Nível 1 – Inicial

O processo é informal e imprevisível, tanto positiva quanto negativamente;

O desempenho é basicamente em função da competência e do heroísmo das pessoas que fazem o trabalho;

Alta qualidade e desempenho excepcional são possíveis, mas dependente das pessoas;

Os maiores problemas são gerenciais e não técnicos;

Page 11: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

11

Nível 1 – Inicial

O processo é uma caixa preta;

Requisitos fluem para dentro do processo; Um produto de software é (normalmente)

através de algum processo; O produto flui para fora do processo e (espera-

se) funciona. O nível 1 não possui KPA`s; Vídeo Ilustrativo do nível 1.

Page 12: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

12

CMM - Nível 2 – Repetível

Sistema de gerenciamento de projeto em vigor; Desempenho é repetido; A necessidade predominante é estabelecer um

gerenciamento de projeto eficaz; Os projetos de desenvolvimento de software são

acompanhados e documentados; Práticas bem definidas e desenvolvidas em

projetos anteriores podem ser repetidas;

Page 13: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

13

CMM Nível 2 – Repetível

O foco deste nível é a melhoria dos processos de gerência de projeto de software. A maior dificuldade encontrada está na mudança cultural e não com a implantação de novos processos;

Sem conseguir comprometer a equipe e a alta direção é praticamente impossível continuar com um processo de implantação de mudanças.

Page 14: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

14

CMM Nível 2 – Repetível

O processo é um conjunto de caixas pretas com pontos de verificação definidos

Page 15: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

15

CMM Nível 2 – Repetível

Possui as seguintes KPA`s:

– Gerência de requisitos;– Planejamento de projeto de software;– Acompanhamento e supervisão do projeto;– Gerência de subcontratação de software;– Garantia da qualidade de software;– Gerência da configuração de software.

Page 16: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

16

CMM Nível 2 – Repetível

Gerência de requisitos: Estabelecer um entendimento comum entre aquilo que o cliente está solicitando e o que será desenvolvido.

Metas:– Documentar e controlar os requisitos do cliente – Planos, produtos e atividades são mantidos de

forma consistente com os requisitos.

Page 17: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

17

CMM Nível 2 – Repetível

Gerência de projeto: Estabelecer planos razoáveis para desenvolver o software.

Metas:– Desenvolver estimativas para o trabalho ser

executado;– Determinar compromissos necessários;– Definir o plano para realizar o trabalho.

Page 18: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

18

CMM Nível 2 – Repetível

Acompanhamento e supervisão do serviço de software: Oferecer a visibilidade adequada para que possam ser tomadas decisões quando necessário.

Metas:– Acompanhar e revisar resultados;– Ajustar os planos com base em resultados.

Page 19: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

19

CMM Nível 2 – Repetível

Garantia da qualidade de software: Oferecer gerenciamento com visibilidade apropriada no processo que está sendo utilizado.

Metas:– Revisões e auditorias no produto de software afim

de ratificar que estão em conformidade com os padrões e procedimentos aplicáveis.

– Fornecer ao gerente do projeto o resultado da auditoria.

Page 20: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

20

CMM Nível 2 – Repetível

Garantia da qualidade de software: Oferecer gerenciamento com visibilidade apropriada no processo que está sendo utilizado.

Metas:– Revisões e auditorias no produto de software afim

de ratificar que estão em conformidade com os padrões e procedimentos aplicáveis.

– Fornecer ao gerente do projeto o resultado da auditoria.

Page 21: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

21

SoftwareCMM

SoftwareCMM

SystemsSecurity

Engineering CMM

SystemsSecurity

Engineering CMM

SystemsEngineering

CMM

SystemsEngineering

CMM

PeopleCMM

PeopleCMM

SECM (EIA 731)

SECM (EIA 731)

Integrated Product

DevelopmentCMM

Integrated Product

DevelopmentCMM

SoftwareAcquisition

CMM

SoftwareAcquisition

CMM

•Diferentes estruturas, formatos, termos, maneiras de medir maturidade

•Causa confusão, especialmente quando mais de um modelo é utilizado

•Difícil de integrar em um único programa de melhoria

Histórico Proliferação de Modelos e Padrões em diversas

áreas

Page 22: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

22

CMMI É um modelo que descreve orientações para a

definição e implantação de processos.

O modelo não descreve processo algum, são orientações definidas através das práticas especificadas.

Page 23: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

23

CMMI: Conceitos Básicos Área de Processo (Process Area – PA): práticas

relacionadas em uma área que, quando executadas de forma coletiva, satisfazem um conjunto de metas consideradas importantes para trazer uma melhoria nessa área.

Metas Específicas: se aplicam a uma PA e tratam de características que descrevem o que deve ser implementado para satisfazer essa PA. São utilizadas nas avaliações para auxiliar a determinar se a PA está sendo satisfeita.

Page 24: Qualidade de Processo de Software CMM e CMMI Aldo Rocha.

24

CMMI: Conceitos Básicos Práticas Específicas: atividades que são

consideradas importantes na satisfação de uma meta específica associada.

Metas Genéricas: aparecem em diversas PAs. Práticas genéricas: oferecem uma

institucionalização que assegura que os processos associados com a PA serão eficientes, repetíveis e duráveis.

Produtos de trabalho típicos: exemplos de saídas de uma prática específica ou genérica.

Sub-práticas: descrições detalhadas que fornecem um direcionamento para a interpretação de práticas específicas ou genéricas.