Upload
internet
View
114
Download
6
Embed Size (px)
Citation preview
Visão Geral de QualidadeVisão Geral de Qualidade
Década de 90 - Fator Qualidade Necessidade básica na luta pelo mercado
“Não basta vender barato, as novas regras de mercado são orientadas à produção de bens e serviços com qualidade, prazo de entrega determinado, atendimento correto, além de um baixo custo (Werneck 1994). “
Visão Popular de QualidadeVisão Popular de Qualidade
• Qualidade é vista como luxo, classe e questão de gosto.
• Produtos caros, sofisticados e mais complexos são considerados de maior qualidade que produtos similares mais simples
• Qualidade pode ser discutida, sentida e julgada, mas não pode ser medida. controlada, nem gerenciada.
Visão Profissional de Qualidade
• Qualidade está relacionada com os Requisitos designados para o produto.
• As não conformidades aos requisitos são consideradas defeitos, falta de qualidade
• Qualidade pode e deve ser definida, medida, monitorada, gerenciada e melhorada
Visão Profissional de Qualidade
requisitosrequisitos
PROCESSO DE CONSTRUÇÃO
PRODUTOusuário requisitosrequisitos
atendidosatendidos
PRODUTO COM QUALIDADE
Qualidade no Software
• Demanda da vida moderna - os computadores passam a integrar a rotina diária
• Produção de software vem tendo um aumento constante
• Exigência por qualidade estende-se à área de software
usuário
Facilidade de Uso, Desempenho, Confiabilidade dos Resultados, Preço do Software, etc.
desenvolvedor
Taxa de defeitos, Facilidade de Manutenção e Conformidade em relação aos Requisitos de Usuários, etc
organização
Cumprimento de Prazo, Boa Previsão de Custo, Boa Produtividade
Visões de Qualidade de Software
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Ele faz aquilo que eu quero?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Ele se comporta com precisão o tempo todo?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Posso consertá-lo?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Posso mudá-lo ?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Posso testá-lo?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Ele rodará no meu hardware tão bem quanto possível ?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Ele é seguro?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Ele foi projetado para o usuário?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Poderei usá-lo em outra máquina?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Poderei reutilizá-lo em outra máquina?
usuário
desenvolvedorAdaptabilidade a Novos Ambientes
Habilidade de ser Alterado
Características Operacionais
CorretitudeConfiabilidade
ManutenibilidadeFlexibilidadeTestabilidade
EficiênciaIntegridadeUsabilidadePortabilidadeReusabilidadeInteroperabilidade
Requisitos do Software Produto
Poderei compor uma interface com outro sistema?
Qualidade de Software Produto
desenvolvedor
usuáriorequisitos de requisitos de software produtosoftware produto
Processo de Desenvolvimento de Software
SOFTWARE PRODUTO
requisitosrequisitosatendidosatendidos
SOFTWARE PRODUTO COM QUALIDADE
DEFINIÇÃODEFINIÇÃO
Análise de Sistema Planejamento Análise de Requisitos
CONSTRUÇÃOCONSTRUÇÃO
Projeto Codificação
Teste
MANUTENÇÃOMANUTENÇÃO
Entendimento Modificação
Revalidação
Processo de Desenvolvimento de Software
Requisitos Organizacionais
REQUISITOS DE SOFTWARE PRODUTO
CUMPRIMENTO DE PRAZO, BOA PREVISÃO DE CUSTO,
BOA PRODUTIVIDADE Ferramentas
Métodos
PessoasPolíticasResponsabilidades
Gerência Eficaz Controle das Atividades
Processo de Software
Processode
Desenvolvimento
Procedimentos e métodos que definem o relacionamento de tarefas.
A
C
B
D
Pessoas com habilidades,treinamento e motivação
Ferramentas e Equipamentos
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.
Gerenciamento de Processo de Software
Processo de Desenvolvimento de Software
requisitos organizacionais
Controle das AtividadesGerência Eficaz
Processo de Software muito bem Definido
requisitos de software
produto
• Uma das Uma das maiores dificuldadesmaiores dificuldades encontradas pelas empresas de encontradas pelas empresas de software é o software é o gerenciamentogerenciamento de seus de seus processos de softwareprocessos de software
Modelos de Processo de Software
Processo de Software
Modelos de Processo de Software
• 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
• É importante escolher um modelo apropriado às metas da organização e saber o grau em que esse modelo será implementado
• Modelos CMM e SPICE incluem modelos de processo de software
Benefícios de uma melhoria baseada em um modelo
• Estabelece uma linguagem comum.
• Constrói um conjunto de processos e procedimentos desenvolvidos com sugestões de uma ampla participação da comunidade de software.
• Oferece uma estrutura para se priorizar as ações
• Auxilia comparações em diversas indústrias.
Riscos de uma melhoria baseada em um modelo
• Modelos são simplificações do mundo real.• Modelos não são suficientemente
abrangentes.• Interpretação e adaptação à situações
particulares devem estar ajustadas aos objetivos do negócio.
• É necessário bom senso para se utilizar modelos corretamente e com visão.
• A qualidade do processo de software pode ser analisada através 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
Qualidade de Processo de Software X Maturidade de Processo de Software
Um Processo de Software Imaturo
• 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.
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.
• Qualidade difícil de se prever.
Organizações com Processo de Software Imaturo
• o fogo está sob controle, mas estão quase sempre “apagando incêndios”
• constantemente reagindo (e não agindo pró-ativamente) - não há tempo para melhoria
• os “ bombeiros” se queimam• as cinzas podem voltar a se incendiar
mais tarde
Um Processo de Software Maduro
• CoerenteCoerente com as linhas de ação, o com as linhas de ação, o trabalho é efetivamente concluído.trabalho é efetivamente concluído.
• Definido, documentado e Definido, documentado e melhorando constantemente:melhorando constantemente:– compreendidocompreendido– utilizadoutilizado– vivo e ativovivo e ativo
Um Processo de Software Maduro
• Tem o Tem o apoioapoio visível da visível da alta administraçãoalta administração e outras gerências.e outras gerências.
• Bem controladoBem controlado - fidelidade ao processo - fidelidade ao processo é objeto de auditoria e de controleé objeto de auditoria e de controle
• São utilizadas São utilizadas mediçõesmedições do do produtoproduto e do e do processoprocesso..
• Uso Uso disciplinado disciplinado da tecnologia.da tecnologia.
Processo Institucionalizado
• Existe uma infra-estrutura infra-estrutura que possui processos eficazes, utilizáveis e consistentemente aplicados em toda organização.
• Processos institucionalizados permanecempermanecem, mesmo depois que as pessoas que originalmente os definiram, deixam a organização.
• A cultura organizacionalcultura organizacional transmite o processo.
“Essa é a maneira como fazemos as coisas aqui.”
Edificação da Cultura Organizacional
CULTURA ORGANIZACIONAL“Esta é a maneira que fazemos as coisas por aqui .”
PressãoExterna:
• necessidades dos usuários• mudança de tecnologia• competição
Institucionalizaçãoe Infra-estrutura:• políticas• padrões• procedimentos• treinamento• supervisão• revisões/auditorias
Fatoresinternos:
• defensores• patrocinadores• competência• experiência• talento• ferramentas
Valor da Melhoria de Processo
• A melhoria do processo de software oferece um retorno no investimento que pode ser medido - quando é medido.
• O retorno típico no investimento está entre 5:1 e 8:1.
• Benefícios adicionais são intangíveis e não podem ser quantificados facilmente.
• O CMM é uma ferramenta útil para orientação no processo de melhoria.
Pontos Comuns no Movimento da Qualidade
• Melhoria tem o seu foco em ajustar o processo e não em culpar as pessoas.
• Melhoria deve ser medida e ter sua implementação periodicamente controlada.
• Melhoria requer constância de investimentos, recompensas e incentivos.
• Melhoria é um processo contínuo.• Se o nível de desconforto não é
suficientemente alto, as coisas não mudarão.
Modelos de Melhoria de Qualidade de Processo
• CMMCMM
• BOOTSTRAPBOOTSTRAP
• SPICESPICE
• ISOISO
• PSPPSP
Melhoria de Processo de Software
ProcessoProcesso
Avaliação Avaliação do do
ProcessoProcesso
Melhoria Melhoria do do
ProcessoProcesso
éé examinadoexaminado
pelapela
conduzconduz àà
Estímulo Contexto e Patrocínio
Infra-Estrutura
INICIALIZAÇÃOINICIALIZAÇÃO
11
Abordagem Abordagem IDEALIDEAL
Recomen-dações
DIAGNÓSTICODIAGNÓSTICO
22Estado Atual e
Desejado
DIRETRIZESDIRETRIZESAbordagem
Prioridades
Plano de Ação33
Teste Piloto
Refinamento
Implementação
REALIZAÇÃOREALIZAÇÃO
44
Solução
Analisar/ Validar
Ações futuras
ALAVANCAGEMALAVANCAGEM
55
A abordagem IDEALIDEAL descreve as fases, atividades e recursos necessários para uma melhoriamelhoria de processo com sucesso.
Estímulo Contexto e Patrocínio
Infra-Estrutura
INICIALIZAÇÃOINICIALIZAÇÃO11
Teste Piloto
Refinamento
Implementação
REALIZAÇÃOREALIZAÇÃO
44
Solução
Analisar/ Validar
Ações futuras
ALAVANCAGEMALAVANCAGEM
55
Abordagem IDEAL
Recomen-dações
DIAGNÓSTICODIAGNÓSTICO22
Estado Atual e
Desejado
DIRETRIZESDIRETRIZESAbordagem
Prioridades
Plano de Ação33
CMMCMM
O que é o CMM?
• Uma estrutura que descreve os elementoselementos chaveschaves de um processoprocesso de software eficazeficaz.
• Um caminho de melhoramentomelhoramento evolucionárioevolucionário (5 níveis de maturidade) para organizações de software mudaremmudarem de um processo de software imaturo, adad hochoc, para um processo maduro, disciplinadodisciplinado..
CMM - Capability Maturity Model
• Capability Maturity ModelCapability Maturity Model (Modelo de Maturidade da Competência)
• Maturidade da CompetênciaMaturidade da Competência : competência em controlar o Processo de Software (desenvolvimento, gerenciamento e manutenção).
• Maturidade da CompetênciaMaturidade da Competência Maturidade do Processo de SoftwareMaturidade do Processo de Software
Maturidade de Processo de Software
• A maturidade dos processosmaturidade dos processos de software de uma organização influencia na sua capacidade de atingir metas de custocusto, qualidadequalidade e cronogramacronograma
• A qualidade do processo de softwarequalidade do processo de software pode ser analisada através do nível de nível de maturidade do processomaturidade do processo.
CMM - Capability Maturity Model
desenvolvido pela SEISEI (Instituto de Engenharia de Software) Carnegie Mellon University, Pittsburgh, PA
SEI
Software Engineering Institute
Missão da SEISEI: 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.
A Evolução do CMM (a)
• 19861986 - início do desenvolvimento de um modelo de maturidade de processo, para ajudar as organizações a melhorar seus processos de software (por solicitação do governo federal)
• junho 1987junho 1987 - liberação de breve descrição do modelo de maturidademodelo de maturidade de processo de software
• setembro 1987setembro 1987 - versão preliminar do questionárioquestionário de maturidade
• 19911991 - 1a versão do CMMCMM (Versão 1.0)
A Evolução do CMM (b)
• 19931993 - depois de 5 anos de experiência, o modelo de 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 CMMCMM
• fevereiro 1993fevereiro 1993 - Versão 1.1 do CMMCMM - CapabilityCapability MaturityMaturity ModelModel forfor SoftwareSoftware (atualmente usada)
Premissa Básica
• Premissa básicaPremissa básica que está por trás do trabalho da SEISEI 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.
Visão Geral do Modelo (a)
• SEISEI desenvolveu um modelo demodelo de 5 níveis5 níveis que orienta uma organização em como “amadurecer” seus processos de software.
• O modelo descreve um caminhocaminho evolucionário que vai de um processo indisciplinadoindisciplinado para um processo disciplinadodisciplinado.
• Sem a disciplinaSem a disciplina descrita no modelo, programas de melhoria podem mostrar-se ineficientesineficientes porque os fundamentosfundamentos necessários para apoiar os melhoramentos sucessivos não foramnão foram estabelecidosestabelecidos.
Visão Geral do Modelo (b)
• Os 5 níveis de maturidade5 níveis de maturidade descrevem fundamentos
sucessivos para melhoria contínua do processomelhoria contínua do processo e
definem uma escala ordinalescala ordinal para medir a maturidademedir a maturidade de
processo de uma organização.
• As vantagensvantagens dos níveis de maturidade é que eles
fornecem prioridades clarasprioridades claras, as quais orientam na seleção
de algumas atividades de melhoramentoatividades de melhoramento que serão muito
úteisúteis se implementadas imediatamente.
• Isso é importantemportante porque a maioria das organizações
podem focalizar somente algumas poucas atividadespoucas atividades de
melhoramento de cada vezcada vez.
Os 5 Níveis de Maturidade do CMM
INICIAL
Organizações Caóticas
REPETÍVEL
Organizações Disciplinadas
DEFINIDO
Organizações Padronizadas
GERENCIADO
Organizações Previsíveis
OTIMIZADOOrganizações com Melhoria Contínua
CMM: CMM: Nível 1 de MaturidadeNível 1 de Maturidade
INICIAL
Organizações Caóticas
• 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.
CMM Nível 1 -CMM Nível 1 - O Gerenciamento de O Gerenciamento de Software é uma Caixa PretaSoftware é uma Caixa Preta
In Out
Requisitos fluem para dentro. Um produto de software é (normalmente)
produzido através de algum processo algum processo disformedisforme.
O produto flui para fora e (espera-se) funciona.
CMM - Nível 1 - InicialCMM - Nível 1 - Inicial Organizações CaóticasOrganizações Caóticas
A organização nãonão provê um ambiente estávelambiente estável para o desenvolvimento e manutenção de software
CronogramasCronogramas e orçamentosorçamentos são frequentemente abandonadosabandonados por não serem beseados em estimativas realísticas
Numa crisecrise para cumprir cronograma, etapasetapas planejadas do ciclo de vida não são realizadasnão são realizadas prejudicando a qualidade do software
CMM - Nível 1 - InicialCMM - Nível 1 - Inicial Organizações CaóticasOrganizações Caóticas
• DesempenhoDesempenho basicamente em função da competência e heroísmoheroísmo das pessoas que fazem o trabalho.
• O processoprocesso de software é imprevisívelimprevisível,, já que é constantemente alterado no decorrer do projeto
• Os maioresmaiores problemasproblemas com os quais se defrontam as organizações de software são gerenciaisgerenciais e não técnicos.
CMM: CMM: Nível 2 de MaturidadeNível 2 de Maturidade
REPETÍVEL
Organizações Disciplinadas
• 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.
CMM Nível 2- Está em vigor um Sistema Está em vigor um Sistema de Gerenciamento de Projetode Gerenciamento de Projeto
In Out
ProcessoProcesso de construção de software é uma série de caixas pretascaixas pretas com pontos de pontos de verificaçãoverificação definidos.
CMM - Nível 2 - RepetívelCMM - Nível 2 - Repetível Organizações DisciplinadasOrganizações Disciplinadas
• Caracterizado pela existência de um processoprocesso efetivoefetivo de planejamento e gerenciamento do planejamento e gerenciamento do projetoprojeto de software onde os controles sobre os procedimentos, compromissos e atividades são bem fundamentados.
• Os processosprocessos de planejamento e gerenciamento do projeto de software devem ser praticadospraticados nana organizaçãoorganização, documentados, treinados e controlados.
• Neste nível ainda não háainda não há preocupação com o processo de engenharia de softwareengenharia de software
CMM - Nível 2 - RepetívelCMM - Nível 2 - Repetível Organizações DisciplinadasOrganizações Disciplinadas
O planejamento e gerenciamento de novos projetos são baseados na experiência obtida experiência obtida com projetos similarescom projetos similares, que tenham obtido sucesso no passado
Um fator relevante para a organização nesse nível é a dependência das experiências dependência das experiências anterioresanteriores.
O desenvolvimento de novos tiposnovos tipos de produtos pode causar um desequilíbriodesequilíbrio no projeto, nas estimativas de custos e nos cronogramas
CMM: CMM: Nível 3 de MaturidadeNível 3 de Maturidade
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 manutenção de software.
CMM Nível 3- Desenvolvimento de software Desenvolvimento de software de acordo com um processo bem definidode acordo com um processo bem definido
In Out
Funções e responsabilidadesFunções e responsabilidades no processo são bem entendidasentendidas.
A produção do produtoprodução do produto de software é visívelvisível através do processo de software.
CMM - Nível 3 - DefinidoCMM - Nível 3 - Definido Organizações PadronizadasOrganizações Padronizadas
Caracterizado principalmente pela existência de um processo de engenhariaprocesso de engenharia de software bem definido, documentado e padrãopadrão para a empresa.
As saídassaídas de uma atividade fluemfluem naturalmente para as entradasentradas da próxima atividade
Cada projeto de software utilizautiliza o processo padrão da organização como base para base para implementarimplementar seu próprio processo.
CMM - Nível 3 - DefinidoCMM - Nível 3 - Definido Organizações PadronizadasOrganizações Padronizadas
Existe um grupo para processos de softwaregrupo para processos de software (SEPG) responsável por facilitar atividades de definição e melhoria de processos.
Existe um programa de treinamentoprograma de treinamento que assegura que 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 poderespoderes as pessoas para realizarem o trabalho
CMM: CMM: Nível 4 de MaturidadeNível 4 de Maturidade
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 Nível 4- Produto e processo são Produto e processo são gerenciados quantitativamentegerenciados quantitativamente
In Out
A gerênciagerência tem bases objetivasbases objetivas para tomada de decisão.
A gerência é capaz de prever o prever o desempenhodesempenho dentro de limites quantificados.
CMM - Nível 4 - GerenciadoCMM - Nível 4 - Gerenciado Organizações PrevisíveisOrganizações Previsíveis
Caracterizado pela existência de processosprocessos de software passíveis de medidapassíveis de medida.
A produtividadeprodutividade e a qualidadequalidade são medidasmedidas em todas as etapas do processo de software e para todos os projetos da organização.
O controle sobre produtos e processoscontrole sobre produtos e processos de todos os 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íveisOrganizações Previsíveis
A organização começa a aplicaraplicar métricas de métricas de controle de qualidadecontrole de qualidade para aumentar a qualidade e a produtividade do software entregue aos clientes.
À medida que a organização adquire mais conhecimento sobre o produtoconhecimento sobre o produto, tem a oportunidade de removerremover várias fontes de fontes de comprometimentocomprometimento da qualidade final
Isto proporciona a oportunidade de colocarcolocar o produto sob um controle estatístico de controle estatístico de qualidadequalidade.
CMM: CMM: Nível 5 de MaturidadeNível 5 de Maturidade
OTIMIZADOOrganizações com Melhoria Contínua• Contínua melhoria de
processo é possível por retornos quantitativos dos processos e das idéias e tecnologias inovativadoras
CMM Nível 5- Foco na melhoria contínua Foco na melhoria contínua do processodo processo
In Out
Mudança disciplinadaMudança disciplinada é um meio de vida.
CMM - Nível 5 - OtimizadoCMM - Nível 5 - Otimizado Melhoria ContínuaMelhoria Contínua
Caracterizado pela existência de processosprocessos de software com contínua melhoriacontínua melhoria.
Os processosprocessos de software são avaliadosavaliados para prevenirprevenir tipos de defeitos conhecidos devido à recorrência, e as lições aprendidas são disseminadas para outros projetos.
TecnologiasTecnologias que proporcionem mais retorno para processos específicos, utilizados pela organização, são selecionadas para serem introduzidasintroduzidas,, de maneira gerenciávelgerenciável na organização.
CMM - Nível 5 - OtimizadoCMM - Nível 5 - Otimizado Melhoria ContínuaMelhoria Contínua
Apesar de o processo ser maduro, ele é alvo de contínuas melhoriascontínuas melhorias.
Os grupos de projetistas analisam o rendimento do projeto para determinar as causas dos causas dos defeitosdefeitos.
Nesse nível foi atingido um ambiente de ambiente de excelênciaexcelência em engenharia de software
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.
Mudança de Nível de Maturidade
INICIAL
Organizações Caóticas
REPETÍVEL
Organizações Disciplinadas
“Atividades de gerenciamento do projeto são estabelecidas para rastrear custo, prazos e funcionalidade”
inicial => repetível
KPAs
6- Gerenciamento da Configuração de Software 5- Garantia da Qualidade de Software 4- Gerenciamento de Subcontrato de Software 3- Acompanhamento de Projeto de Software 2- Planejamento de Projeto de Software1- Gerenciamento de Requisitos
Exemplo: Áreas-chave de Processo
Inicial Repetível Definido Gerenciado Otimizado
CMM
6 7 2 3
TOTAL18 Áreas-chave de Processo
GCS GQSGSS
APSPPS
GRatividades
Níveis de maturidade não Níveis de maturidade não podem ser omitidospodem 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ênciaCompetência em processos é construída em estágiosestágios, uma vez que alguns processos não são eficazes quando outros não estão estáveis.
Cada nívelnível oferece um fundamentofundamento necessário para melhorias a serem implementadas no nível seguinte.
Níveis de maturidade não Níveis de maturidade não podem ser omitidospodem ser omitidos
SemSem a disciplina de gerenciamentogerenciamento o processo de engenharia é sacrificadosacrificado.
Medidas detalhadas são inconsistentesinconsistentes sem um processo definido.
O efeito de inovação de processo não é claronão é claro em um processo cheio de ruído.
As Inspirações do CMM
• A estruturaestrutura do modelo de maturidade de processo de software está baseada nos princípios de princípios de qualidade de produtoqualidade de produto que existem há 60 anos.
• 19301930 - Shewart (AT&T) promulgou os princípios de controle estatístico de qualidadecontrole estatístico de qualidade.
• Os princípios de Shewart foram posteriormente desenvolvidos e demonstradosdesenvolvidos e demonstrados com sucesso no trabalho de Deming e Juran.
O trabalho desses pioneiros princípios do TQMTQM (Total Quality Management)
Gerenciamento da Qualidade Total
• Gerenciamento da Qualidade TotalGerenciamento da Qualidade Total (TQM(TQM) é a aplicação de métodos quantitativosmétodos quantitativos e recursosrecursos humanoshumanos para melhorarmelhorar :
- 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
Princípios do TQM adaptados no Modelo CMM
• O CMMCMM estabelece, durante os estágios estágios iniciaisiniciais, a administração do projetoadministração do projeto e os fundamentos de engenhariafundamentos de engenharia e durante os estágios mais avançadosestágios mais avançados de maturidade, o controle quantitativo do controle quantitativo do processoprocesso de software.
Aplicando TQM ao SoftwareAplicando TQM ao Software
CMMCMM
TQMTQMProjeto CProjeto A
hardware
software
Organização
Projeto X
Projeto B
O processo de melhoriaprocesso de melhoria se aplica em todo o contexto do negócio - o CMMCMM se aplica
especificamente ao softwaresoftware..