Capítulo ... - CMM- Capability Maturity Model
-
Upload
ria-phelps -
Category
Documents
-
view
16 -
download
0
description
Transcript of Capítulo ... - CMM- Capability Maturity Model
Capítulo ... - CMM-
Capability Maturity Model
Auditoria de Sistemas ComputacionaisProfessora Jaciara S. Carosia
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
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
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
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
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
“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
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.
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
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
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
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
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
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
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
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
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
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
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