Prévia do material em texto
INTRODUÇÃO À ENGENHARIA DE SOFTWARE Prof. Marcelo Cabral www.fundacaoredeam.com.br 2016 Tópicos da aula de Hoje: CMMI MPS-BR INTRODUÇÃO À ENGENHARIA DE SOFTWARE Melhoria do Processo INTRODUÇÃO À ENGENHARIA DE SOFTWARE Melhoria do Processo INTRODUÇÃO À ENGENHARIA DE SOFTWARE Motivação para o foco no Processo de Software Qualidade do processo Aumento da qualidade do produto Diminuição do retrabalho Maior produtividade Redução do tempo para atender o mercado Maior competitividade Maior precisão nas estimativas INTRODUÇÃO À ENGENHARIA DE SOFTWARE Características de Processo Imaturo Características Ad hoc - Improvisado Fortemente dependente dos profissionais Indisciplinado Consequências Pouca produtividade Qualidade de difícil previsão Alto custo de manutenção Risco na adoção de novas tecnologias INTRODUÇÃO À ENGENHARIA DE SOFTWARE CMMI – Capability Maturity Model Integration O CMMI (Capability Maturity Model Integration) é um conjunto de modelos integrados de maturidade e capacidade para diversas disciplinas, tais como: engenharia de software e sistemas, fontes de aquisição e desenvolvimento integrado do produto. Desenvolvido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon, o CMMI é uma evolução do CMM e procura estabelecer um modelo único para o processo de melhoria corporativo, integrando diferentes modelos e disciplinas e sendo baseado nas melhores práticas para desenvolvimento e manutenção de produtos INTRODUÇÃO À ENGENHARIA DE SOFTWARE Níveis de Maturidade CMMI O CMMI possui duas representações: “Contínua" ou “Por Estágios“. Representação Por Estágios: Disponibiliza uma sequência pré-determinada para melhoria baseada em estágios que não deve ser desconsiderada, pois cada estágio serve de base para o próximo. Nível 1 – Inicial: Processo de software caracterizado como “ad hoc”. Poucos processos de desenvolvimento definidos e o sucesso depende de esforço individual. Nível 2 – Repetível: As políticas de gerencia de desenvolvimento de software são definidas e seguidas. É o nível mais difícil de alcançar por ser uma quebra de paradigma. Nível 3 – Definido: O processo básico de software para as atividades de gestão e engenharia é documentado, padronizado e integrado em um processo de software padrão para organização. INTRODUÇÃO À ENGENHARIA DE SOFTWARE Níveis de Maturidade CMMI Nível 4 – Gerenciado: Medidas detalhadas do processo de software e da qualidade do produto são realizadas. O processo e os produtos de software e da qualidade do produto são quantitativamente compreendidos e controlados. Nível 5 – Otimização: A melhoria continua do processo é proporcionada pelo feedback quantitativo do processo e pelas ideias e tecnologias inovadoras. Nesta representação a maturidade é medida por um conjunto de processos. Assim, é necessário que todos os processos atinjam nível de maturidade dois para que a empresa seja certificada com nível dois. Se quase todos os processos forem nível três, mas apenas um deles estiver no nível dois a empresa não irá conseguir obter o nível de maturidade três. INTRODUÇÃO À ENGENHARIA DE SOFTWARE CMMI (Capability Maturity Model Integration – Níveis de Maturidade INTRODUÇÃO À ENGENHARIA DE SOFTWARE Exemplo de Empresas com CMMI INTRODUÇÃO À ENGENHARIA DE SOFTWARE Vantagens do CMMI Desenvolvimento de software com qualidade, garantindo o cumprimento dos prazos e atendendo as necessidades do cliente, deixando-o mais satisfeito com o produto. Eliminação de inconsistências e redução de duplicidade; Utilização de terminologia comum e estilo consistente; Consistências com a norma ISO/SEC 15504 INTRODUÇÃO À ENGENHARIA DE SOFTWARE Motivação da criação do MPS-BR Em 2003, dados da Secretaria de Política de Informática do MCT apontavam que apenas 30 empresas no Brasil possuíam avaliação CMM e 214 possuíam certificação ISO 9001. As empresas brasileiras favoreceram a ISO 9000. Dados de uma pesquisa do MIT 1, apontavam que até 2003, na Índia 32 empresas atingiram o nível 5 do CMM, enquanto a China tinha apenas uma e o Brasil nenhuma. INTRODUÇÃO À ENGENHARIA DE SOFTWARE Motivação da criação do MPS-BR INTRODUÇÃO À ENGENHARIA DE SOFTWARE Proposta para melhorar processo de software no Brasil a um custo acessível INTRODUÇÃO À ENGENHARIA DE SOFTWARE MPS.BR: Objetivo e Metas Objetivo: Melhoria de processos de software nas micros, pequenas e médias empresas (PMEs), a um custo acessível, em diversos locais do país. Como? Desenvolvimento e Aprimoramento do Modelo MPS.BR. Implementação e Avaliação do Modelo MPS.BR em empresas, com foco em grupos de empresas. INTRODUÇÃO À ENGENHARIA DE SOFTWARE MPS.BR: Objetivo e Metas INTRODUÇÃO À ENGENHARIA DE SOFTWARE Base Técnica do MPS-BR INTRODUÇÃO À ENGENHARIA DE SOFTWARE MPS.BR É simultaneamente um movimento de melhoria do software brasileiro e um modelo de qualidade de processos voltados para a realidade brasileira. O programa é coordenado pela Associação para Promoção do Software Brasileiro (SOFTEX) e começou a ser desenvolvido em 2003, como uma forma de auxiliar as pequenas e médias empresas brasileiras a alcançar a qualidade no desenvolvimento de software. INTRODUÇÃO À ENGENHARIA DE SOFTWARE Vantagens do MPS.BR Possui sete níveis de maturidade, onde a implantação é mais gradual e adequada a pequenas e médias empresas Possui compatibilidade com CMMI, pois é baseado nas normas ISO/IEC 1220 e ISO/IEC 15504 (regra que define o processo de desenvolvimento de software). Avaliação bienal das empresas. Integração universidade-empresa. INTRODUÇÃO À ENGENHARIA DE SOFTWARE Estrutura MPS-BR INTRODUÇÃO À ENGENHARIA DE SOFTWARE MPS-BR – Níveis de Maturidade INTRODUÇÃO À ENGENHARIA DE SOFTWARE MPS-BR – Níveis de Maturidade INTRODUÇÃO À ENGENHARIA DE SOFTWARE Estrutura MPS-BR INTRODUÇÃO À ENGENHARIA DE SOFTWARE Capacidade do Processo Uma caracterização da habilidade do processo atingir os objetivos de negócio atuais ou futuros [ISO/IEC 15504-1, 2004] Composto de: Atributo de processo: Uma característica mensurável da capacidade do processo aplicável a qualquer processo [ISO/IEC 15504-1, 2004] Resultado: resultado observável do sucesso do alcance do atributo do processo [ISO/IEC 12207:1995/Amd 1:2002] INTRODUÇÃO À ENGENHARIA DE SOFTWARE Capacidade do Processo Atributos de Processo (AP): AP 1.1 – O processo é executado AP 2.1 – O processo é gerenciado AP 2.2 – Os produtos de trabalho do processo são gerenciados AP 3.1 – O processo é definido AP 3.2 – O processo está implementado AP 4.1 – O processo é medido AP 4.2 – O processo é controlado AP 5.1 – O processo é objeto de melhorias e inovações AP 5.2 – O processo é otimizado continuamente INTRODUÇÃO À ENGENHARIA DE SOFTWARE Capacidade do Processo INTRODUÇÃO À ENGENHARIA DE SOFTWARE Resultado 3 Modelos MPS MPS-SW (Software) desde 2005 + MPS-SV (Serviços) em 2012 + MPS-RH (Pessoas) em 2014 INTRODUÇÃO À ENGENHARIA DE SOFTWARE Resultado – Instituições Avaliadoras (12) INTRODUÇÃO À ENGENHARIA DE SOFTWARE Resultado – Situação em 2013 INTRODUÇÃO À ENGENHARIA DE SOFTWARE Diferenciais do MPS-BR 7 níveis de maturidade, o que possibilita uma implantação mais gradual e uma maior visibilidade dos resultados de melhoria de processo, com prazos mais curtos. Compatibilidade com CMMI, conformidade com as normas ISO/IEC 15504-2:2003 e ISO/IEC 12207:2008. Adaptado para a realidade brasileira (foco em micro, pequenas e médias empresas). Custo acessível (em R$) Modelo Cooperado (Implementação+ Avaliação): 50% SOFTEX, 50% Empresa (aproximadamente) Nível G: aproximadamente R$ 44.000,00 (Total) Nível F: aproximadamente R$ 82.000,00 (Total) Muitas vezes o Agente SOFTEX local arca com parte dos custos. Por exemplo, só a avaliação CMM Nível 2 (SCAMPI) é cerca de US$18,000, fora despesas com passagens e hospedagens dos avaliadores. INTRODUÇÃO À ENGENHARIA DE SOFTWARE Dúvidas INTRODUÇÃO À ENGENHARIA DE SOFTWARE INTRODUÇÃO À ENGENHARIA DE SOFTWARE Espero que tenham gostado ! Até próxima aula !