Agenda da Aula. Melhoria do Processo de Software. Por que melhorar o processo? De onde veio a idéia? Qualidade do Produto. Qualidade de Software

Documentos relacionados
Por que melhorar o processo? Melhoria do Processo de Software. De onde veio a idéia? Qualidade de Software

DCC / ICEx / UFMG. O Modelo CMMI. Eduardo Figueiredo.

Desenvolvido pelo Software Engineering Institute-SEI em 1992 Possui representação por estágios (5 níveis)e contínua (6 níveis)

Melhoria de processos Qualidade. Engenharia de software Profª Karine Sato da Silva

Qualidade de Software (cont)

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Normas ISO:

IDENTIFICAÇÃO DO CANDIDATO INSTRUÇÕES

Visão Geral de Engenharia de Software

GESTÃO DA QUALIDADE DE SERVIÇOS GERENCIAMENTO DE SERVIÇOS

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

Horário: 13:00 às 15:00 horas (hora de Brasília) IDENTIFICAÇÃO DO CANDIDATO INSTRUÇÕES

ENGENHARIA DE SOFTWARE

Qualidade de Processo de Software. Simone S Souza ICMC/USP 2018

QUALIDADE DE SOFTWARE

Disciplina Medições e Qualidade de Software. Tópicos da Disciplina. Método de Avaliação. Qualidade de Software.

CMM Capability Maturity Model. O que é isto???

Engenharia de Software

Aula 11 - Fluxo do RUP: Ambiente

Qualidade de Software

Maturidade e Capabilidade do Processo de Software: Definição Modelo: Definição MPS.BR: O Modelo MPS.BR: Capacidade do Processo Processos do Nível G,

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

MPS.BR: Promovendo a Adoção de Boas Práticas de Engenharia de Software pela Indústria Brasileira

QUALIDADE DE SOFTWARE DEFINIÇÕES / RESUMO. Apostilas de NORMAS, disponíveis no site do professor. Prof. Celso Candido ADS / REDES / ENGENHARIA

Padrões de Qualidade de Software

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta

Reuso de Software Aula Maio 2012

Workshop Paraense de Tecnologia de Software PROCESSO DE MEDIÇÃO. Fabrício Medeiros Alho

MPS.BR Melhoria de Processo do Software Brasileiro

Uma Visão Geral do Programa MPS.BR para Melhoria de Processos de Software

MPS.BR Melhoria de Processo do Software Brasileiro

Processos de Software

Qualidade de Software. Profª Rafaella Matos

Engenharia de Software

ENGENHARIA DE SOFTWARE

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Qualidade de Processo de Software CMM / CMMI

Engenharia de Requisitos

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Engenharia de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Garantia da Qualidade dos Processos de Software Baseado no MPS.BR Um Estudo de Caso

Nomenclatura usada pela série ISO Série ISO 9000

Módulo Contexto da organização 5. Liderança 6. Planejamento do sistema de gestão da qualidade 7. Suporte

Engenharia de Requisitos

Desenvolvimento Ágil de Software

Reutilização de Software

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Crise do Software. Crise de tecnologia - hardware caminha mais rápido que o software

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

Trata-se do processo de auditoria dos requisitos e da qualidade, assim como dos resultados das medições de controle de qualidade, de maneira a

Qualidade e Auditoria de SW. Prof. Dr. Luis Fernando GARCIA

Qualidade de Processo de Software MPS.BR

Project Builder: Apoio a Gestão de Projetos do Nível G ao C do MPS.BR

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Engenharia de Software II

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

UNIVERSIDADE FEDERAL DE PERNAMBUCO. Aplicando a Abordagem GQM para Avaliar o Impacto da Adoção da Metodologia Ágil Scrum

Guia PMBOK Gerenciamento de Riscos. Universidade de Brasília Faculdade de Ciência da Informação Profa. Lillian Alvares

Introdução a Engenharia de Software

MPS.BR: Promovendo a Adoção de Boas Práticas de Engenharia. Brasileira. Marcos Kalinowski

Capítulo 2 - Processos de Software

Case de Sucesso DISTRIMED

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

Sistemas de Informação. Governança de TI

Capability Maturity Model

MPS.BR Melhoria de Processo do Software Brasileiro

Eng. de Requisitos: Atividades. Engenharia de Requisitos. Eng. de Requisitos: Processo. O Documento de Requisitos. Stakeholders. Estudo de Viabilidade

ENGENHARIA DE REQUISITOS

Universidade Federal de Pernambuco

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

Processos de Validação e Verificação do MPS-Br

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Desenvolvimento de Projetos

PSP Personal Software Process. Maria Cláudia F. P. Emer

Eng. de Requisitos: Atividades. Engenharia de Requisitos. Eng. de Requisitos: Processo. O Documento de Requisitos. Stakeholders

MPT.Br Melhoria do Processo de Teste Brasileiro

SIMULADO 01 Governança de TI

Engenharia de Software II

Capítulo 5 Gerenciamento do Escopo do projeto. Introdução. Antes de iniciarmos vamos pensar um pouco.

Gerenciamento Do Escopo Do Projeto

Engenharia de Software II

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

Métricas de Software. Sistemas de Informação

ISO/IEC Processo de ciclo de vida

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

CHECK-LIST ISO 14001:

TCC Resumido: Avaliação e Melhorias no Processo de Construção de Software

Elementos Fundamentais para a Melhoria da Qualidade de Software nas Organizações de TI

Programa MPS.BR, modelo MPS e

Gestão da Tecnologia da Informação

Engenharia de Software II

Transcrição:

Engenharia de Software Aula 20 Agenda da Aula Melhoria do Processo de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 16 Maio 2012 Melhoria de Processo Medição Análise Mudança Modelos de Capacitação CMM e CMMI MPS.Br Por que melhorar o processo? Há uma relação direta entre qualidade do processo e qualidade do produto O objetivo de melhorar o processo é atingir produtos melhores Aprimorar o processo busca Reduzir defeito dos produtos (qualidade) Reduzir custos Reduzir prazos de entrega De onde veio a idéia? Controle estatístico de processos aplicado a indústrias japonesas Indústria de manufatura como de automóveis e eletrônicos As técnicas foram trazidas para a indústria de software no final da década de 80 Qualidade de Software Qualidade do Produto Na manufatura, o processo é altamente automatizado Erros de calibração de máquinas causam produtos defeituoso que são facilmente verificados Em software, o processo tem grande ingrediente intelectual Erros não são facilmente verificados Qualidade das pessoas é importante

Qualidade do Produto Foco dos métodos rigorosos Foco dos métodos ágeis Grandes e Pequenos Projetos Em grandes projetos de software A equipe de desenvolvimento é volátil A qualidade do processo é fator predominante Em projetos de pequeno porte Quantidade pequena de pessoas envolvidas A qualidade da equipe é mais importante que a qualidade do processo Características Desejáveis Como melhorar o processo? Características do processo que podem contribuir para qualidade do produto Facilidade de Compreensão: os membros da equipe precisam entendê-lo Confiabilidade: erros devem ser antecipados Facilidade de Adaptação: mudanças devem ser facilmente implementadas Agilidade na entrega do produto Ciclos de Melhoria Processo é algo específico de uma organização Não adianta tentar copiar o processo de outra empresa Mudar Medir Analisar Estágios de Melhoria Três estágios que podem durar vários meses Medição: Os atributos do processo atual são medidos para aprimoramentos futuros Análise: O processo atual é avaliado para identificar gargalos e pontos fracos Mudança: mudanças identificadas na análise são implementadas

Por que medir? Medição do Processo Medição de atributos de processos e de produtos de software é essencial Somente podemos controlar o que podemos medir DeMarco "In God we trust; all others must bring data." W. Edwards Deming Medir Processo e Produto Medições podem ser usadas para quantificar ganhos de melhoria do processo Exemplo: esforço e tempo dedicados a testes Medições de processo devem ser analisadas juntamente com medições de produto Exemplo: robustez do produto (bugs) Métricas de Processo Tempo necessário para uma atividade do processo ser concluída Os recursos necessários para uma determinada atividade O número de ocorrências de um determinado evento Modelos de Medições Uma dificuldade fundamental é saber o que medir Para isso, Basili propôs o modelo Goal-Question-Metric (GQM) Passos do GQM Definir os objetivos Formular as questões Identificar as métricas O Modelo GQM Objetivos Definem o que a organização quer melhorar Questões Refinamento dos objetivos em áreas de incertezas Métricas Medições necessárias para responder as questões

Exemplo de GQM Representação do GQM Objetivos Menor tempo de desenvolvimento Questões Onde estão os gargalos? Como reduzir o tempo de requisitos? Métricas Medições de tempo em cada atividade do processo Q1 Objetivo 1 Objetivo 2 Q2 Q3 Q4 Q5 M1 M2 M3 M4 Análise do Processo Análise do Processo A análise começa predominantemente qualitativa e passa a incorporar dados quantitativos Fazem uso de medições A análise leva a mudanças do processo Estudo de processos existentes Desenvolvimento de um novo modelo Análise das Métricas Métricas geram evidências sobre um processo Estas evidências devem ser contextualizadas Conversar com as pessoas para entender as razões Fatores externos podem ter causado distorções nos dados Técnicas de Análise Questionários Realizados com rapidez, mas devem ser bem formulados Entrevistas Dá liberdade ao entrevistador de adaptar a entrevista no decorrer da mesma Estudos Etnográficos (observação) Exige tempo para execução, mas os dados são mais confiáveis

Aspectos Analisados Exemplos de aspectos do processo que podem ser analisados Padronização e adoção dos padrões Uso de boas práticas de engenharia de software Restrições que afetam o processo Problemas de comunicação Aprendizagem das práticas do processo Mudança no Processo Mudança de Processo Realização de modificações no processo existente com base na análise Introdução de novas práticas, métodos e ferramentas Alteração de ordem das atividades do processo Criação de alternativas para melhora a comunicação Criação de novos papéis ou responsabilidades, etc. Estágios de Mudança Mudanças são geralmente amarradas a um objetivo Exemplo: reduzir o número de defeitos na integração em 25% Possui cinco estágios principais Identificação da melhorias Priorização de melhorias Introdução da mudanças Treinamento Ajustes O Processo de Mudança Identificação de Melhorias Relacionado aos resultados da análise Permite detectar Problemas de qualidade Cronogramas irreais Gargalos de custos A mudança deve buscar o alívio destes gargalos Novos métodos, procedimentos ou ferramentas a serem adotados

Priorizar e Introduzir Mudança Priorização Quando muitas mudanças são possíveis, é preciso decidir quais implementar primeiro Deve-se considerar o custo e o impacto da mudança Introduzir mudança Colocar em prática os novos procedimentos, métodos ou ferramentas Treinamento e Ajustes Treinamento Sem treinamento, é impossível obter os benefícios completos da mudança Ajustes pós-mudança Mudanças podem não ser tão eficientes como se esperava Geralmente são necessários pequenos ajustes para que o ganho seja efetivo Um pouco de história CMMI Na década de 80, o Instituto de Engenharia de Software (SEI) foi criado Objetivos Fornecer software de qualidade para o Departamento de Defesa dos EUA Aumentar a capacitação da indústria de software Capability Maturity Model (CMM) Após uma avaliação da indústria de software, foi criado o Modelo de Maturidade da Capacitação (CMM) Depois disso, vários modelos semelhantes e compatíveis com o CMM foram definidos Um deles: CMM para Software O principal fundamento do CMM é A medida que a maturidade do processo aumenta, a qualidade do produto melhora CMM Integrated (CMMI) Para tentar integrar os modelos de capacitação que foram surgindo, o SEI propôs o CMM Integrado (CMMI) O CMMI é complexo e define Áreas de processos Objetivos de cada área Práticas para alcançar os objetivos

Áreas de Processos O CMMI define 22 áreas de processos As áreas de processo são organizados em quatro grupos Gerenciamento de processos Gerenciamento de projetos Engenharia Apoio Gerenciamento de Processo Definição de processo organizacional Foco no processo organizacional Treinamento organizacional Desempenho de processo organizacional Inovação e implantação organizacional Gerenciamento de Projetos Engenharia Planejamento de projeto Monitoração e controle de projeto Gerenciamento de acordo com fornecedores Gerenciamento de projeto integrado Gerenciamento de riscos Gerenciamento quantitativo de projeto Gerenciamento de requisitos Desenvolvimento de requisitos Solução técnica Integração de produto Verificação Validação Apoio Gerenciamento de configuração Gerenciamento de qualidade de processo e produto Medição e análise Análise de decisão e resolução Análise causal e resolução Objetivos Descrevem um estado desejado a ser atingido pela organização Exemplos de objetivos O desempenho real e o progresso do projeto são monitorados Os requisitos são analisados e validados e uma definição da funcionalidade é desenvolvida Causas principais dos defeitos e outros problemas são sistematicamente determinados

Práticas Descrevem maneiras de se atingir um objetivo CMMI reconhece que o objetivo é mais importante que suas práticas Ou seja, organizações podem usar quaisquer práticas para se atingir um dos objetivos Exemplos de Práticas Objetivo: Os requisitos são analisados e validados... Analisar sistematicamente os requisitos derivados para assegurar que eles são necessários e suficientes Validar os requisitos para assegurar que os produtos resultantes serão executados conforme esperado Classificação de Processos O CMMI examina e classifica os processos da empresa Incompleto Executado Gerenciado Definido Gerenciado Quantitativamente Em Otimização Representações do CMMI O CMMI tem duas representações CMMI por Estágios CMMI Contínuo CMMI por Estágios permite avaliação da maturidade do processo em 5 níveis CMMI Contínuo permite uma classificação mais fina Classifica cada área de processo CMMI por Estágios Os cinco níveis de maturidade Permite avaliar a capacitação do processo em cinco níveis Descreve os objetivos que devem ser alcançados em cada nível de maturidade O aprimoramento do processo é atingido pela implementação das áreas de processo associadas a cada nível As áreas permitem uma organização mover dos níveis mais baixos para os mais altos

Exemplos de Áreas do Nível 2 Gerenciamento de requisitos Gerenciar os requisitos e identificar inconsistências Planejamento de projeto Manter planos que definem as atividades Medição e análise Manter dados para apoiar as decisões gerenciais E outras 4 áreas Vantagens e Desvantagens Vantagens do CMMI por Estágios Compatível dom a versão anterior do CMM para Software Define um caminho claro de aprimoramento para as organizações Desvantagens do CMMI por Estágios Impede que uma organização se mova para níveis mais altos sem cumprir todas as áreas dos níveis anteriores CMMI Contínuo Não classifica uma organização em níveis discretos Considera as áreas de processo individualmente Motivação As organizações operam em diferentes níveis de maturidade para as várias áreas de processo Níveis de maturidade das áreas A avaliação envolve o exame das áreas de processo em uma escala de seis níveis 0. Não realizado 1. Realizado 2. Gerenciado 3. Definido 4. Quantitativamente gerenciado 5. Em otimização Exemplo de Avaliação (parcial) Principal Vantagem A organização pode escolher as áreas de processo a serem aprimoradas Exemplo, a empresa pode se concentrar principalmente na gerência de configuração e validação

De onde veio o MPS.Br? MPS.Br Proposto pela Softex e pesquisadores brasileiros para avaliar o processo de empresas de software no Brasil Inspirado no modelo CMMI Considera elementos de outros modelos (ISO 15504 e ISO 12207) Motivação Ser mais gradual que o CMMI Preço mais acessível para certificação Organização do MPS.Br MPS.Br vs. CMMI Dividido em três componentes Modelo de Referência (MR-MPS) Modelo de Avaliação (MA-MPS) Modelo de Negócio (MN-MPS) Define 7 níveis de maturidade (A a G) Cada nível de maturidade possui áreas de processo que a empresa deve atender Níveis de Maturidade Bibliografia da Aula Nível A - Em Otimização Nível B - Gerenciado Quantitativamente Nível C - Definido Nível D - Largamente Definido Nível E - Parcialmente Definido Nível F - Gerenciado Nível G - Parcialmente Gerenciado Ian Sommerville. Engenharia de Software, 9ª Edição. Pearson Education, 2011. Cap. 26 Melhoria de Processos A. Koscianski e M. Soares. Qualidade de Software, 2ª Edição. Novatec, 2006. Capítulo 7 MPS.Br