Capítulo ... - CMM- Capability Maturity Model

19
Capítulo ... - CMM- Capability Maturity Model Auditoria de Sistemas Computacionais Professora Jaciara S. Carosia

description

Capítulo ... - CMM- Capability Maturity Model. Auditoria de Sistemas Computacionais Professora Jaciara S. Carosia. Qualidade de Software. Importância do software + crescentes exigências dos usuários: tem-se verificado um notável aumento nos interesses pela qualidade do software. - PowerPoint PPT Presentation

Transcript of Capítulo ... - CMM- Capability Maturity Model

Page 1: Capítulo ...  - CMM-  Capability Maturity Model

Capítulo ... - CMM-

Capability Maturity Model

Auditoria de Sistemas ComputacionaisProfessora Jaciara S. Carosia

Page 2: Capítulo ...  - CMM-  Capability Maturity Model

Importância do software + crescentes exigências dos usuários:◦ tem-se verificado um notável aumento nos interesses pela qualidade do

software.

Qualidade do produto de software é um objetivo do processo de desenvolvimento.

Ao desenvolver-se um produto, deve-se ter previamente estabelecidas, as características de qualidade que se deseja alcançar. ◦ Qualidade????

Se o processo de desenvolvimento de software considerar as características de qualidade, há uma grande tendência de que o produto final apresente tais características.

Qualidade de Software

Page 3: Capítulo ...  - CMM-  Capability Maturity Model

Processo de software: um conjunto de ferramentas, métodos e práticas usadas para produzir software.

“O processo de software é representado por um conjunto seqüencial de atividades, objetivos, transformações e eventos que encapsulam estratégias para cumprimento da evolução de software” (Pressman).

As falhas nos processos de desenvolvimento de software foram reconhecidas como inibidoras principais no crescimento da

qualidade e produtividade (Lamprech).

Justificativa: Um processo de software bem definido e documentado, utilizado para integrar pessoas, tarefas, ferramentas e métodos, pode prover uma base essencial para garantir a qualidade do produto final.

Qualidade de Processo

Page 4: Capítulo ...  - CMM-  Capability Maturity Model

Entre os modelos disponíveis os que mais se destacam são: ◦ Norma ISO/IEC 12207 (Processos de Ciclo de Vida de

Software). ◦ Norma ISO/IEC 15504. ◦ CMM (Capability Maturity Model) ◦ CMMI (Capability Maturity Model Integration).◦ MPS.BR (Melhoria do Processo de Software Brasileiro)

Normas de Qualidade de Processo

Page 5: Capítulo ...  - CMM-  Capability Maturity Model

Origem:◦ SW-CMM (CMM para Software)◦ Proposto por Watts S. Humphey (1991).◦ Criado por SEI (Software Engineering Institute) ligado a

Carnegie-Mellon University.◦ Financiado pelo DoD: avaliar empresas fornecedoras de

software.

Premissa: a qualidade de um sistema de software é fortemente influenciado pela qualidade do processo utilizado para desenvolvê-lo e mantê-lo.

Histórico:◦ 1987: Ambiente de Maturidade e um questionário◦ 1991: CMM v1.0 ou SW-CMM◦ 1993: CMM v1.1◦ 1997: CMM v2.0

SW-CMM

Page 6: Capítulo ...  - CMM-  Capability Maturity Model

Processo (IEEE): seqüência de passos para atingir um objetivo.

Processo de Software (CMM): conjunto de atividades, métodos, práticas e transformações usadas para desenvolver e manter o software.

Capacidade do processo de SW: conjunto de resultados esperados que pode ser atingido seguindo o processo estabelecido.

Maturidade do processo de SW: processo é definido, documentado, gerenciado, medido, controlado e efetivo.◦ Imaturas: Não há metodologia implementada e tudo ocorre de forma desorganizada.◦ Maduras: Capacidade de produzir softwares com qualidade em prazos e custos previsíveis.

Em resumo, a maturidade do processo pode ser traduzida como a possibilidade de entregar sistemas de software dentro dos prazos, utilizando os mesmos recursos, planejando e atendendo requisitos e qualidade desejados.

Maturidade (eficiência) mede o potencial de crescimento da capacidade (eficácia).

Conceitos

Page 7: Capítulo ...  - CMM-  Capability Maturity Model

“O CMM baseia-se em um processo gradual, que leva as organizações a se aprimorarem continuamente, na busca

de soluções próprias para os problemas existentes no desenvolvimento do software”.

Características

Page 8: Capítulo ...  - CMM-  Capability Maturity Model

Níveis do CMM

1

2

3

4

5

Inicial: Imprevisível e pobremente controlado.

Repetível: Repete as tarefas de sucesso.

Definido: Processo padronizado, bem definido.

Gerenciado: Processo medido e controlado.

Otimizado: Foco na melhoria contínua.

Page 9: Capítulo ...  - CMM-  Capability Maturity Model

KPA’s - Key Process Areas.

Para que uma organização atinja um nível de maturidade, ela deve cumprir TODAS as KPAs deste nível (e dos níveis anteriores).

Cada nível depende dos níveis anteriores.

As KPAs definem o que e não como fazer: o modelo precisa ser estudado, compreendido e adaptado as necessidades de cada empresa.

Áreas Chaves de Processo

Page 10: Capítulo ...  - CMM-  Capability Maturity Model

Características: A organização é carente de práticas de gerenciamento. Não há planejamento suficiente. Há dificuldades elevadas em prever custos, programação,

funcionalidade e outros objetivos de qualidade. Durante uma crise, ocorrem procedimentos de abandono de projetos. Os sucessos dependem de esforços individuais e heróicos.

Não possui KPAs: todas as empresas que buscam melhoria de processo estão no nível 1, os que nem buscam, estão no nível 0 (zero)

Nível 1 - Inicial

Page 11: Capítulo ...  - CMM-  Capability Maturity Model

Características: ◦ A organização apresenta uma disciplina no desenvolvimento de software

– o processo não é mais caótico.◦ Estabelecem-se políticas de gerenciamento de projetos com relação a

custos, programação e qualidade do produto. ◦ O planejamento do projeto é estável e sucessos anteriores podem ser

repetidos para projetos com aplicações semelhantes. ◦ Os problemas são percebidos e corrigidos conforme surgem.◦ O sucesso depende das pessoas, com o suporte do sistema de

gerenciamento.

KPAs Nível 2 - Repetível◦ Gerenciamento de Requisitos.

◦ Planejamento de Projeto de Software.◦ Visão Geral e Acompanhamento do Projeto.

◦ Gerenciamento de Subcontratos.◦ Garantia da Qualidade de Software.

◦ Gerenciamento de Configuração.

Nível 2 - Repetível

Page 12: Capítulo ...  - CMM-  Capability Maturity Model

Características:◦ Há definição e padronização do processo de software da organização.◦ As atividades de engenharia de software e gerenciamento são estáveis

e repetitivas. ◦ Custos, cronogramas e funcionalidades são controladas e a qualidade é

acompanhada.◦ Há um grupo responsável pelo estabelecimento dos padrões e

multiplicação do conhecimento. ◦ Os problemas são antecipados, prevenidos ou minimizados.◦ O treinamento é planejado.

KPAs Nível 3 - Definido Foco do Processo Organizacional.

Definição do Processo Organizacional. Programa de Treinamento.

Gerenciamento Integrado de Software. Engenharia de Produto de Software.

Coordenação Intergrupos. Revisão Conjunta.

Nível 3 - Definido

Page 13: Capítulo ...  - CMM-  Capability Maturity Model

Características: ◦ Existem mecanismos para definir quantitativamente objetivos de

qualidade para o processo de software e para o produto.◦ Há medição constantemente da produtividade e da qualidade.◦ A capacidade do processo é previsível e variações na produtividade

podem ser medidos. ◦ Quando alguma circunstância excepcional ocorre, as causas podem ser

identificadas e combatidas.◦ A qualidade é alta.◦ Fontes de problemas individuais são percebidas e eliminadas.

KPAs Nível 4 - Gerenciado◦ Gerenciamento Quantitativo dos Processos.◦ Gerenciamento da Qualidade de Software.

Nível 4 - Gerenciado

Page 14: Capítulo ...  - CMM-  Capability Maturity Model

Características:◦ A capacidade do processo de software é continuamente melhorada. ◦ Dados de avaliações estatísticas são usados para análise de

custo/benefício e mudanças de processo. ◦ A equipe do projeto avalia os defeitos e determinam suas causas, para

evitar que defeitos conhecidos ocorram novamente. ◦ Novas tecnologias e processos de software são constantemente

avaliados, e quando relevantes, transferidos à organização, através de planejamento e gerenciamento.

◦ Um forte sentido de equipe existe em toda a organização

KPAs Nível 5 - Otimizado◦ Prevenção de Defeitos.

◦ Gerenciamento de Mudanças Tecnológicas.◦ Gerenciamento de Mudanças no Processo.

Nível 5 - Otimizado

Page 15: Capítulo ...  - CMM-  Capability Maturity Model

Implementação do CMM

Análise da situação

(Avaliação)

Comparação com o

nível desejado

Planejamento de ações corretivas

Execução destas ações

Page 16: Capítulo ...  - CMM-  Capability Maturity Model

Conhecimento e uso de modelos para melhoria do processo de software.

Fonte: PBQP-SW – Programa Brasileiro de Qualidade e Produtividade em Software.

Disponível em: 2001 http://www.mct.gov.br/index.php/content/view/4919.html

CMM: método mais conhecido e usado. Embora não seja uma norma por uma instituição internacional (como ISO e

IEEE), esta norma tem tido uma grande aceitação mundial (Rezende, 2002).

Aceitação do CMM

Page 17: Capítulo ...  - CMM-  Capability Maturity Model

Foi criado para atender a grandes empresas.

Processo de Certificação Formal◦ Realizada por auditores certificados (Lead Assessors).◦ Não existem entidades certificadoras, apenas pessoas físicas.

Melhorias sem certificação◦ Documentação totalmente disponível no site do Software

Engineering Institute. www.sei.cmu.edu

◦ Iniciativa do CPqD (tradução do modelo). www.cpqd.com.br

Processo de Certificação Formal

CMM

Page 18: Capítulo ...  - CMM-  Capability Maturity Model

Surgem novos modelos baseados no CMM:◦ AS-CMM (Aquisição de Software), ◦ SE-CMM (Engenharia de Sistemas), ◦ IPD-CMM (Desenvolvimento de Produto Integrado) e ◦ P-CMM (Pessoas).

Surge ISO 15504.

Evolução do CMM

Bases para a criação do

CMMI

Page 19: Capítulo ...  - CMM-  Capability Maturity Model

PAULK, M. C.; CURTIS, B; CHISSIS, M, e WEBER, C. V. Capability Maturity Model (Versão 1.1) (CMU/SEI-93-TR-24, ADA 263403) Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University, Fevereiro 1993.

PAULK, M. C.; CURTIS, B; CHISSIS, M, e WEBER, C. V. A Preview of the Software CMM Versão 2, Pa.: Software Engineering Institute, Carnegie Mellon University [1996].

REZENDE, D. Engenharia de Software e Sistemas de Informação. Rio de Janeiro: Brasport, 2002.

“Começar é o passo mais importante e mais difícil de qualquer trabalho”

(Frank Herbert)

Bibliografia