Buscar

SL-CTI-3-ProcessoSE-Maturidade

Prévia do material em texto

PROCESSO DE 
DESENVOLVIMENTO DE SOFTWARE
MATURIDADE DO PROCESSO 
*
Qualidade de Processo de Software X Maturidade de Processo de Software
	A maturidade dos processos de software de uma organização influencia na sua capacidade de atingir metas de custo, qualidade e cronograma 
	A qualidade do processo de software pode ser analisada através do nível de maturidade do processo
“The quality of a system or product is highly influenced 
by the quality of the process used to develop and maintain it” 
*
MODELOS DE QUALIDADE DE PROCESSO DE SOFTWARE
• Apresenta de maneira formal a arquitetura do ciclo de vida do software baseando-se na definição dos processos que fazem parte desse ciclo.
• Apresenta diferentes visões:
• Contrato – Gerenciamento – Operação – Engenharia – Apoio
• Arquitetura:
ISO 12207
Software
Qualidade do 
Processo
Qualidade do Produto 
(Interna e Externa)
Processos Fundamentais
Aquisição
Fornecimento
Desenvolvimento
Operação
Manutenção
Processos Organizacionais
Gerência
Infra-estrutura
Melhoria 
Treinamento
Processos de Apoio
Documentação
Gerência de Configuação
Garantia da Qualidade
Verificação
Validação
Revisão Conjunta
Auditoria
Resolução de problema
Funcionalidade
Confiabilidade
Usabilidade
Eficiência
Manutenibilidade
Portabilidade
*
• Aquisição – Define as atividades do adquirente – Definição das necessidades, preparação e emissão de pedido de proposta, seleção do fornecedor e aceitação do produto.
• Fornecimento – Define as atividades do fornecedor – Propostas, contratos, gerência e garantia de projetos, desenvolvimento e execução até a entrega do produto.
• Desenvolvimento – Define as atividades do desenvolvedor – Análise de requisitos, projeto, codificação, integração, testes, instalação e aceitação do produto.
• Operação – Define as atividades do operador – Operação e suporte ao produto.
• Manutenção – Define as atividades do mantenedor – Gerenciamento das atividades de manutenção ou adaptação do software.
Processos Fundamentais 
ISO 12207
*
• Documentação – Registro das informações do processo do ciclo de vida do software. Produção, edição e distribuição dos documentos técnicos.
• Gerência de Configuração – Definição de linhas básicas de atuação do software – modificações e liberações.
• Garantia da Qualidade – Verificação da conformidade e aderência dos processos em relação as normas da qualidade.
• Verificação – Verificação do atendimento do software aos requisitos e condições acordados.
• Validação – Verificação se os requisitos e o produto final atendem ao uso específico proposto.
• Revisão Conjunta – Revisões executada no nível de gerenciamento do projeto.
• Auditoria – Verificação da adequação do produto aos requisitos, planos e ao contrato.
• Resolução de Problemas – Processo para resolução de problemas (incluindo não-conformidades) de qualquer natureza ou fonte, em tempo adequado e de maneira responsável.
Processos de Apoio
ISO 12207
*
• Gerência – Atividades genéricas visando instrumentalizar os responsáveis pelos processos de gerência (do produto e do processo).
• Infra-Estrutura – Estabelecer a infra-estrutura necessária para qualquer outro processo (hardware, software, ferramentas, técnicas, padrões e recursos)
• Melhoria – Atividades de medição visando a melhoria no processo de software.
• Treinamento – Atividades relacionadas ao treinamento de pessoal no desenvolvimento, manutenção e operação do produto.
Processos Organizacionais
ISO 12207
*
Em Nov/86, o Software Engineering Institute (SEI), com a assistência do Mitre Corporation, desenvolveu uma framework de maturidade de processo para auxiliar as organizações na melhoria de seus processos de software 
Em Set/87, foi apresentada uma descrição da framework e posteriormente expandida no livro de Humphrey - Managing the Software Process 
02 Métodos (software process assessment e software capability evaluation) e um questionário sobre maturidade foram desenvolvidos para analisar a maturidade do processo de software 
Depois de 04 anos de experiência com esta framework, o SEI evoluiu para o Capability Maturity Model para Software (CMM). O CMM apresenta um conjunto de recomendações práticas e um número de “key process areas” mostrando como melhorar a capacidade do processo de software. (The Capability Maturity Model: Guidelines for Improving the Software Process -1995)
O CMM é baseado no conhecimento adquirido na avaliação de processos de software e do feedback da indústria e governo 
CAPABILITY MATURITY MODEL
*
MATURIDADE DO PROCESSO
Processo Disciplinado
1
 Inicial
2
Repetitivo
3
Definido
4
Gerenciado
5
Otimizado
Processo Consistente, Padronizado
Processo Previsível
Processo Melhorado Contínuamente
CMM
CAPABILITY MATURITY MODEL 
SEI-CMU 
Ad-Hoc
*
Nível
Descrição
1
Inicial 
 
Processo de desenvolvimento é desorganizado, imprevisível e até caótico. O sucesso depende de esforços individuais
2
Repetitivo
Estabelecimento de processos básicos, que permitem verificar custos, cronograma e funcionalidade. Possibilidade de repetição de um processo usado em projetos anteriores, que sejam similares
 
3
Definido
 
Documentação das atividades do processo de desenvolvimento de software, que são padronizadas e integradas. Os projetos de software da organização usam uma versão aprovada e adaptada do processo padrão de desenvolvimento
 
4
Gerenciado
Coleta das medidas da qualidade do produto e processo de desenvolvimento de software. Produto e processo de desenvolvimento são entendidos e mensurados
5
Otimizado
Utilização de medidas do processo, e de idéias e tecnologias inovadores, para o melhoramento contínuo do processo
MATURIDADE DO PROCESSO
*
CMM - ESTRUTURA
Práticas-Chave
Características Comuns
Áreas-Chave de Processo
*
	Capability Maturity Model for Software (SW-CMM)
	People Capability Maturity Model (P-CMM) 
	Software Acquisition Capability Maturity Model (SA-CMM)
	System Engineering Capability Assessment Model (SE-CMM) 
	Integrated Product Development Team Model (IPD-CMM)
	Systems Security Engineering Capability Maturity Model (SSE-CMM) 
OS CMMs
Capability Maturity Model Integration 
Modelo Integrado de Maturidade e de Capacidade
*
O Projeto CMM Integration foi formado para:
	Estabelecer uma framework para integrar os modelos atuais e futuros
	Construir um conjunto inicial de modelos integrados 
Os modelos que serviram de base:
CMM for Software v2.0 Draft C
EIA – 731 Systems Engineering
IPD CMM (IPD) v0.98a
Objetivos
	Terminologia Comum
	Estilo Consistente
	Regras de construção uniforme
	Componentes Comuns
Modelos 
	Representação Contínua – 06 Níveis
	Representação em Estágios – 05 Níveis
CMMI – Capability Maturity Model Integration
*
CMMI – Capability Maturity Model Integration
CMMI – Capability Maturity Model Integration
Gerenciamento 
de Projeto
Baseado no CMMI, no ISO/IEC 12207 e 15504 e na realidade do mercado brasileiro.
Vantagens  custo reduzido de certificação em relação as normas estrangeiras, sendo ideal para micro, pequenas e médias empresas.
O MPS.Br é dividido em 3 partes: MR-MPS, MA-MPS, MN-MPS.
MR-MPS: Modelo de referência para melhoria do processo de software
Apresenta 7 níveis de maturidade (o que é um diferencial em relação aos outros padrões de processo) que são:
A - Em Otimização 
B - Gerenciado quantitativamente 
C – Definido 
D - Largamente Definido 
E - Parcialmente Definido 
F – Gerenciado 
G - Parcialmente Gerenciado 
MELHORIA DO PROCESSO DE SOFTWARE BRASILEIRO
http://www.softex.br/mpsBr/_home/default.asp
*
Cada nível possui áreas de processo, onde são analisados:
 - Processos Fundamentais (aquisição, gerência de requisitos, desenvolvimento de requisitos, solução técnica, integração do produto, instalação do produto, liberação do produto), 
	Processos Organizacionais (gerência de projeto, adaptação do processo para gerência de projeto, análise de decisão e resolução, gerência de riscos, avaliação e melhoria do processo organizacional,definição do processo organizacional, desempenho do processo organizacional, gerência quantitativa do projeto, análise e resolução de causas, inovação e implantação na organização) 
	Processos de Apoio (garantia de qualidade, gerência de configuração, validação, medição, verificação, treinamento)
 Na avaliação da Capacidade são analisados os processos, onde cada nível de maturidade possui um número definido de capacidades a serem atendidas.
 AP 1.1 - O processo é executado 
 AP 1.2 - 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 
MR-MPS: Modelo de Referência para melhoria do processo de software
MELHORIA DO PROCESSO DE SOFTWARE BRASILEIRO
*
MELHORIA DO PROCESSO DE SOFTWARE BRASILEIRO
*

Continue navegando