Qualidade de Software Aula 6 / 2014/1 Prof. Dr. Luís Fernando Garcia [email protected] www.garcia.pro.br Qualidade de Software Aula 6 / 2012 Prof. Dr. Luís Fernando Garcia [email protected] www.garcia.pro.br Introdução As três dimensões críticas Introdução Começando MAL … CMMI Impeditivos CMMI Desculpas … CMMI Desculpas … CMMI PASSOS IMPLANTAÇÃO CMMI Treinamentos … CMMI Exemplo de Serviços … CMMI Exemplo de Serviços … CMMI Exemplo de Serviços … CMMI Exemplo de Serviços … CMMI Exemplo de Serviços … CMMI Exemplo de Serviços … CMMI SCAMPI ? …. níveis A e B ? CMM e CMMI CMM e CMMI SEI – Instituto de Engenharia de Software 1986 Estrutura de modelo de maturidade Requisição do governo americano (DoD) Avaliar a capacidade de fornecedores Melhoria dos processos dos fornecedores CMM e CMMI SW-CMM Foco Inicial – Desenvolvimento de Software Não incluia: Recursos Humanos Finanças Foco em PROJETOS curto prazo Foco em PEQUENOS PASSOS (níveis) CMM CMM - Capability Maturity Model for Software CMMI – “” Integration Maturidade? O quanto um processo está: Definido Gerenciado Medido Controlado Efetivo CMM evolução/histórico CMM e CMMI CMM – 1993 (versão 1.1) – vigente … CMMI – versão 1.2 … caminhando para a versão 1.3 www.sei.cmu.edu/cmmi CMM e CMMI CMMI – versão 1.2 … caminhando para a versão 1.3 www.sei.cmu.edu/cmmi CMM - proposta Baseado na experiência prática das empresas; Refletir o melhor estado da prática; Ser documentado; Ser público. CMM - Objetivos guiar organizações a conhecerem e melhorarem seus processos de software. Identifica práticas para um processo de software maduro, definindo as características de um processo de software efetivo. Descreve como as práticas de engenharia de software evoluem sob certas condições. Organiza os estágios de evolução da melhoria dos processos em cinco níveis de maturidade. CMM - Níveis CMM - Níveis Necessidade de ordenação: Níveis inferiores servem de base e fundamento para os superiores Risco de abandono do processo em crises CMM – Nível 1 - Inicial CMM – Nível 1 - Inicial Não há repetibilidade dos processos Em crise há abandono de procedimentos As chances de sucesso baseiam-se em habilidades pessoais/GURUS/HERÓIS Sucesso, qdo existe, em projetos com experiência anterior Tentativas isoladas de manutenção de procedimentos do processo As qualidades pertencem as pessoas, não aos processos CMM – Nível 1 - Inicial Estimativas/cronogramas não realistas Mesmo o planejado não é seguido (falta de costume) Requisitos codificação (ERRO!) Documentação = burocracia (ERRO!) Nível 1 – visibilidade CMM – Nível 1 - Inicial Para avançar ao nível 2 … Mudança cultural Resistência a mudanças Reações intransigentes Falta de credibilidade de que dá/dará certo Introdução gradativa de KPAs CMM – Nível 2 - Repetível Políticas de gerência de desenvolvimento de software definidas e seguidas Utilização de experiências anteriores, de maneira formalizada e não-intuitiva Projetos usam processos definidos, documentados, usados, disseminados, medidos, fiscalizados e com rotinas de melhoria Gerência de projetos CMM – Nível 2 - Repetível Compromissos assumidos com bases realistas (especialmente quando há Knowhow) ... Compromissos assumidos com base em requisitos documentados Desenvolvimento é acompanhado e revisado (custos, prazos, etc...) Mecanismos formais de correção de desvios Gerência de requisitos CMM – Nível 2 - Repetível A definição de processos é feita por projeto – pode não haver padronização na organização Disciplina ao executar projetos // mas ainda não está preparada para mudanças maiores Processos repetíveis com resultados esperados As qualidades pertencem aos projetos, não às pessoas Nível 2 – visibilidade CMM – Nível 3 - Definido CMM – Nível 3 - Definido Processos estabelecidos e padronizados na organização – não “somente” repetição de sucessos de projetos anteriores Estabelecimento de infra-estrutura de processos adaptáveis a mudanças Aderência a processo mesmo em crise Processos ainda em nível qualitativo CMM – Nível 3 - Definido Foco em documentação (não é mais burocracia!) Relação “não-conformidades”qualidade Processos de engenharia de software e gerenciais aplicados Oportunidade de escolha das melhores práticas Treinamento (técnico e gerencial) CMM – Nível 3 - Definido Possibilidade de adaptação dos processos as necessidades dos clientes Os processos pertencem à organização e não aos projetos Nível 3 – visibilidade Analisando níveis 2 e 3 CMM – Nível 4 - Gerenciado Estabelecimento de metas quantitativas para processos e produtos Avaliação e análise contínua do desempenho Melhoria no controle de processos e produtos Gestão baseada quantitativamente Proficiente em métricas/análise destas Base de dados de processo Gerenciamento de riscos Nível 4 - visibilidade CMM – Nível 5 - Otimizado Melhoria contínua de processos Identificação de pontos fracos e defeitos Ação preventiva Mudanças de tecnologia com base em análises de custo/benefício Ações visando reduzir retrabalho e desperdício Melhoria da produtividade CMM – Nível 5 - Otimizado Nível 5 - visibilidade CMM – em relação a PESSOAS CMM – em relação a TECNOLOGIA CMM – em relação a MÉTRICAS CMM – Componentes CMM – Componentes CMM – KPA x processos KPA (áreas chave de processo) Coleção de práticas que representam o nível de maturidade Grupo de atividades correlatas que realizam um conjunto de metas Identificam objetivos a serem cumpridos Cumulativas KPA – estáticos Processos – dinâmicos Processos – evoluem na medida que o nível de maturidade cresce CMM – KPAs Nível 2 - Repetível Gerenciamento de Requisitos Planejamento do Processo de Software Acompanhamento e Supervisão do Projeto de Software Gerenciamento da Subcontratação de Software Controle da Qualidade de Software Gerenciamento de Configuração de Software CMMI – KPAs CMMI nível 2 – KPAs CMMI nível 2 – KPAs CMM – KPAs Nível 3 – Definido Focalização dos Processos da Organização Definição dos Processos da Organização Programa de Treinamento Gerenciamento Integrado de Software Engenharia de Produto de Software Coordenação Inter Grupos Revisões Detalhadas para Prevenção de Defeitos CMM – KPAs CMMI – nível 3 - KPAs CMMI – nível 3 - KPAs CMM – KPAs Nível 4 - Gerenciado Gerenciamento Quantitativo dos Processos Gerenciamento da Qualidade de Software CMMI – nível 4 - KPAs CMM – KPAs Nível 5 - Otimizado Prevenção de Falhas Gerenciamento das Mudanças nos Processos Gerenciamento das Mudanças Tecnológicas Características Comuns Compromisso para Realizar (políticas e responsabilidades) Capacidade para Realizar (recursos, estruturas e treinamento) CMM – KPAs Nível 5 - Otimizado Ações e Atividades Realizadas (planejamento, procedimentos e ações corretivas) Mensuração e Análise (medidas e avaliações) Verificação da Implantação (revisões e auditorias) CMMI – nível 5 - KPAs CMMI SW-CMM P-CMM – Recursos humanos SA-CMM – Aquisição de software SE-CMM – Engenharia de sistemas Estruturas, formatos e termos diferentes Confusão quando integrados/simultâneos CMMI CMMI Capability Maturity Model Integration Guia de melhoria de processos na organização – habilidade em gerenciar: Desenvolvimento Aquisição Manutenção CMMI Terminologia: Área de processo Conjunto de práticas que coletivamente satisfazem um conjunto de objetivos Objetivos específicos Identificam características únicas que descrevem o que deve ser feito para satisfazer CMMI Terminologia: Práticas específicas Objetivos genéricos Atividades para atingir objetivo específico Um por nível – o que deve-se fazer para atingir um determinado nível (5) Práticas genéricas Processos efetivos e repetíveis CMMI CMMI CMMI CMM – Componentes CMMI Disciplinas/corpos de conhecimento Engenharia de sistemas Engenharia de software Desenvolvimento e integração Multidisciplinar – soluções que envolvem ou não sw Avião? Avião é o “sistema” Colaboração de stakeholders para atender requisitos Fontes de aquisição Fornecedores de sw – outsourcing/terceirização CMMI Representações Estágio/estagiada Idem ao CMM Níveis de maturidade Normalmente preferida… Contínua Possíveis selecionar a sequência de melhorias que convem aos objetivos de negócios ISO 15504 CMMI CMMI CMMI CMMI CMMI estagiada Níveis sugerem ordem de melhoria Nível n Áreas de Processo Área n objetivos e práticas genéricas/especificos Aspectos comuns práticas genéricas Área de Processo 1 Nível 5 Objetivos Específicos Objetivos Específicos ….. Nível 4 Área de Processo N Objetivos Genéricos Nível 3 Nível 2 Nível 1 e Características COMUNS Compromisso com execução – Habilidade para execução Direção da implementação – Verificação da implementação CMMI estágio CMMI contínua CMMI Contínua 4 Categorias Gerência de processo Foco no Processo da organização Definição do Processo da organização Treinamento organizacional Desempenho do processo organizacional Inovação e melhoria organizacional CMMI Contínua 4 Categorias Gerência de projeto Planejamento de projeto Acompanhamento e controle de projeto Gerência de acordos com fornecedores Gerência integrada de projeto Gerência de risco Gerência quantitativa de projeto CMMI Contínua 4 Categorias Engenharia Gerência de requisitos Desenvolvimento de requisitos Solução Técnica Integração de produto Verificação Validação CMMI Contínua 4 Categorias Suporte Gerência de configuração Garantia da qualidade de processo e de produto Medição e análise Análise de decisão e resolução Análise causal e resolução CMMI cont. CMMI CMMI CMMI e Métodos Ágeis SCAMPI – Artigo SCAMPI – Entrevista em grupo SCAMPI – Entrevista GP SCAMPI – Descoberta preliminares CMM e pequenas empresas Pequena empresa? Métrica? Tamanho do projeto? Custo – prazo – envolvidos – pontos de função ? Alguns autores não consideram o tamanho … outros consideram Relatos … Muita pesquisa acadêmica … CMM e pequenas empresas Ação, a menor a ter CMMI 2 no mundo A Ação Sistemas acaba de certificar-se CMMI nível 2. Com uma equipe de 10 analistas, a conquista faz da empresa gaúcha a dona do selo com o menor número de funcionários em todo o mundo, segundo o Software Engineering Institute, instituto americano criador do modelo de qualidade de software. O processo de adoção das práticas do CMMI demandou quase dois anos da empresa, desenvolvedora do software de gestão de RH UniversalRH, hoje usado por 80 organizações no Brasil. “Foram duas mil horas de trabalho interno”, revela Luiz Carlos Leite, diretor de operações da Ação. O investimento total chega a R$ 1 milhão, entre as horas gastas pelos colaboradores, consultoria das empresas Crest Consulting e Herbert Consulting e a prova de certificação final. “Já tivemos um retorno de 50% durante a implementação”, acredita Leite. De acordo com o executivo, o principal ganho foi na previsibilidade dos projetos – a margem de atraso hoje é de 5%, para cima ou para baixo -, e na estabilidade dos sistemas, cujo indicador mínimo estabelecido é 95%. “Os clientes percebem o valor do CMMI. Depois de dizer que temos o selo, não é preciso mais falar sobre processos de desenvolvimento”, explica Leite. A Ação atende a empresas como a Wal-Mart, que tem 100 mil funcionários no país, ou a Marcopolo, que tem plantas em 12 países diferentes. O empresário gaúcho garante que já tem na programação a conquista do nível 3 do CMMI. “Vamos ir até o final”, garante Leite. Fonte: Baguete CMM e pequenas empresas PSP/TSP MPS.BR CMM – Panorama Brasil CMMI – Panorama Brasil CMMI – Panorama Brasil CMMI – Panorama Brasil CMMI – mundo 2010 CMMI – mundo 2012 CMMI –mundo 2012 CMMI –mundo 2012 CMMI –mundo 2012 CMMI – tempo obtenção CMMI – tamanho http://sas.sei.cmu.edu/pars/pars.aspx CONTRAPONTOS ao CMMI