melhoria da qualidade de software utilizando o modelo cmm alexandre gualter msc em ciência da...
Post on 17-Apr-2015
113 Views
Preview:
TRANSCRIPT
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
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
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
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
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
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
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
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)
Data Description
Summary Information
Summary Information
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.
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
Estrutura dos Process Action Teams (PATs)
Report
Report
Steering Committee
KPA Manager
PAT
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
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
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
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
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
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
Produtos de Trabalho Periódicos
Controle de alterações de Requisitos
Medições
Acompanhamento de projetos
Revisões
Estimativas
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
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
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.
RESULTADO FINAL
LUCRO
MARKET SHARE
SATISFAÇÃO DOS CLIENTES
QUALIDADE
REDUÇÃO DO CICLO DE TEMPO
REDUÇÃO DE ERROS
TECNOLOGIAUSUÁRIOS
top related