Post on 07-Apr-2016
O uso de XP em uma Organização CMM 2
Renata Endrissrecc@cin.ufpe.br
Conteúdo
O que é o trabalho de pesquisa Motivação para o trabalho Extreme Programming O CMM CMM x XP Uma parte do trabalho, a KPA Requirements
Management segundo XP Conclusões
O que é o trabalho de pesquisa
Contribuição do trabalho
“Propor uma forma de uma Organização que possui, ou almeja possuir, nível 2 do CMM utilizar um processo ágil de
desenvolvimento, Extreme Programming”
O que é e o que não é Não é comparar CMM e XP Não é demonstrar que XP precisa ou não
precisa ser alterado para estar conforme CMM 2
É considerar em XP aspectos relevantes ao CMM 2 que hoje não são considerados pela metodologia
É configurar XP para uma organização CMM 2
Conteúdo
O que é o trabalho de pesquisa Motivação para o trabalho Extreme Programming O CMM CMM x XP Uma parte do trabalho, a KPA Requirements
Management segundo XP Conclusões
Motivação para o trabalho
Motivação para o trabalho CMM é o modelo de melhoria contínua de
processos mais conhecido para software XP é o processo ágil de desenvolvimento
mais comentado e usado no momento Mas, apenas organizações grandes almejam
possuir CMM No entanto, mesmo organizações grandes
possuem pequenos projetos, que precisam ser desenvolvidos de forma rápida com pouco formalismo
Conteúdo
O que é o trabalho de pesquisa Motivação para o trabalho Extreme Programming O CMM CMM x XP Uma parte do trabalho, a KPA Requirements
Management segundo XP Conclusões
Extreme Programming
XP
Valores Princípios Atividades Práticas
XP - Valores
Valores Comunicação Simplicidade Feedback Coragem
Princípios Atividades Práticas
XP - Princípios Valores Princípios
Feedback rápido Assumir simplicidade Mudança incremental Aceitar mudança Trabalho de qualidade Ensinar aprendendo Investimento inicial
pequeno Jogar para vencer Experimentos concretos Comunicação aberta e
honesta
Trabalhar a favor do instinto das pessoas e não contra
Aceitar responsabilidades
Adaptação ao local Viajar leve Medidas honestas
Atividades Práticas
XP - Atividades
Valores Princípios Atividades
Codificar Testar Escutar Projetar
Práticas
XP - Práticas Valores Princípios Atividades Práticas
O Planejamento do jogo Releases pequenos Metáforas Projeto de software
simples Teste Refactoring Programação em pares Propriedade coletiva
Integração Contínua 40 horas semanais Cliente no local Padrão de codificação
XP Rodando
Planejamento do release Estabelecimento das informações
Data do release Velocidade da equipe
Cliente escreve histórias Equipe estima complexidade Cliente seleciona as histórias para o
release
XP Rodando
Planejamento da iteração Cliente seleciona as histórias da iteração Equipe identifica as tarefas de cada
história Equipe estima cada história Cada desenvolvedor requisita as histórias
que deseja implementar
XP Rodando Desenvolvimento
Metáforas Projeto de software
simples Teste Refactoring Programação em pares Propriedade coletiva Integração Contínua 40 horas semanais Cliente no local Padrão de codificação
Testes de aceitação Cliente escreve
testes de aceitação Equipe implementa
XP Rodando
Além disto: Reuniões Stand up meetings Snack food sempre Coleta e publicação de métricas Festas a cada milestone atingido Gerenciamento do release e iteração
A velocidade estimada pode ser maior ou menor que a realizada
Conteúdo
O que é o trabalho de pesquisa Motivação para o trabalho Extreme Programming O CMM CMM x XP Uma parte do trabalho, a KPA Requirements
Management segundo XP Conclusões
O Capability Maturity Model
O CMM “Framework representando caminhos de
melhoria para organizações que almejam aumentar a capacidade do processo de software.”
Descritivo - descreve atributos essenciais esperados por organizações em um determinado nível de maturidade
Normativo - descreve práticas detalhadas que caracterizam tipos normais de comportamento esperado por organizações que desenvolvem projetos de larga escala num contexto de contrato com o governo
Estrutura do CMM
Níveis de Maturidade
Estrutura do CMM
Áreas chave de processo - KPAs
Estrutura do CMM
Características Comuns
Estrutura do CMM
Práticas Chave Descrevem “O que pode ser feito” “Como fazer” é responsabilidade da
organização São descritivas e não normativas! Possuem subpráticas e exemplos Exemplos:
“Recursos e financiamento adequados são provistos para gerenciar os requisitos alocados”
“Medidas são feitas e usadas para determinar o status das atividades de planejamento de software”
Avaliação CMM Para uma organização ter sua capacidade de
desenvolvimento de SW avaliada, deverá passar por um avaliação de um avaliador certificado pelo SEI
Segue o método CBA – API do SEI Muito relacionado ao julgamento do avaliador O avaliador não analisa apenas os goals. Práticas não implementadas devem ser
justificadas
Conteúdo
O que é o trabalho de pesquisa Motivação para o trabalho Extreme Programming O CMM CMM x XP Uma parte do trabalho, a KPA Requirements
Management segundo XP Conclusões
CMM e XP
XP sobre a ótica do CMM A comunidade CMM afirma que XP é
compatível ou complementar a CMM Em Novembro de 2001 Marl Paulk publica o
artigo “Extreme Programming from a CMM perspective”
O artigo diagnostica a satisfação de cada KPA do CMM 2 e 3 com o uso de XP
Este diagnóstico de dá sob os Goals de cada KPA
Conclusões do artigo de Paulk Conclusão 1:
Conclusão 2:“Uma implementação ingênua de XP que ignore itens de infra-estrutura (institucionalização) irá falhar na satisfação das KPAs”
Conclusão 3:Avaliação fortemente dependente do julgamento do assessor
Diferenças Estruturais Visão Organizacional
CMM olha para as organizações
XP olha para os projetos Estrutura Organizacional
CMM propõe mudanças na estrutura das organizações
XP propõe papéis aos participantes dos projetos
Documentação CMM exige alguma
documentação XP exige que apenas a
documentação realmente necessária seja mantida
Tamanho CMM foi elaborado
baseado em grandes organizações que desenvolvem projetos grandes e críticos para o governo
XP é aconselhado para projetos com pessoas de até 12 pessoas
Projeto de Sistema x Projeto de Software CMM aborda o software
como parte de um projeto de Sistema
XP é direcionado apenas a software
Conteúdo
O que é o trabalho de pesquisa Motivação para o trabalho Extreme Programming O CMM CMM x XP Uma parte do trabalho, a KPA Requirements
Management segundo XP Conclusões
A KPA RM do CMM utilizando XP
Goals
Meta 1: Os requisitos alocados ao software são controlados para estabelecer um baseline para a engenharia de software e uso de gerenciamento
Meta 2: Os planos, produtos e atividades são mantidos consistentes com os requisitos de software alocados.
Compromissos
Compromisso 1: O projeto segue uma política organizacional escrita para gerenciar os requisitos de sistema alocados ao software NA
Habilidades Habilidade 1: Para cada projeto, responsabilidade é
estabelecida para analisar os requisitos do sistema e alocá-los a hardware, software e outros componentes de sistema. Ok -> toda a equipe
Habilidade 2: Os requisitos alocados são documentados. Parcialmente -> Técnicos sim, não faz referência a não
técnicos Habilidade 3: Recursos e financiamento adequados são
disponibilizados para gerenciar os requisitos alocados NA
Habilidades
Habilidade 4: Membros do grupo de engenharia de software e outros grupos relacionados são treinados para realizar as atividades de gerenciamento de requisitos NA
Atividades Atividade 1: O grupo de engenharia de software
revisa os requisitos alocados antes de eles serem incorporados ao projeto de software OK
Atividade 2: O grupo de engenharia de software usa os requisitos alocados como base para planos de software, produtos de trabalho e atividades. Parcialmente -> Não há controle de versão dos
requisitos
Atividades
Atividade 3: Mudanças aos requisitos alocados são revisadas e incorporadas ao projeto de software. Parcialmente -> não há revisão com a
gerência sênior
Medições Medição 1: Medidas
são feitas e utilizadas para determinar a situação das atividades para gerenciar os requisitos alocados. Parcialmente -> XP
sugere gráficos para o status das histórias, mas não para outras atividades importantes de RM como controle de mudanças
Verificações Verificação 1: As atividades para gerenciar os requisitos
alocados são revisadas pela gerência sênior em uma base periódica. Não contempla
Verificação 2: As atividades para gerenciar os requisitos alocados são revisadas com o gerente do projeto em uma base periódica e dirigida a eventos. OK
Verificação 3: O grupo de garantia da qualidade revisa e/ou audita as atividades e produtos de trabalho para gerência dos requisitos alocadas e reporta os resultados. Não contempla