QUALIDADE DE SOFTWARE AULA N.7 Curso: SISTEMAS DE INFORMAÇÃO Disciplina: Qualidade de Software Profa. : Kátia Lopes Silva 1 CMM: DEFINIÇÃO Capability Maturity Model Um modelo que descreve como as práticas de engenharia de software evoluem sob certas condições: o trabalho realizado é organizado e visto como um processo a evolução do processo é sistematicamente gerenciada 2
CMM: Descrição Versão atual 1.1 SEI Software Engineering Institute da Carnegie Mellon University CMM e CMMI tem como sponsor o Departamento de Defesa dos EUA 3 CMM: Níveis de maturidade 1 Inicial: Processo imprevisível e sem controle 2 Repetível: Processo disciplinado 3 Definido: Processo consistente e padronizado 4 Gerenciado: Processo previsível e controlado 5 Otimização: Processo aperfeiçoado continuamente 4
Áreas-chave de processo ( key Process Areas ou KPAs ) Exceto no nível 1, todos os níveis são detalhados em áreas-chave de processo. Estas áreas são exatamente aquilo no que a organização deve focar para melhorar o seu processo de desenvolvimento de software. 5 CMM: Áreas-chave de processo (ACP/KPA) 18 no total 6 no nível 2 7 no nível 3 2 no nível 4 3 no nível 5 ACP( Áreas Chave de Processos ou KPA) são divididas em Práticas-chave 6
CMM: Estrutura 7 1) Nível CMM Inicial Foco Áreas-chave de processo Pessoas competentes e heróis. 8
2) Nível CMM - Repetível Foco Processos de gerenciamento de projetos. Áreas-chave de processo Gerenciamento de requisitos Planejamento do projeto Visão geral e acompanhamento do projeto Gerenciamento de subcontratados Garantia da qualidade do software Gerenciamento de configuração 9 3) Nível CMM - Definido Foco Processos de engenharia Áreas-chave de processo Foco do processo organizacional Definição do processo organizacional Programa de treinamento Gerenciamento de software integrado Engenharia de produto de software Coordenação intergrupos Revisão conjunta 10
4) Nível CMM - Gerenciado Foco Qualidade do produto Áreas-chave de processo Gerenciamento quantitativo dos processos Gerenciamento da qualidade de software 11 Foco 5) Nível CMM - Otimizado Melhoramento contínuo do processo Áreas-chave de processo Prevenção de defeitos Gerenciamento de mudanças tecnológicas Gerenciamento de mudanças no processo 12
Objetivos das áreas-chave de processo O modelo CMM define um conjunto de dois a quatro objetivos para cada área-chave. Estes objetivos definem aquilo que deve ser alcançado no caso dos processos desta área-chave serem realmente realizados. 13 Características comuns e práticasbase As características comuns são itens a serem observados para que se possa verificar a implementação e institucionalização de cada área-chave de processo. Elas podem indicar se a áreachave de processo é eficiente, repetível e duradoura. 14
São cinco as características comuns no modelo CMM e cada uma possui suas práticas-base a serem realizadas. 1) Característica comum Descrição Compromisso de realizar Atitudes a serem tomadas pela organização para garantir que o processo se estabeleça e seja duradouro. Práticas-base relacionadas Estabelecimento de políticas e apadrinhamento de um gerente experiente. 15 2) Característica comum Descrição Capacidade de realizar Pré-requisitos que devem existir no projeto ou na organização para implementar o processo de forma competente. Práticas-base relacionadas Alocação de recursos, definição da estrutura organizacional e de treinamento. 16
3) Característica comum Descrição Atividades realizadas Papéis e os procedimentos necessários para implementar uma área-chave de processo. Práticas-base relacionadas Estabelecimento de planos e procedimentos, realização do trabalho, acompanhamento do trabalho e tomada de ações corretivas, se necessário. 17 4) Característica comum Descrição Medições e análise Necessidade de medir o processo e analisar as medições. Práticas-base relacionadas Realização de medições para determinar o estado e a efetividade das atividades realizadas. 18
5) Característica comum Descrição Implementação com Verificação Passos para garantir que as atividades são realizadas de acordo com o processo estabelecido. Práticas-base relacionadas Revisão, auditoria e garantia de qualidade. 19 As práticas-base As práticas-base descrevem as atividades que contribuem para atingir os objetivos de cada área-chave do processo. As práticas-base devem descrever o que deve ser feito e não como os objetivos devem ser atingidos. 20
Estrutura : Em resumo, o CMM é definido em função de um conjunto de : Níveis de maturidade Áreas-chave de processo Características comuns Práticas-base 21 O CAMINHO PARA O NÍVEL 2 (REPETÍVEL) A maioria das empresas está no nível 1. O caminho para o nível 2 é o mais difícil de ser percorrido. É necessário fazer com que todos dentro da empresa comprem a idéia da melhoria, de cima a baixo. A falta de planejamento é a primeira coisa a ser atacada. As diversas atividades de melhoria de software devem ser conduzidas por um grupo especialmente constituído para isto, normalmente chamado de SEPG (Software Engineering Process Group). 22
Cada nível do CMM é composto de um certo número de Áreas-chave de processo (KPAs) Estas áreas descrevem as questões que devem ser abordadas e resolvidas para se alcançar aquele nível. Em geral, considera-se que uma organização está em determinado nível caso todas as KPAs definidas para aquele nível sejam cumpridas. 23 Objetivos da certificação CMM Planejamento mais confiável Precisão Capacidade de repetir procedimentos Baixa taxa de erros Reconhecimento externo Maturidade da organização 24
Exemplo: Stefanini IT Solutions Em 2002 nível 2 15% das vendas para o exterior Redução de 60% de re-trabalho nos projetos Crescimento de 16% nos prazos de entrega Queda de 5% a 10% nos custos de desenvolvimento 25 Modelos CMM (1/4) Software Engineering CMM (SW-CMM): mais conhecido utilizado para avaliar a maturidade de um software em seu processo de desenvolvimento Software Acquisition CMM (SA-CMM): avalia a maturidade de uma organização processos de seleção, compra e instalação de software desenvolvido por terceiros 26
Modelos CMM (2/4) Systems Engineering CMM (SE-CMM): avalia a maturidade da organização em seus processos de engenharia de sistemas um sistema inclui o hardware, o software e quaisquer outros elementos que participam do produto completo se um novo caça está sendo desenvolvido, o avião é o sistema 27 Modelos CMM (3/4) Integrated Product Development CMM (IPD-CMM): ainda mais abrangente que o SE-CMM inclui também outros processos necessários à produção e suporte ao produto suporte ao usuário, processos de fabricação etc 28
Modelos CMM (4/4) People CMM (P-CMM): avalia a maturidade da organização em seus processos de administração de recursos humanos no que se refere a software recrutamento e seleção de desenvolvedores treinamento e desenvolvimento, remuneração etc 29 CARÊNCIAS DO CMM Vários modelos CMM com diferentes processos de avaliação Alto custo para uma organização aplicar mais de um modelo CMM CMM não é compatível com a norma ISO/IEC 15540 CMM contempla apenas uma forma de representação, por estágio 30
ISO/IEC 15540 Presta-se à realização de avaliações de processos de software com dois objetivos: melhoria de processos determinação da capacidade de processos de uma organização Método de avaliação: SPICE (Software Process Improvement and Capability determination) 31 CMMI Capability Maturity Model Integration Constitui-se em um guia para o desenvolvimento de processos Conteúdo: Requerido Esperado Informativo Principais temas abordados: disciplinas maturidade de processo e definição operacional 32
OBJETIVOS DO CMMI Implementar algumas melhorias no SW-CMM surgidas em mais de uma década de utilização Criação de um framework comum, eliminando inconsistência entre os CMM existentes Preservar investimentos em CMM já realizados pelas organizações Tornar compatível a norma ISO 15540 Contemplar outra forma de representação, a contínua 33 FUNCIONALIDADES DO CMMI Permite a implementação de mais de um modelo ao mesmo tempo (Software e Sistemas, por exemplo: SW-CMM + SE-CMM) com uma única infra-estrutura de treinamento e avaliações, usando uma terminologia unificada Permite a utilização da representação contínua, no processo de maturidade, compatível com a norma ISO/IEC 15540 34
REPRESENTAÇÃO POR ESTÁGIOS (SW-CMM) Cada nível (estágio) possui diversas Áreas- Chave de Processo (ACP) Cada ACP se encontra em um único nível A ACP Gerenciamento de Requisitos, por exemplo, encontra-se no nível 2 do SW-CMM Para ser avaliada como estando em um determinado nível, todas as ACPs daquele nível (e dos níveis anteriores) precisam ser atendidas 35 REPRESENTAÇÃO CONTÍNUA (ISO 15540) Cada ACP é considerada isoladamente e não estão alocadas a nenhum nível de maturidade em particular Cada ACP recebe sua própria classificação, podendo ir do nível 0 ao nível 5 Uma organização pode ter cada ACP classificada em um nível diferente É possível estar no nível 3 para a ACP Gerenciamento de Requisitos e no nível 2 para a ACP Gerenciamento de Configuração 36
SOBRE AS FORMAS DE REPRESENTAÇÃO É a principal diferença entre SW-CMM 1.1 e CMMI 1.0, do ponto de vista de software O CMMI admite as duas representações Organizações com histórico no CMM (níveis 2 ou 3, por exemplo) devem adotar, provavelmente, a representação por estágios 37 ORGANIZAÇÕES QUE ADOTARIAM O MODELO CONTÍNUO Com objetivos específicos de melhoria do processo de software, que lhes dariam benefícios imediatos Com dificuldades para obter apoio de algumas pessoas na implantação do CMM. O CMMI possibilita que este curso de ação seja tomado de forma estruturada Com limitação de recursos. Esta abordagem permite que a organização comece a implementar melhorias de acordo com suas possibilidades e prioridades 38
CMMI: Limitações Não aborda aspectos de operações de TI como: Gerenciamento de segurança Mudança e configuração Planejamento de capacidade Diagnóstico e funções de help desk Estabelece metas, mas não diz como atingi-las Poucas referências e informações de organizações que adotaram o modelo CMMI 39 CONCLUSÃO CMMI foi desenvolvido visando implementar melhoras no SW-CMM CMMI integra em um único framework vários modelos CMM CMMI contempla dois métodos de representação (Estágios e Contínua) É compatível com a norma ISO/IEC 15540 40