33
Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas de Informacao - IM-NCE/UFRJ

Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Embed Size (px)

Citation preview

Page 1: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Melhoria da Qualidade de Softwareutilizando o Modelo CMM

Alexandre GualterMsc em Ciência da Computação - COPPE/UFRJ

Claudia CappelliMestranda em Sistemas de Informacao - IM-NCE/UFRJ

Page 2: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Melhoria da Qualidade Através do CMM

Tendências Tecnológicas

O que é o CMM

O Projeto SPI - Software Process Improvement

Implementação

Process Quality Manual

Resultados Esperados

Conclusões

Agenda

Page 3: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Tendências Tecnológicas - Século XXI

Para atender a este desafio a Área de Tecnologia deve:

Definir um Padrão comum para desenvolver Sistemas, utilizando conceitos avançados da Engenharia de Software.

Objetivos

Tecnologia Totalmente Alinhada aos Objetivos do Business... ...Facilitando e Viabilizando o Crescimento com Qualidade.

O Processo de Desenvolvimento deve ser transparente e bem entendido pelos Usuários

Page 4: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Aderência do Produto às definições do Usuário

Redução no Prazo de Entrega de Projetos

Aumento da Qualidade do Produto entregue

Diminuição de Erros em Produção

Diminuição do Esforço de Manutenção

Tendências Tecnológicas - Século XXI

Vantagens Competitivas do Processo Definido

Page 5: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Projeto AProjeto B

Projeto C

Projeto x Sistemas

Hardware

Software

SIX SIGMA

CMM

Mas afinal o que é o CMM ?CMM é um Modelo de Qualidade aplicado a Software

Page 6: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

OPTIMIZING5

ProcessoDisciplina

do

Processo Padrão

Customizável

ProcessoPrevisível(Métricas)

Melhoria Contínua

Os 5 Níveis do Processo de Maturidade do Software

MANAGED4

DEFINED3

REPEATABLE2

INITIAL1

Page 7: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Capability Maturity Model (CMM)

Level 4 - MANAGEDLevel 5 - OPTIMIZING

Level 4 - MANAGEDLevel 5 - OPTIMIZING

Level 3 - DEFINED• Organization Process Focus• Organization Process Definition• Integrated Software Management• Software Product Engineering• Intergroup Coordination• Peer Reviews•Training Program

Level 2 - REPEATABLE• Requirements Management• Software Project Planning• Software Project Tracking• Software Subcontract Management• Software Quality Assurance• Soft. Configuration Management

Level 2 - REPEATABLE• Requirements Management• Software Project Planning• Software Project Tracking• Software Subcontract Management• Software Quality Assurance• Soft. Configuration Management

Project Focus

Organization Focus

Ad Hoc

Quality Improvement Focus

Ke

y P

roc

ess

A

rea

s

PAL

Project AssetLibrary

OSPD

Organization´s Software Process Database

Level 1 - INITIAL

Page 8: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Maturity Levels

Goals

containindicate

Key Process Areas

Common Features

Key PracticesImplementation or Institutionalization

Infrastructure or Activities

Process Capability

organized by

contain

achieve

describe

address

Capability Maturity Model (CMM)

Page 9: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas
Page 10: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Data Description

Page 11: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas
Page 12: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas
Page 13: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas
Page 14: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas
Page 15: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas
Page 16: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas
Page 17: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas
Page 18: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Summary Information

Page 19: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Summary Information

Page 20: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

O Projeto SPI - Sofware Process Improvement

Objetivos

Padronização e documentação do processo de desenvolvimento.

Estabelecimento de um planejamento de projetos com base histórica.

Aumento da automação do processo de desenvolvimento.

Definição de métricas quantitativas e mecanismos de peer review para avaliação dos produtos de software.

Aumento da qualidade do produto entregue ao usuário.

Diminuição do prazo de entrega dos produtos de software aos usuários.

Foco no aprimoramento contínuo.

Page 21: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Passos para Implementação do Projeto SPI

Elaboração do Plano de Ação

Estabelecimento do Steering Commitee

Definição dos PAT’s - Process Action Teams

Definição dos Processos

Realização dos Pilotos

Implantação dos Processos

Avaliação - Mini-Assessment

Treinamento nos novos processos

Assessment (CBA-IPI) formal da SEI

Page 22: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Estrutura dos Process Action Teams (PATs)

Report

Report

Steering Committee

KPA Manager

PAT

Page 23: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Fluxo Típico de Trabalho de um PAT Criar Planos de Ação para cada PAT. Treinar especificamente aos membros do PAT. Pesquisar Informações da Organização e Indústria na Área Específica. Avaliar o Processo com base nos níveis atuais do CMM. Desenvolver Plano Detalhado. Desenvolver e Documentar Processos da KPA. Selecionar Projetos Pilotos. Desenvolver plano de Implementação de Piloto. Apresentar e Divulgar novo processo ao Steering Comitee. Pilotar e Revisar o Piloto. Revisar o novo Processo com base no Piloto. Liberar para utilização em larga escala. Avaliar e melhorar continuamente o processo Participar como co-responsável dos Assessments

Page 24: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

SEPG - Software Engineering Process Group

Focos deste Grupo

Garantir a adoção do CMM na área de Tecnologia

Coordenar o aprimoramento do processo

Dar consultoria e suporte ao processo de desenvolvimento

Ministrar treinamentos em Engenharia de Software

Page 25: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

A

I V Im pID C

Gerência de Configuração e SQAAtividades de Gerência do Processo (Planos, Revisões, Estimativas,...)

Dn C

I D Desv

Atividades de Teste (Planos, Revisões, Estimativas,...)

Process Quality Manual

Page 26: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Produtos de Trabalho em cada Fase

Inicialização Statement of Work Estimativa 1

Definição Estudo de Viabilidade Contrato de Software Plano do Projeto Análise de Risco Modelo Lógico e Funcional DRS Estimativa 2 Information Security Plan Peer Review

Page 27: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Produtos de Trabalho em cada Fase

Design Telas e Relatórios Diagramas de Módulos Testes Case Especificação Física Especificação de Módulos Plano de Teste de Software Plano de Teste de Aceite Análise Preliminar de

Impacto Information Security Peer Review

Construção Manual do Usuário Plano de Implantação Codificação Teste Peer Review

Page 28: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Produtos de Trabalho em cada Fase

Verificação Teste de Aceite Análise de Impacto Aprovação Information Security

Implantação Treinamento Aprovação

Pós-implantação Análise dos Resultados

Page 29: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Produtos de Trabalho Periódicos

Controle de alterações de Requisitos

Medições

Acompanhamento de projetos

Revisões

Estimativas

Page 30: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Melhoria das Estimativas de Software

Ov

er/

Un

de

r P

erc

enta

ge

140%

0%

-140%

Without Historical DataVariance between + 20% to - 145%

(Mostly Level 1 & 2)

Without Historical DataVariance between - 20% to + 20%

(Level 3)

Based on 120 projects in Boeing Information Systems

Resultados Esperados

Page 31: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Resultados Esperados

Resultados de Software Process Improvement em 13 Organizações.

Dados fornecidos pelo SEI

35%35%de GANHO em produtividade por ano

22%22%de pecentual de erros detectados previamente

19%19%de redução do prazo de entrega

39%39%de redução de erros após a entrega

5.05.0de retorno em cada dollar investido

Page 32: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

Conclusões

O sucesso do processo de melhoria de qualidade em software depende de:

Objetivos de tecnologia baseados nos objetivos das áreas de negócio;

Suporte da alta gerência;

Conhecimento do processo por todos os envolvidos;

Participação dos usuários no processo de desenvolvimento;

Forte Cooperação entre áreas de tecnologia.

Page 33: Melhoria da Qualidade de Software utilizando o Modelo CMM Alexandre Gualter Msc em Ciência da Computação - COPPE/UFRJ Claudia Cappelli Mestranda em Sistemas

RESULTADO FINAL

LUCRO

MARKET SHARE

SATISFAÇÃO DOS CLIENTES

QUALIDADE

REDUÇÃO DO CICLO DE TEMPO

REDUÇÃO DE ERROS

TECNOLOGIAUSUÁRIOS