• Nenhum resultado encontrado

Qualidade de Software Qualidade de Software Qualidade de Software Qualidade de Software

N/A
N/A
Protected

Academic year: 2023

Share "Qualidade de Software Qualidade de Software Qualidade de Software Qualidade de Software"

Copied!
30
0
0

Texto

(1)

Qualidade de Software Qualidade de Software Qualidade de Software Qualidade de Software

CMM CMM

Uma Visão Geral

Uma Visão Geral

(2)

Sumário Sumário Sumário Sumário

O que é o CMM

Os 5 Niveis de Maturidade do CMM

Caracterização Comportamental dos Níveis de Maturidade

As inspirações do CMM

(3)

Qualidade de Software Qualidade de Software

desenvolvedor usuário

organização

Processo de

Desenvolviment o

SOFTWARE PRODUTO

requisitos requisitos atendidos atendidos

PROCESSO DE SOFTWARE

requisitos de requisitos de software produto software produto

SOFTWARE COM QUALIDADE

(4)

Melhoria de Processo de Software Melhoria de Processo de Software Melhoria de Processo de Software Melhoria de Processo de Software

Processo Processo

Avaliação Avaliação

do do Processo Processo

Melhoria Melhoria

do do Processo Processo é é

examinado examinado

pelapela

conduz à conduz à

Estímulo Contexto e Patrocínio

Infra- Estrutura

INICIALIZAÇÃO INICIALIZAÇÃO

11

Abordagem Abordagem

IDEAL IDEAL

Recomen -dações

DIAGNÓSTICO DIAGNÓSTICO

22 Atual e Estado Desejado

DIRETRIZES DIRETRIZES

Abordagem Prioridades

Plano de

3 Ação

3

Teste Piloto Refinamento Implementação

REALIZAÇÃO REALIZAÇÃO

4 4

Soluçã o Analisar/

Validar Ações

futuras

ALAVANCAGEM ALAVANCAGEM

5 5

A abordagem IDEAL descreve as fases, IDEAL atividades e recursos necessários para uma melhoria de processo com sucesso.melhoria

(5)

Estímulo Contexto e Patrocínio

Infra- Estrutura

INICIALIZAÇÃO INICIALIZAÇÃO

1 1

Teste Piloto Refinamento Implementação

REALIZAÇÃO REALIZAÇÃO

44

Solução Analisar/

Validar Ações

futuras

ALAVANCAGEM ALAVANCAGEM

55

Abordagem IDEAL

Recomen- dações

DIAGNÓSTICO DIAGNÓSTICO

22

Estado Atual e Desejado

DIRETRIZES DIRETRIZES

Abordagem Prioridades

Plano de

3 Ação

CMM

3

CMM

(6)

O que é o CMM?

O que é o CMM?

O que é o CMM?

O que é o CMM?

Uma estrutura que descreve os elementos chaves de um elementos chaves processo

processo de software eficaz.eficaz

Um caminho de melhoramento evolucionário (5 níveis melhoramento evolucionário de maturidade) para organizações de software mudarem mudarem de um processo de software imaturo, ad hoc, para um ad hoc

processo maduro, disciplinado.disciplinado.

(7)

CMM CMM CMM - Capability Maturity Model - Capability Maturity Model

CMM - Capability Maturity Model - Capability Maturity Model

Capability Maturity ModelCapability Maturity Model

(Modelo de Maturidade da Competência)

Maturidade da Competência : competência em Maturidade da Competência controlar o Processo de Software

(desenvolvimento, gerenciamento e manutenção).

Maturidade da Competência Maturidade da Competência Maturidade do Maturidade do Processo de Software

Processo de Software

(8)

Maturidade de Processo de Software Maturidade de Processo de Software Maturidade de Processo de Software Maturidade de Processo de Software

A maturidade dos processos de software de uma maturidade dos processos organização influencia na sua capacidade de atingir metas de custo, custo qualidade e qualidade cronogramacronograma

A qualidade do processo de software pode ser qualidade do processo de software

analisada através do nível de maturidade do processo.nível de maturidade do processo

(9)

CMM CMM CMM - Capability Maturity Model - Capability Maturity Model

CMM - Capability Maturity Model - Capability Maturity Model

desenvolvido pela SEI SEI (Instituto de Engenharia de Software) Carnegie Mellon

University, Pittsburgh, PA

SEI

Software Engineering Institute

Missão da SEI: SEI Exercer liderança nos estágios avançados da prática de engenharia de software para melhorar a qualidade de sistemas que dependam de software.

(10)

A Evolução do CMM (a) A Evolução do CMM (a) A Evolução do CMM (a) A Evolução do CMM (a)

1986 - início do desenvolvimento de um modelo de 1986 maturidade de processo, para ajudar as organizações a melhorar seus processos de software (por solicitação do governo federal).

junho 1987 - liberação de breve descrição do junho 1987 modelo de modelo de maturidade

maturidade de processo de software.

setembro 1987 - versão preliminar do setembro 1987 questionário de questionário maturidade

1991 - 11991 a versão do CMM (Versão 1.0)CMM

(11)

A Evolução do CMM (b) A Evolução do CMM (b) A Evolução do CMM (b) A Evolução do CMM (b)

1993 - depois de 5 anos de experiência, o modelo de 1993 maturidade evoluiu para um modelo completamente

definido, usando conhecimento adquirido das avaliações de processo de software e de extensivo retorno das

indústrias e do governo

CMM CMM

fevereiro 1993 - Versão 1.1 do fevereiro 1993 CMM - CMM Capability Capability Maturity Model for Software

Maturity Model for Software (atualmente usada)

(12)

Premissa Básica Premissa Básica Premissa Básica Premissa Básica

Premissa básica que está por baixo do trabalho da Premissa básica SEI SEI sobre maturidade de processo:

A qualidade de um software produto é

profundamente determinada pela qualidade do processo de desenvolvimento e de manutenção

usado para construí-lo.

(13)

Visão Geral do Modelo (a) Visão Geral do Modelo (a) Visão Geral do Modelo (a) Visão Geral do Modelo (a)

SEI desenvolveu um SEI modelo de modelo de 5 níveis que orienta uma 5 níveis organização em como “amadurecer” seus processos de software.

O modelo descreve um caminho evolucionário que vai de caminho um processo indisciplinado para um processo indisciplinado disciplinado.disciplinado

Sem a disciplina descrita no modelo, programas de Sem a disciplina melhoria podem mostrar-se ineficientes porque os ineficientes

fundamentos

fundamentos necessários para apoiar os mnelhoramentos sucessivos não foram estabelecidos.não foram estabelecidos

(14)

Visão Geral do Modelo (b) Visão Geral do Modelo (b) Visão Geral do Modelo (b) Visão Geral do Modelo (b)

Os 5 níveis de maturidade descrevem fundamentos 5 níveis de maturidade sucessivos para melhoria contínua do processo e melhoria contínua do processo

definem uma escala ordinal para escala ordinal medir a maturidade de medir a maturidade processo de uma organização.

As vantagens dos níveis de maturidade é que eles vantagens fornecem prioridades clarasprioridades claras, as quais orientam na

seleção de algumas atividades de melhoramento que atividades de melhoramento serão muito úteis se implementadas imediatamente.úteis

Isso é importante porque a maioria das organizações mportante podem focalizar somente algumas poucas atividades de poucas atividades melhoramento de cada vez.cada vez

(15)

INICIAL

Organizações Caóticas

REPETÍVEL

Organizações Disciplinadas

DEFINIDO

Organizações Padronizadas

GERENCIADO

Organizações Previsíveis

OTIMIZADO

Organizações com Melhoria Contínua

Os 5 Níveis de Os 5 Níveis de

Maturidade do CMM

Maturidade do CMM

(16)

INICIAL

Organizações

CMM:

CMM:

Nível 1 de Maturidade Nível 1 de Maturidade

O processo de software é caracterizado como ad hoc, e ocasionalmente até mesmo caótico.

Poucos processos são definidos e o sucesso depende de esforços individuais e heróicos.

(17)

CMM Nível 1- Inicial

O Gerenciamento de Software é O Gerenciamento de Software é

uma Caixa Preta uma Caixa Preta

In Out

Requisitos fluem para dentro.

Um produto de software é (normalmente) produzido através de algum processo disforme.algum processo disforme

O produto flui para fora e (espera-se) funciona.

(18)

CMM - Nível 1 - Inicial

CMM - Nível 1 - Inicial Organizações Caóticas

Organizações Caóticas

A organização não provê um não ambiente estável para ambiente estável o desenvolvimento e manutenção de software

Cronogramas e Cronogramas orçamentos são frequentemente orçamentos abandonados

abandonados por não serem baseados em estimativas realísticas

Numa crise para cumprir cronograma, crise etapas etapas planejadas do ciclo de vida não são realizadas não são realizadas prejudicando a qualidade do software

(19)

Desempenho basicamente em função da Desempenho

competência e heroísmo das pessoas que fazem o heroísmo trabalho.

O processo de software é processo imprevisível, já que é imprevisível, constantemente alterado no decorrer do projeto

Os maiores problemas com os quais se defrontam as maiores problemas organizações de software são gerenciais e não gerenciais

técnicos.

CMM - Nível 1 - Inicial

CMM - Nível 1 - Inicial Organizações Caóticas

Organizações Caóticas

(20)

REPETÍVEL

Organizações Disciplinadas

CMM:

CMM:

Nível 2 de Maturidade Nível 2 de Maturidade

Processos administrativos

básicos são estabelecidos para acompanhar custo,

cronograma e funcionalidade.

A disciplina de processo está em repetir sucessos anteriores em projetos com aplicações similares.

(21)

In Out

Processo de construção de software é uma série de Processo caixas pretas

caixas pretas com pontos de verificação definidos.pontos de verificação

CMM Nível 2- Repetível

Está em vigor um Sistema de Está em vigor um Sistema de

Gerenciamento de Projeto

Gerenciamento de Projeto

(22)

Caracterizado pela existência de um processo efetivo processo efetivo de planejamento e gerenciamento do projeto de planejamento e gerenciamento do projeto

software onde os controles sobre os procedimentos, compromissos e atividades são bem fundamentados.

Os processos de planejamento e gerenciamento do processos projeto de software devem ser praticados na praticados na

organização

organização, documentados, treinados e controlados.

Neste nível ainda não há preocupação com o processo ainda não há de engenharia de softwareengenharia de software

CMM - Nível 2 - Repetível

CMM - Nível 2 - Repetível Organizações Disciplinadas

Organizações Disciplinadas

(23)

O planejamento e gerenciamento de novos projetos são baseados na experiência obtida com projetos experiência obtida com projetos

similares

similares, que tenham obtido sucesso no passado

Um fator relevante para a organização nesse nível é a dependência das experiências anteriores

dependência das experiências anteriores.

O desenvolvimento de novos tipos de produtos pode novos tipos causar um desequilíbrio no projeto, nas estimativas de desequilíbrio custos e nos cronogramas

CMM - Nível 2 - Repetível

CMM - Nível 2 - Repetível Organizações Disciplinadas

Organizações Disciplinadas

(24)

DEFINIDO

Organizações Padronizadas

Os processos de software, tanto para atividades administrativas quanto para de engenharia

estão documentados,

padronizados e integrados em um processo de software padrão para a organização.

Todos os projetos usam uma versão aprovada do processo de software padrão da organização para desenvolvimento e

CMM:

CMM:

Nível 3 de Maturidade

Nível 3 de Maturidade

(25)

In Out

Funções e responsabilidades no processo são Funções e responsabilidades bem entendidas.entendidas

A produção do produto de software é produção do produto visível visível através do processo de software.

CMM Nível 2- Repetível

Desenvolvimento de software de Desenvolvimento de software de

acordo com um processo bem definido

acordo com um processo bem definido

(26)

Caracterizado principalmente pela existência de um processo de engenharia

processo de engenharia de software bem definido, documentado e padrão para a empresa.padrão

As saídas de uma atividade saídas fluem naturalmente para as fluem entradas

entradas da próxima atividade

Cada projeto de software utiliza o processo padrão da utiliza organização como base para implementar seu próprio base para implementar processo.

CMM - Nível 3 - Definido

CMM - Nível 3 - Definido Organizações Padronizadas

Organizações Padronizadas

(27)

Existe um grupo para processos de software (SEPG) grupo para processos de software responsável por facilitar atividades de definição e

melhoria de processos.

Existe um programa de treinamento que assegura que programa de treinamento todos tenham o conhecimento e a capacidade requerida para desenvolver suas tarefas, utilizando as ferramentas e os métodos disponíveis

Processos que dêem poderes as pessoas para realizarem poderes o trabalho

CMM - Nível 3 - Definido

CMM - Nível 3 - Definido Organizações Padronizadas

Organizações Padronizadas

(28)

GERENCIADO

Organizações Previsíveis

São coletadas medidas

detalhadas da qualidade do processo e do produto.

Tanto o processo de software quanto os produtos são

quantitativamente

compreendidos e controlados.

CMM:

CMM:

Nível 4 de Maturidade

Nível 4 de Maturidade

(29)

In Out

A gerência tem gerência bases objetivas para tomada de bases objetivas decisão.

A gerência é capaz de prever o desempenho prever o desempenho dentro de limites quantificados.

CMM Nível 4- Gerenciado

Produto e processo são gerenciados Produto e processo são gerenciados

quantitativamente

quantitativamente

(30)

Caracterizado pela existência de processos de software processos passíveis de medida

passíveis de medida.

A produtividade e a produtividade qualidade são qualidade medidas em todas medidas as etapas do processo de software e para todos os

projetos da organização.

O controle sobre produtos e processos de todos os controle sobre produtos e processos projetos são adquiridos através da diminuição da

variação do seu desempenho para dentro de limites quantitativos aceitáveis.

CMM - Nível 4 - Gerenciado

CMM - Nível 4 - Gerenciado Organizações Previsíveis

Organizações Previsíveis

(31)

A organização começa a aplicar métricas de controle de aplicar métricas de controle de qualidade

qualidade para aumentar a qualidade e a produtividade do software entregue aos clientes.

À medida que a organização adquire mais conhecimento conhecimento sobre o produto

sobre o produto, tem a oportunidade de remover várias remover fontes de comprometimento

fontes de comprometimento da qualidade final

Isto proporciona a oportunidade de colocar o produto colocar sob um controle estatístico de qualidade.controle estatístico de qualidade

CMM - Nível 4 - Gerenciado

CMM - Nível 4 - Gerenciado Organizações Previsíveis

Organizações Previsíveis

(32)

OTIMIZADO

Organizações com Melhoria Contínua

CMM:

CMM:

Nível 5 de Maturidade Nível 5 de Maturidade

Melhorias contínuas são realizadas no processo, utilizando-se as medidas quantitativas de qualidade do processo e produto, e

também aplicando-se idéias e tecnologias inovadoras.

(33)

In Out

Mudança disciplinada é um meio de vida.Mudança disciplinada

CMM Nível 5- Otimizado

Foco na melhoria contínua do Foco na melhoria contínua do

processo

processo

(34)

Caracterizado pela existência de processos de software processos com contínua melhoria.contínua melhoria

Os processos de software são processos avaliados para avaliados prevenir prevenir tipos de defeitos conhecidos devido à recorrência, e as lições aprendidas são disseminadas para outros projetos.

Tecnologias que proporcionem mais retorno para Tecnologias

processos específicos, utilizados pela organização, são selecionadas para serem introduzidas, de maneira introduzidas,

gerenciável

gerenciável na organização.

CMM - Nível 5 - Otimizado

CMM - Nível 5 - Otimizado Melhoria Contínua

Melhoria Contínua

(35)

Apesar de o processo ser maduro, ele é alvo de contínuas contínuas melhorias

melhorias.

Os grupos de projetistas analisam o rendimento do projeto para determinar as causas dos defeitos.causas dos defeitos

Nesse nível foi atingido um ambiente de excelência em ambiente de excelência engenharia de software

CMM - Nível 5 - Otimizado

CMM - Nível 5 - Otimizado Melhoria Contínua

Melhoria Contínua

(36)

Níveis de maturidade não Níveis de maturidade não

podem ser omitidos podem ser omitidos

Processos dos níveis mais altos de maturidade podem ser realizados até mesmo por organizações do nível 1 (embora talvez ineficazmente).

Competência em processos é construída em Competência estágios, estágios uma vez que alguns processos não são eficazes quando outros não estão estáveis.

Cada nível oferece um nível fundamento necessário para fundamento melhorias a serem implementadas no nível seguinte.

(37)

Sem a disciplina de Sem gerenciamento o processo de gerenciamento engenharia é sacrificado. sacrificado

Medidas detalhadas são inconsistentes sem um processo inconsistentes definido.

O efeito de inovação de processo não é claro em um não é claro processo cheio de ruído.

Níveis de maturidade não Níveis de maturidade não

podem ser omitidos

podem ser omitidos

(38)

capacidade capacidade x x

pessoas, pessoas, tecnologia e tecnologia e

medidas medidas

Inicial (1)

Pobremente controlado e imprevisível

Repetível (2)

Pode repetir tarefas

executadas com sucesso

Definido (3)

Gerenciado (4)

Otimizado (5)

Processo é caracterizado e claramente bem entendido

Processo medido e controlado

Foco na melhoria contínua do processo

CMM:

(39)

CMM: Capacidade x Pessoas CMM: Capacidade x Pessoas CMM: Capacidade x Pessoas CMM: Capacidade x Pessoas

sucesso depende de heróis

individuais

sucesso depende de indivíduos, apoio

administra- tivo

grupos de projeto trabalham juntos

forte senso de trabalho em equipe dentro de cada projeto

forte senso de trabalho em equipe na organização

“apagando incêndio” é o modo de viver

comprometi mentos são compreendi- dos e admi- nistrados

treinamento é planejado e de acordo com os

papéis

todos estão envolvidos na melhoria do processo

relacão entre disciplinas são descordena- das e até adversas

as pessoas são treinadas Nível 1

Nível 1 Nível 2Nível 2 Nível 3Nível 3 Nível 4Nível 4 Nível 5Nível 5

(40)

CMM: Capacidade x Tecnologia CMM: Capacidade x Tecnologia CMM: Capacidade x Tecnologia CMM: Capacidade x Tecnologia

introdução de nova

tecnologia é um risco

tecnologia apoia

atividades estáveis e estabeleci- das

novas

tecnologias são avaliadas em bases

qualitativas

novas

tecnologias são procuradas e desenvolvi- das

Nível 1

Nível 1 Nível 2Nível 2 Nível 3Nível 3 Nível 4Nível 4 Nível 5Nível 5 novas

tecnologias são avaliadas em bases

quantitativas

(41)

CMM: Capacidade x Medidas CMM: Capacidade x Medidas CMM: Capacidade x Medidas CMM: Capacidade x Medidas

coleta de dados e análise são feitas ad hoc

dados de

administração e planejamento usados em projetos individuais

dados são coletados e usados em todo

processo definido

definição e coleta de dados

padroniza- dos na

organização

dados são usados para avaliar e selecionar melhorias de processo

dados são compartilha- dos ao longo do projeto

dados são usados para compreender o processo quan- titativamente e estabilizá-lo Nível 1

Nível 1 Nível 2Nível 2 Nível 3Nível 3 Nível 4Nível 4 Nível 5Nível 5

(42)

As Inspirações do CMM As Inspirações do CMM As Inspirações do CMM As Inspirações do CMM

A estrutura do modelo de maturidade de processo de estrutura software está baseada nos princípios de qualidade de princípios de qualidade de

produto

produto que existem há 60 anos.

1940 - Shewart (AT&T) promulgou os princípios de 1940 controle estatístico de qualidade

controle estatístico de qualidade.

Os princípios de Shewart foram posteriormente desenvolvidos e demonstrados

desenvolvidos e demonstrados com sucesso no trabalho de Deming e Juran.

O trabalho desses pioneiros princípios do

TQM TQM

(Total Quality Management)

(43)

A reação em cadeia de Deming A reação em cadeia de Deming A reação em cadeia de Deming A reação em cadeia de Deming

A qualidade do produto melhora

O custo diminui devido a menos re-trabalho, menos

problemas, menos demora, melhores projetos uso eficiente de recursos e materiais.

A capacidade melhora.

O mercado é conquistado devido a melhores produtos e preços menores

Lucro e mais serviço é conseguido Permanência no negócio

(44)

Adaptação da reação em cadeia de Adaptação da reação em cadeia de

Deming

Deming ao Projeto de Software ao Projeto de Software

Adaptação da reação em cadeia de Adaptação da reação em cadeia de

Deming

Deming ao Projeto de Software ao Projeto de Software

A organização amadurece

O processo de software torna-se melhor definido e mais consistemente

implementado através da organização.

Software com maior qualidade , aumento de produtividade, menos re-trabalho, melhores planos e melhor administração de projeto de software

(45)

Gerenciamento da Qualidade Total Gerenciamento da Qualidade Total Gerenciamento da Qualidade Total Gerenciamento da Qualidade Total

Gerenciamento da Qualidade Total (TQM) é a Gerenciamento da Qualidade Total (TQM aplicação de métodos quantitativos e métodos quantitativos recursos recursos

humanos

humanos para melhorar :melhorar

- o material e serviços fornecidos por uma organização

- todos os processos dentro de uma organização - o nível de atendimento das necessidades do cliente , no presente e no futuro

(46)

Princípios do TQM adaptados no Princípios do TQM adaptados no

Modelo CMM Modelo CMM

Princípios do TQM adaptados no Princípios do TQM adaptados no

Modelo CMM Modelo CMM

O CMM estabelece, durante os CMM estágios iniciais, a estágios iniciais administração do projeto

administração do projeto e os fundamentos de fundamentos de engenharia

engenharia e durante os estágios mais avançados de estágios mais avançados maturidade, o controle quantitativo do processo de controle quantitativo do processo software.

(47)

Aplicando TQM ao Software Aplicando TQM ao Software

CMM CMM TQM TQM

Projeto C Projeto A

hardware

software

Organização

Projeto X

Projeto B

O processo de melhoria se aplica em todo o contexto do processo de melhoria negócio - o CMM se aplica especificamente ao CMM software.software.

(48)

Pontos Comuns no Movimento da Pontos Comuns no Movimento da

Qualidade Qualidade

Pontos Comuns no Movimento da Pontos Comuns no Movimento da

Qualidade Qualidade

Melhoria tem o seu Melhoria foco em ajustar o foco processo e não processo em culpar as pessoas.

Melhoria deve ser Melhoria medida e ter sua implementação medida periodicamente controlada.controlada

Melhoria requer Melhoria constância de constância investimentos, investimentos, recompensas

recompensas e incentivos. incentivos.

Melhoria é um processo Melhoria contínuo.contínuo

Se o nível de desconforto não é suficientemente alto, desconforto as coisas não mudarão.não mudarão

(49)

Motivação para o CMM Motivação para o CMM

Comunicar a visão de:

Comunicar a visão de:

o que significa modelo de maturidade

como ele resulta em melhoria da qualidade

como ele faz a relação entre maturidade de processo e competência (capacitação)

Fornecer fundamento para:

Fornecer fundamento para:

dar suporte à avaliações baseadas no CMM

testar e aperfeiçoar o modelo de maturidade

Referências

Documentos relacionados

Descrevem-se aqui reações cutâneas (dermatite ulcerativa e necrótica) e sistêmicas (anemia, leucocitose e ceratoconjuntivite seca) induzidas pelo uso de trimetoprim- sulfadiazina