Title: XP x CMMI
1XP x CMMI
Programação Radical Prof. Luiz Fernando
Melgarejo João de Amorim Junior
2XP x CMMI
A relação entre Extreme Programming e o Modelo
de Maturidade de Capacitação-Integração
3CMMI
- Década de 80 SEI - Carnegie Mellon,
Pennsylvania. - Agosto de 1991 Primeira
versão do SW-CMM. - Agosto de 2002 Versão 1.1
do SW-CMMI. - SW-CMMI Adotado como modelo para
a capacidade organizacional de desenvolvimento.
4CMMI
- Certificado para empresas de desenvolvimento
de SW. - Projetos grandes, de organizações de
grande porte. - Framework de processo de
desenvolvimento. - Diz o que deve ser feito
para se ter um projeto organizado e de
qualidade.
5CMMI
- Tudo deve ser muito bem documentado. - Áreas
Chaves de Processo (KPA). - Dividido em cinco
níveis. - Inicial, Repetível, Definido,
Gerenciável e Otimização. - Nível 1 Pessoas
competentes (e heróicas).
6CMMI Nível 2
- Repetível - Foca no processo de gerenciamento
do projeto. - KPA 1 - Gerenciamento de
requisitos. - KPA 2 - Planejamento do projeto
de software. - KPA 3 - Monitoração e controle
do projeto. - KPA 4 - Prevenção de
Gerenciamento de contrato com o fornecedor
(sub-contrato).
7CMMI Nível 2
- KPA 5 - Garantia de qualidade de software. -
KPA 6 - Gerenciamento de configuração de
software.
8CMMI Nível 3
- Definido - Foca na Engenharia de processo e
suporte organizacional. - KPA 7 - Foco na
organização do processo. - KPA 8 - Definição da
organização do processo. - KPA 9 - Programa de
treinamento. - KPA 10 - Gerenciamento integrado
de software.
9CMMI Nível 3
- KPA 11 - Engenharia de produto de software.
- KPA 12 - Coordenação inter-grupo. - KPA 13 -
Revisões assistidas (Inspeções).
10CMMI Nível 4
- Gerenciável (Quantitativamente) - Foca na
qualidade do produto e do processo. - KPA 14 -
Gerenciamento quantitativo do processo. - KPA
15 - Gerenciamento da qualidade de software.
11CMMI Nível 5
- Otimização - Foca na melhoria contínua do
processo. - KPA 16 - Prevenção de defeitos.
- KPA 17 - Gerenciamento da mudança de
tecnologia. - KPA 18 - Gerenciamento da
mudança de processo.
12Extreme Programming
- Método de desenvolvimento de software
desenvolvido por Kent Beck. - Aquilo que se
julga bom no desenvolvimento de software é
aplicado ao extremo. - Equipes médias e
pequenas, cujos requisitos apresentem mudanças
vagas ou rápidas. - Equipes tipicamente
co-localizadas com menos de 10 membros.
13Extreme Programming
- Código coletivo. - Escrever teste antes do
código. - Programação em dupla. - Testes
rodando repetidamente. - Desenvolvedores devem
responder rapidamente a mudanças nos requisitos.
O cliente é quem manda.
14Extreme Programming
- Quatro princípios Comunicação, Simplicidade,
Rapidez e Coragem. - Fazer iterações
extremamente pequenas segundos, minutos e
horas ao invés de semanas, meses e anos. -
Ciclo de vida incremental e evolucionário.
Quatro atividades básicas codificação, teste,
fatoração e projeto.
15XP e CMMI Por que não
- CMMI exige que tudo seja muito bem
documentado. - XP abomina documentação. -
XP código não possui responsáveis. - CMMI
aumenta custo de desenvolvimento. Exige gerentes
do processo, como SQA, CM, etc.
16XP e CMMI Por que não
- CMMI ... XP é code-and-fix disfarçado ...,
... sem análise de requisitos e boa
documentação, um projeto não terá um
crescimento sustentável .... - XP ...
análise de requisitos é balela ..., ...
documentação atrasa desenvolvimento .... -
XP não é para projetos grandes. CMMI em projetos
pequenos é impraticável.
17XP e CMMI
- - Cerca de 90 das empresas de software nunca
chegaram a alcançar o nível 2. - Certificação CMMI dá status à empresa em
negociações internacionais. - Empresas estão adaptando XP. Ex. JPMorgan
Chase, empresas chinesas, etc.
18XP e CMMI Adaptação
- CMMI O que deve ser feito. - XP Como deve
ser feito. - XP possui processos disciplinados
e claramente bem definidos.
19XP e CMMI Adaptação
- Nível 2 - Gerenciamento de requisitos (KPA
1) -gt Metáfora e estórias de uso, cliente na
equipe, integração contínua. - Planejamento do
projeto de software (KPA 2) -gt Planejamento do
jogo, entregas pequenas.
20XP e CMMI Adaptação
- Nível 2 - Monitoração e controle do projeto
(KPA 3) -gt Entregas pequenas. - Garantia de
qualidade de software (KPA 5) -gt Programação
em dupla. - Gerenciamento de configuração de
software (KPA 6) -gt Propriedade coletiva,
entregas pequenas, integração contínua.
21XP e CMMI Adaptação
- Nível 3 - Foco na organização do processo
(KPA 7) -gt Foco no time (equipe). - Definição
da organização do processo (KPA 8) -gt
Metáfora. - Engenharia de produto de software
(KPA 11) -gt Metáfora, projeto simples, testes,
fatoração e re-projeto, padrões de código.
22XP e CMMI Adaptação
- Nível 3 - Coordenação inter-grupo (KPA 12)
-gt Cliente na equipe, Programação em dupla. -
Revisões assistidas (Inspeções) (KPA 13) -gt
Programação em dupla. - Nível 5 - Prevenção
de defeitos (KPA 16) -gt Integração contínua.
23XP x CMMI
- - Adaptação de XP para ser utilizado com CMMI
basicamente XP com documentação. - É XP?
- Ou é CMMI?