O uso de XP em uma Organização CMM 2 Renata Endriss recc@cin.ufpe.br.

Post on 07-Apr-2016

213 views 0 download

Transcript of O uso de XP em uma Organização CMM 2 Renata Endriss recc@cin.ufpe.br.

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