Modelos de Processos de Software Prof. Everaldo Artur Grahl Universidade Regional de Blumenau FURB SUCESU 2004 - MT Centro de Excelência em Qualidade de Software - FURB 1 Roteiro Grupo de Qualidade de Software Visão Geral de Normas e Padrões Parceria com CENPRA Projeto MPS Br Conclusões Perguntas / Dúvidas Centro de Excelência em Qualidade de Software - FURB 2 Grupo de Qualidade de Software FURB - Universidade Regional de Blumenau DSC - Departamento de Sistemas e Computação Criado em 1998 Centro de Excelência em Qualidade de Software - FURB 3 Integrantes Prof. Everaldo Artur Grahl (Mestre) Prof. Marcel Hugo (Mestre) Prof. Carlos E. N. Bizzotto (Doutor) Prof. Fabiane Barreto Vavassori (Doutora) Prof. Mauro Marcelo Mattos (Doutor) Prof. Alexander R. Valdameri (Mestre) Prof. Ricardo Alencar Azambuja (Mestre) Luciano Marquardt (Gene-Blumenau) Rulye Nazário de Oliveira (Gene Blumenau) Centro de Excelência em Qualidade de Software - FURB 4 Histórico Atuação individual de cada integrante qualidade de software Participação na Comissão de Estudos da ABNT - Comitê de Software Oportunidades - Consultorias, Cursos, Palestras Linha de Pesquisa do DSC / FURB Chamada dos Grupos de Pesquisa - CNPQ Centro de Excelência em Qualidade de Software - FURB 5 Linhas de Pesquisa Melhoria dos Processos de Software Avaliação de Produtos de Software Ferramentas de Suporte a Qualidade de Software Centro de Excelência em Qualidade de Software - FURB 6 Objetivos Estudar, adaptar e aplicar normas e modelos de qualidade com ênfase em pequenas organizações Desenvolver ferramentas que permitam aumentar a produtividade e adotar as normas e modelos da qualidade CMM, CMMI, ISO/IEC 12207, ISO/IEC 15504, ISO/IEC 9126, ISO/IEC 12119, ISO/IEC 14598 Centro de Excelência em Qualidade de Software - FURB 7 Ensino Realização de trabalhos em Disciplinas de Engenharia de Software - Graduação Criação de uma Disciplina de Qualidade de Software Graduação Trabalhos de Conclusão de Curso e Estágios Disciplinas na Pós-Graduação Centro de Excelência em Qualidade de Software - FURB 8 Extensão Consultorias para empresas Cursos de Atualização Palestras Técnicas Apoio a empresas do Gene Blumenau - Tutor Centro de Excelência em Qualidade de Software - FURB 9 Pesquisa Projetos de Iniciação Científica PIPE / PIBIC (Modelo CMM, Norma ISO/IEC 12207, Software Livre) FUNCITEC SOFTEX FINEP Centro de Excelência em Qualidade de Software - FURB 10 Principais Resultados Participação nos principais eventos da área no Brasil (artigos, ouvintes) Reconhecimento da Comunidade Científica (visibilidade, envolvimento em projetos maiores) Produção de material (trabalhos escritos, ferramentas de software, biblioteca digital, vídeo - TV FURB) Centro de Excelência em Qualidade de Software - FURB 11 Exemplos de Projetos Avaliação da Qualidade de Softwares de Automação Comercial - CDL Avaliação da Qualidade de Web Sites Ferramentas para implantação da qualidade GQM, BSC, QFD – Empresas da Região Metodologia de gerência de projetos baseado em normas internacionais - Unitech Salvador (PMBOK) Centro de Excelência em Qualidade de Software - FURB 12 Exemplos de Projetos Avaliação das empresas de Blumenau – Modelo CMM Avaliação do Modelo CMMI - Datasul Ferramentas para Requisitos de Software Adoção das normas de Qualidade para produto de Software – ISO/IEC 9126 e ISO/IEC 12119. Centro de Excelência em Qualidade de Software - FURB 13 Projetos Aprovados - 2004 Edital SOFTEX Edital FUNCITEC Objetivo: Consolidar um núcleo de avaliação de qualidade de produtos de software Investimentos: a) Adequação do Laboratório de Qualidade b) Capacitação para ampliação de serviços c) Sub-Contratação de Serviços Centro de Excelência em Qualidade de Software - FURB 14 Instituições Internacionais de Normalização ISO - International Standards Organization IEC - International Electrotechnical Commision ANSI - American National Standards Institute IEEE - Institute of Electrical and Eletronic Engineers Centro de Excelência em Qualidade de Software - FURB 16 ABNT - Associação Brasileira de Normas Técnicas Fundada em 1940; Sociedade civil, sem fins lucrativos; Considerada de utilidade pública através da Lei num. 4150 de 21 de novembro de 1962; Elabora normas técnicas : Campos científicos Industriais Agrícola Referência nos organismos internacionais Centro de Excelência em Qualidade de Software - FURB 17 Visão Geral das Normas e Padrões QUALIDADE DO PROCESSO DE DESENVOLVIMENTO QUALIDADE DO PRODUTO DE SOFTWARE Centro de Excelência em Qualidade de Software - FURB 18 Normas e Modelos - Produto ISO/IEC 9126 (características genéricas) ISO/IEC 14598 (processo de avaliação) ISO/IEC 12119 (avaliação de pacotes) Centro de Excelência em Qualidade de Software - FURB 19 ISO/IEC 9126 (NBR 13596) Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade Centro de Excelência em Qualidade de Software - FURB 20 Norma ISO / IEC 14598 Avaliação de produtos de software ISO/ IEC 14598-1: Visão geral; ISO/ IEC 14598-2: Planejamento e Gestão; ISO/ IEC 14598-3: Processo para desenvolvimento; ISO/ IEC 14598-4: Processo para adquirentes; ISO/ IEC 14598-5: Processo para avaliadores; ISO/ IEC 14598-6: Documentação de módulos de Avaliadores. Centro de Excelência em Qualidade de Software - FURB 21 ISO/IEC 12119 Descrição do Produto Documentação do usuário (manuais) Programas e dados Instruções para Testes Centro de Excelência em Qualidade de Software - FURB 22 Visão Geral das Normas Relacionadas aos Produtos Recursos e Ambiente Suporte à avaliação Processo de Avaliação Processo de avaliação Produto de Software Métricas internas Métricas Externas Efeitos do Produto de Software Métricas de qualidade em uso 14598-1 14598-2 14598-6 14598-3 14598-4 14598-5 9126-1 9126-3 9126-2 9126-4 Centro de Excelência em Qualidade de Software - FURB 23 Normas e Modelos - Processo CMM / CMMI (Níveis de Maturidade) ISO/IEC 12207 (processos de software) ISO/IEC 15504 (padrão para avaliação de processos de software) ISO 9000-3 (Aplicação da ISO 9001 a software) Centro de Excelência em Qualidade de Software - FURB 24 Processo de Software Métodos, Procedimentos, Padrões, Técnicas PROCESSO Pessoas habilitadas, treinadas, motivadas FATORES DE QUALIDADE • o procedimento que descreve o método escolhido • as ferramentas para darem apoio e facilitarem o trabalho • pessoas treinadas, que compreendam e usem o processo Ferramentas Centro de Excelência em Qualidade de Software - FURB 25 CMM Modelo americano - SEI Avaliação dos processos de software e enquadramento da organização em um dos cinco níveis Inicial, Repetitivo, Definido, Gerenciado, Otimização Questionários e entrevistas Variações: PSP, TSP, CMMI Centro de Excelência em Qualidade de Software - FURB 26 Os Níveis de Maturidade Melhoria continua do processo 5-Otimizado Processo previsível 4-Gerenciado Processo consistente, padrão Processo disciplinado 3-Definido 2-Repetitivo 1-Inicial “São estágios que classificam a organização, os quais a mesma deve perseguir para atingir o grau mais alto em conhecimento e capacitação.” Centro de Excelência em Qualidade de Software - FURB 27 Áreas-chave do nível 2 Gerenciamento dos Requisitos Planejamento do Projeto de Software Gerenciamento do Projeto de Software Gerência do Subcontrato de Software Garantia da Qualidade de Software Gerência de Configuração de Software Centro de Excelência em Qualidade de Software - FURB 28 Modelo CMMI Um framework que acomoda múltiplas disciplinas e flexível o suficiente para suportar duas representações diferentes (de estágios e contínuo): - uma para verificar o nível de maturidade dos processos; - outra para o nível de maturidade da organização em geral. Centro de Excelência em Qualidade de Software - FURB 29 Modelo CMMI - Estágios Na representação por estágios as áreas de processo estão agrupadas em estágios (níveis). Cada área de processo contém práticas (atividades) a serem implementadas para concluir o propósito da área de processo. Centro de Excelência em Qualidade de Software - FURB 30 Os Níveis de Maturidade Melhoria contínua do processo Gerenciamento quantitativo Padronização de processo Gerenciamento básico de projeto 5-Otimizado 4-Quantitativamente Gerenciado 3-Definido 2-Gerenciado 1-Inicial Centro de Excelência em Qualidade de Software - FURB 31 Nível de Maturidade 2 Gerência de Requisitos Planejamento do Projeto Monitoração e Controle do Projeto Gerência de Acordos com Fornecedores Medição e Análise Garantia da Qualidade do Processo e do Produto Gerência de Configuração Centro de Excelência em Qualidade de Software - FURB 32 Nível de Maturidade 3 Desenvolvimento de Requisitos Solução Técnica Integração do Produto Verificação Validação Foco no Processo Organizacional Definição do Processo Organizacional Treinamento Organizacional Gerência de Projeto Integrada (parte só IPPD) Gerência de Riscos Integração da Equipe (IPPD) Gerência Integrada de Fornecedores Análise de Decisão e Resolução Ambiente Organizacional para Integração (IPPD) Centro de Excelência em Qualidade de Software - FURB 33 Nível de Maturidade 4 Desempenho do Processo Organizacional Gerência Quantitativa do Projeto Centro de Excelência em Qualidade de Software - FURB 34 Nível de Maturidade 5 Inovação e Deployment Organizacional Análise e Resolução de Causas Centro de Excelência em Qualidade de Software - FURB 35 Avaliação do Processo de Software Passos Básicos para Avaliação: Seleção da equipe de avaliação; Aplicação do questionário de maturidade; Análise das respostas; Entrevistas e revisões dos documentos; Avaliação baseada no modelo e método proposto pelo CMMI; Quadro de verificação das áreas-chave de processo. Centro de Excelência em Qualidade de Software - FURB 36 Avaliação do Processo de Software - CMM Centro de Excelência em Qualidade de Software - FURB 37 RUP / UML Processo Unificado Processo Rígido e Bem Definido Voltado a grandes empresas Alto nível de Customização Ciclo Incremental e Iterativo Baseado na UML FURB possui RUP / IBM Mapeamento para Nível 2 – CMM Estudo dos modelos ágeis – XP Integração - Equilíbrio Centro de Excelência em Qualidade de Software - FURB 38 Parceria com CENPRA Instituição de Pesquisa de Reconhecimento Nacional – Campinas / SP (Antigo CTI) Boa experiência com avaliações de produtos e processos Convênio entre GENE / CENPRA Treinamento dos Avaliadores Concessão do Método de Avaliação – MEDEPROS Futuras parcerias – eventos / consultorias Centro de Excelência em Qualidade de Software - FURB 39 Número de Produtos avaliados com o MEDE-PROS # 150 100 50 0 93 94 e 95 96 e 97 98 e 99 00 e 01 Centro de Excelência em Qualidade de Software - FURB 40 Laboratórios Credenciados pelo ITI Centro de Excelência em Qualidade de Software - FURB 41 Base Teórica NBR 13596 (ISO 9126) NBR ISO 12119 (pacote de SW) ISO 9241 (interface) ANSI IEEE 1063 (documentação) Centro de Excelência em Qualidade de Software - FURB 42 METODO Estrutura Requisitos Planilha de Avaliação Relatório de Avaliação Centro de Excelência em Qualidade de Software - FURB 43 Componentes do SW INSTALAÇÃO INTERFACE Funcionalidade Usabilidade SOFTWARE Funcionalidade Eficiência Portabilidade Confiabilidade DOCUMENTAÇÃO Completitude Funcionalidade Usabilidade DESINSTALAÇÃO Centro de Excelência em Qualidade de Software - FURB 44 Centro de Excelência em Qualidade de Software - FURB 45 Comparação da Maturidade do Processo de Software No Brasil, as empresas locais favoreceram a ISO 9000 Até 2003, na Índia 32 empresas atingiram o nível 5 do CMM, no qual a China tinha 1 empresa e o Brasil nenhuma [Em relação ao CMM], como um todo, a maioria das empresas chinesas e brasileiras não está em um nível suficientemente alto de maturidade do processo para competir com as empresas indianas Ref: Slicing the Knowledge-based Economy in Brazil, China and India: a tale of 3 software industries [MIT, 2003] Centro de Excelência em Qualidade de Software - FURB 46 Qualidade de Processo de Software: Empresas que Desenvolvem Software no Brasil com ISO 9000 e CMM 1997 1999 2001 2003 Certificação ISO 9000 102 206 167 214 Avaliação CMM (total) 1 2 6 30 Nível 5 - - - - Nível 4 - - - 1 Nível 3 1 1 4 5 Nível 2 - 1 2 24 Fonte: MCT/SEITEC Centro de Excelência em Qualidade de Software - FURB 47 Problema da Excelência: como atingir CMM nível 5 no Brasil? No topo da pirâmide estão as empresas exportadoras de software e outras grandes empresas que desejam atingir níveis mais altos de maturidade (CMM níveis 4 e 5) e serem formalmente certificadas pelo SEI Software Engineering Institute, em um processo de longo prazo, independente do fator custo Um programa como este pode levar de 4 a 10 anos e custar centenas de milhares de dólares (foco em modelo de negócio específico para cada empresa) O “Projeto Qualificação de Profissionais no Modelo CMMI”, com recursos de um dos Programas Prioritários em Informática do MCT (PPI SOFTEX) no período 2004-2006, visa resolver este problema no longo prazo Centro de Excelência em Qualidade de Software - FURB 48 Problema da Inclusão: como melhorar radicalmente o processo de software no Brasil ? Na base da pirâmide encontra-se a grande massa de micro, pequenas e médias empresas de software brasileiras, com poucos recursos, que necessita melhorar radicalmente seus processos de software Estas empresas precisam saber como adaptar à sua realidade, rapidamente, modelos para melhoria de processos de software como o CMMI níveis 2 e 3, a um custo acessível (foco em modelo de negócio cooperado entre várias empresas) O “Projeto mps Br – melhoria de processo do software Brasileiro”, com recursos do Fundo Verde Amarelo (FVA) no péríodo 2004-2006, visa criar e disseminar o Modelo de Referência para melhoria do processo de software (MR mps), a um custo acessível Centro de Excelência em Qualidade de Software - FURB 49 Projeto mps Br: Definição do MR mps Realidade das Empresas Brasileiras 12207 SOFTEX 15504 (SPICE) Governo Universidades Modelo de Referência para Melhoria do Processo de Software CMMI Centro de Excelência em Qualidade de Software - FURB 50 Projeto mps Br: Cronograma Dez 2003 - Mar 2004: Organização do Projeto Abr - Jun 2004: Aprimoramento do Modelo Jul - Dez 2004: Implementação em Grupos de Empresas Jan - Jun 2005: Implementação em Novos Grupos de Empresas Jul - Dez 2005: Implementação em Novos Grupos de Empresas Jan - Jun 2006: Implementação em Novos Grupos de Empresas Centro de Excelência em Qualidade de Software - FURB 51 Modelo MR mps: 7 Níveis de Maturidade Baseado em áreas de processo Objetivos e práticas distribuídos em 7 níveis de maturidade: A - Em Otimização B - Gerenciado Quantitativamente C - Definido D - Largamente Definido E - Parcialmente Definido F - Gerenciado G - Parcialmente Gerenciado Centro de Excelência em Qualidade de Software - FURB 52 Modelo MR mps: Método de Avaliação Baseado na ISO/IEC 15504 (SPICE) e SCAMPI Resultado da avaliação terá validade de 2 anos Avaliação será feita através de indicadores: Diretos – produtos intermediários Indiretos – documentos que indicam que a atividade foi realizada Afirmações – resultantes de entrevistas Decisão: Não Implementada (NI), Parcialmente Implementada (PI), Largamente Implementada (LI) e Totalmente Implementada (TI) Centro de Excelência em Qualidade de Software - FURB 53 Projeto mps Br: Principais Ações Criação do Modelo de Referência para melhoria de processos de software (MR mps), compatível com SPICE e CMMI, considerando a realidade da empresa Brasileira Criação do Modelo de Negócio para melhoria do processo de software (MN mps), tanto específico para uma empresa (MNE, personalisado) como cooperado entre várias empresas (MNC, pacote) Credenciamento prévio de instituições implementadoras e/ou avaliadoras do MR mps em empresas (ICIs e/ou ICAs) Melhoria dos processos de software em um número significativo de empresas de software, a um custo acessível (replicabilidade) Centro de Excelência em Qualidade de Software - FURB 54 Projeto mps Br: Principais Benefícios Desenvolvedores de Software melhorarão seus processos, a um custo acessível, e aumentarão sua competitividade Adquirentes de Software disporão de mais um modelo (além do CMMI e ISO 9000) para uso em suas aquisições Instituições Envolvidas no Projeto aprimorarão sua competência na melhoria de processos de software e trabalharão com novos grupos de empresas Centro de Excelência em Qualidade de Software - FURB 55 Projeto mps Br: DOs e DON’Ts O projeto visa aumentar a maturidade dos processos de software das empresas brasileiras, a um custo acessível O projeto visa a criação e disseminação do Modelo de Referência para melhoria de processo de software (MR mps) e do Modelo de Negócio para melhoria de processo de software (MN mps) Não é objetivo do projeto definir algo novo no que se refere a normas e modelos de maturidade. A novidade do projeto está na estratégia adotada para sua implementação, criada para a realidade brasileira O Modelo de Negócio tem grande potencial de replicabilidade no Brasil e em outros países de características semelhantes, como por exemplo os países latinoamericanos Centro de Excelência em Qualidade de Software - FURB 56 7 Diferenciais do Modelo (MR e MN mps) 7 níveis de maturidade do Modelo de Referência MR mps (permitem uma implementação gradual, adequada à micro, pequena e média empresa, e também permitem aumentar a visibilidade do processo de melhoria) Compatibilidade do MR mps com SPICE e CMMI (2 em 1) Estratégia de implementação do MR mps foi criada para a realidade brasileira (novidade do projeto) Modelo de Negócio MN mps tem grande potencial de replicabilidade no Brasil (e em outros países de características semelhantes) Avaliação periódica do MR mps nas empresas (2 em 2 anos) Definição, implementação e avaliação do MR mps em empresas baseada em forte interação Universidade-Empresa (catalizador do desenvolvimento tecnológico e de negócios) Custo acessível (em R$) Centro de Excelência em Qualidade de Software - FURB 57 Fontes Ana Regina C. Rocha – COPPE /UFRJ Grupo de Qualidade de Software /FURB Outras palestras - Qualidade Centro de Excelência em Qualidade de Software - FURB 58 Conclusões Definição do Foco Reavaliação Interna Não entender como “modismo” Resultados são animadores Analisar Custos X Benefícios Procurar alternativas Iniciar logo - Qualidade Trabalho de Cooperação Centro de Excelência em Qualidade de Software - FURB 59 Maiores Informações Prof. Everaldo Artur Grahl Fones: 321-7801 / 321-7870 Mail: [email protected] Dúvidas e Perguntas ??? Centro de Excelência em Qualidade de Software - FURB 60