Propostas Gerais Processo Produto NBR ISO 9000:2005 – define principios e vocabulário NBR ISO 9001:2000 – define exigências para sistema de gerência de qualidade NBR ISO 9004:2000 – apresenta linha diretivas para o melhoramento do desempenho da empresa ISO/IEC 12207 - 95 – Processo de ciclo de vida do software CMMI – Modelo de capacidade de maturação para software ISO/IEC 15504 – Modelo de melhoramento e avaliação do Processo MPS-BR CMMI – Modelo de capacidade de maturação para software SEI – Software engineering Institute Modelo criado em 1984 Melhorando o processo é possível melhorar-mos o software McCall (1977) , FURPS e Usabilidade (Nielsen) ISO/IEC 25000:2005 (projeto SQUARE)introdução geral ISO/IEC 2501n:2005 evolução da ISO/IEC 9126 – Qualidade do produto ISO/IEC 2504n: 2005 evolução da ISO/IEC 14598 – Guia de Avaliação O que é CMMI? Baseado em práticas reais Reflete o melhor estado dessas práticas Reflete a necessidade de melhoria do processo de software e avaliações do processo de software Documentado e público Base do CMMI Maturidade – permite avaliar e classificar uma organização de desenvolvimento de software em cinco níveis crescentes. Capacitação – fornece infra estrutura para um processo de software previsível, confiável e consistente. 1 Organizações imaturas O processo de software é improvisado pelos desenvolvedores e gerentes durante o curso do projeto; Mesmo que haja um processo de software ele não é seguido ou obedecido Organização é reacionária e seus gerentes são focados em crises imediatas; Geralmente estouram-se prazos e orçamentos. O que é maturidade de capacitação? Assegurar a gerenciabilidade do projeto Assegurar a qualidade do produto gerado Assegurar a adaptação do processo as características específicas da empresa Assegurar melhoria continua Organizações maturas Possuem habilidades para gerenciar o processo de desenvolvimento de software. A organização difunde o seu processo de software com a equipe de desenvolvimento. Os gerentes monitoram a qualidade dos produtos e dos processos que são produzidos. Cronogramas e orçamentos são baseados em dados históricos e realistas. O que é maturidade de capacitação? 5o. Em Otimização – Melhoria continua do processo 4o. Quantitativamente Gerenciado – Processos e produtos são quantitativamente compreendidos e controlados 3o. Definido – Processo padronizado e integrado em um processo padrão para a organização 2o. Gerenciado – Processos básicos de gestão são definidos 1o. Inicial – Poucos processos são definidos. Sucesso depende do esforço individual 2 Visibilidade da gerência no nível 1 Nível 1 - Executado Faltam práticas de gestão Entrada Saída Planejamento ineficiente Compromissos reativos Abandono aos procedimentos planejados Processos constantemente alterados Desempenho imprevisível •Requisitos fluem para dentro •Os produtos são normalmente produzidos através de um processo disforme •O produto flue para fora e, espera-se que funcione Visibilidade da gerência no nível 2 Nível 2 - Gerenciado Entrada Saída Áreas de processo (capacitação) •O processo é uma série de caixas pretas com pontos de verificação definidos Gerenciamento de configuração Medição e análise Garantia de qualidade de processo e produto Gerenciamento de subcontratação Monitoração e controle do projeto de software Planejamento de projeto Gerenciamento de requisitos 3 Visibilidade da gerência no nível 3 Nível 3 - Definido Entrada Saída Áreas de processo (capacitação) •Funções e responsabilidades do processo são bem entendidas •Existe visibilidade do produto através do processo organizado Visibilidade da gerência no nível 4 Nível 4 – Quantitativamente Gerenciado Entrada Saída Análise de decisão e resolução Gerenciamento de risco Gerenciamento integrado de projeto Treinamento organizacional Definição no processo Foco no processo, etc Áreas de processo (capacitação) Gerência quantitativa de projeto Desempenho do processo organizacional •A gerência tem bases objetivas para tomada de decisão •A gerência é capaz de prever o desempenho dentro de limites quantificados 4 Visibilidade da gerência no nível 5 Entrada Saída Nível 5 – Em otimização Áreas de processo (capacitação) •Análises causais e resolução •Inovação na organização e disseminação •Mudança disciplinada é um meio de vida Base do CMMI Maturidade – permite avaliar e classificar uma organização de desenvolvimento de software em cinco níveis crescentes. Capacitação – fornece infra estrutura para um processo de software previsível, confiável e consistente. Estrutura do CMMI Nível de Maturidade 1 Nível de Maturidade 2 Áreas chaves do processo 1 Objetivos especificos … Objetivos genéricos Áreas chaves do processo n … Características comuns Compromisso Com Execução Nível de Maturidade 5 Práticas especificas Habilidade para Execução Direção na implementação Verificação na Implementação Práticas genéricas 5 CMMI Áreas chaves do processo nível 2 5o. Otimizado – Melhoria continua do processo 4o. Quantitativamente Gerenciado – Processos e produtos são quantitativamente compreendidos e controlados 3o. Definido – Processo padronizado e integrado em um processo padrão para a organização 2o. Gerenciado – Processos básicos de gestão são definidos 1o. Executado – Poucos processos são definidos. Sucesso depende do esforço individual Área chave - Gestão de requisitos Metas Compromisso 1 Habilidades 1.1 Atividades 1.1.1 Compromisso 2 Meta 1 – Os requisitos de sistema alocados ao software são controlados para estabelecer um baseline para o desenvolvimento de software e uso gerencial Gestão de requisitos Planejamento do projeto de software Acompanhamento e supervisão do processo de software Gestão de subcontratação de software Garantia de qualidade de software Medição e análise Gerência de configuração Metas Compromisso 1 Práticas chaves Compromisso 1 O projeto segue uma política estabelecida pela organização para o gerenciamento de requisitos de sistema alocados ao software Esta política especifica que: Os requisitos alocados são documentados; Os requisitos alocados são revisados por: gerentes, grupos de testes, certificação e etc. 6 Metas Compromisso 1 Habilidades 1.1 Metas Práticas chaves Práticas chaves Habilidades1.1 Atividades 1.1.1 Para cada projeto é estabelecida a responsabilidade de analisar os requisitos do sistema e alocá-los ao software, hardware ou outro componente do sistema. Esta responsabilidade engloba : gerenciamento e documentação dos requisitos, mudanças ocorridas Supôs que a qualidade e produtividade seria melhorada nos níveis superiores (uma organização nível 1 no seu melhor projeto pode ser superior a uma organização nível 3 no seu pior projeto) As pequenas empresas que não podem dispor da infra estrutura assumida pelo CMM podem mesmo com nível 1 produzir bons resultados Uma organização nível 3, 4 e 5 pode não ser considerada uma organização de sucesso. Habilidades 1.1 Atividades 1.1.1 O grupo de engenharia de software revisa os requisitos alocados antes deles serem incorporados ao projeto Requisitos incompletos e inexistentes são identificados Requisitos são revistos para identificar viabilidade, clareza, consistência, etc Qualificação no mundo CMM (posição 2003) Críticas ao CMMI Compromisso 1 2616 empresas certificadas CMM em 51 países 71 empresas certificadas em CMMI em 11 países 7 Qualificação no Brasil CMM (posição fev/2004) No Brasil CMMI - 2005 13o. No ranking mundial com 30 avaliações 24 empresas nível 2 CMM (Credicard, DTS, Politec, Citibank, Dell) 5 empresas nível 3 CMM ( EDS SP, IBM, Motorola, Xerox , Ericson) 1 nível 4 CMM (EDS Rio) Empresas CMMI nível 5 no Brasil - 2006 Site com as empresas certificadas CMMI http://seir.sei.cmu.edu/pars/pars_list.asp?s=4&m=0 - EDS Brasil - BRQ - Politec - Stefanini - IBM Brasil 8 Dúvidas Dúvidas O CMM mais conhecido do público é o software - CMM ou SW-CMM Na esteira do sucesso diversos outros CMM foram criados para outras áreas de interesse: CMM-I (CMM Integration) P-CMM (People Capability Maturity Model) – procesos de administração de RH SA-CMM (Software Acquisition Capability Maturity Model) – usado para avaliar a maturidade em seleção, compra e instalação de software comprado de terceiros SE-CMM (Systems engineering Capability Maturity Model) – processos de engenharia de sistemas (maior que software) IPD- CMM(Integrated Product Development Capability Maturity Model) – processos necessários a produção e suporte do produto O surgimento de muitos modelos gerou problemas: terminologia, formato padrão, diferentes formas de avaliar... O SW –CMM utilizado em uma década mostrou pontos em que o processo poderia ser melhorado... CMM x CMMI CMMI P-CMM CMMI SA-CMM SW-CMM SE-CMM IPD-CMM Nível SW-CMM(v.1.1) CMMI 1 Inicial Executado 2 Repetitível Gerenciado 3 Definido Definido 4 Gerenciado Quantitativemente gerenciado 5 Em Otimização Em otimização 9 CMMI Vantagens Integração Aumento do escopo de visibilidade Foco produtos, serviços e processos CMMI O SW-CMM é um modelo em estágios (5 estágios) . (Uma organização pode ser nível 2 e possuir práticas do nivel 3 e 4 , mas será nível 2) No modelo contínuo cada área chave pode possuir características relativas a mais de um nível (cada área chave é classificada separadamente, de modo que a organização pode ter areas no nivel 1 , 2 ou 3) CMMI Diferenças Criação de 2 abordagens: modelo contínuo e modelo em estágios Foram criadas áreas de processo de Gerenciamento de risco e Análise de decisão e resolução Foram criadas algumas Areas chaves de processo CMMI Representação por estágios tem foco a maturidade organizacional e prove um caminho evolutivo para melhoria do processo Representação continua tem como foco a capacidade do processo e oferece um caminho flexível para a implementação de melhorias 10 Exercícios Supondo-se que três organizações apresentem na avaliação o nível 2 do SW-CMM. Isso significa que a forma de produzir software é a mesma?É possível que uma dela seja, por exemplo, 30% mais eficiente que outra? (em termos financeiros, de qualidade e velocidade na produção de software? Diversos autores consideram os modelos CMM e CMMI muito caros e inadequados para serem implementados em pequenas e médias empresas. Pesquise na Internet e elabore um relatório com as conclusões do grupo. ISO/IEC 15504 Nível 0 1 2 3 4 5 Processo Incompleto Executado Gerenciado Estabelecido Previsível Otimizado Qualquer processo dentro da mesma organização pode estar em qualquer nível 11