Desafios no Uso do Scrum em Ambientes CMMI Teresa Maria de Medeiros Maciel UFRPE/INES/UFPE tmmaciel@gmail.com
Base de conhecimento disponível Maior controle ISO9001 MPS BR Padronização processual e cultural Visibilidade da organização Reconhecidos pelo mercado
Base de conhecimento disponível Maior controle ISO9001 MPS BR Padronização processual e cultural Visibilidade da organização Reconhecidos pelo mercado
Prazos mais curtos XP SCRUM Mitigação de riscos (iterações curtas, cliente próximo) FDD CRYSTAL Melhores resultados em termos de qualidade Produtos de valor agregado
Scrum is an Agile process that can be used to manage and control complex software and product development using iterative, incremental practices. Ken Schwaber (http://www.controlchaos.com/) CMMI is a process improvement approach that provides organizations with the essential elements of effective processes that ultimately improve their performance. SEI (www.sei.cmu.edu/cmmi)
Por Estágios 5 Níveis de Maturidade. Base no SW CMM. Contínua 6 Níveis de Capacidade. Base no EIA/IS 731 ISO 15504 (SPICE). O nível de capacidade é atribuído por área de processo.
Por Estágios 5 Níveis de Maturidade. Base no SW CMM. Contínua 6 Níveis de Capacidade. Base no EIA/IS 731 ISO 15504 (SPICE). O nível de capacidade é atribuído por área de processo.
estrutura Nível de Maturidade requeridos Área de Processo Objetivos desejáveis explicativos Práticas genéricas e específicas Subpráticas Produtos típicos de trabalho
níveis de maturidade do CMMI Foco em Melhoria de Processo 5 Otimizado Gerenciamento quantitativo e qualitativo 4 Quantitativamente Gerenciado Processos são definidos no nível da organização - processos de engenharia 3 Definido Controle e gerenciamento de projetos 2 Gerenciado 1 Initial
agile X maturity levels LEAN 5 Otimizado Medições mais sofisticadas sobre burndows 4 Quantitativamente Gerenciado XP, TDD, pair programming, FDD 3 Definido Scrum 2 Gerenciado 1 Initial
Principais pontos de interseção
N2 requisitos são gerenciados e os projetos planejados, medidos e controlados
Identificação e monitoramento de Itens de backlog N2 requisitos são gerenciados e os projetos planejados, medidos e controlados Pré-game sprint planning Burndow Daily meeting, sprint review, retrospective
Estimativas de tamanho/complexidade, esforço, custo e prazo Estima esforço, podendo ser aplicado StoryPoints Realiza planejamento de custo e prazos no pregame. Acompanhamento é realizado através do Burndown e em reuniões diárias, com foco em progresso.
Estimativas de tamanho/complexidade, esforço, custo e prazo Scrum não considera estimativas e acompanhamento de tamanho ou complexidade. Premissas para base de estimativas não são mencionadas. Scrum não ressalta o uso de dados históricos como base para as estimativas. O acompanhamento de budget e esforço não são considerados pelo Scrum.
Riscos, problemas e ações corretivas Na fase de pregame, riscos preliminares são identificados. Durante as Sprints, riscos podem ser reportados e tratados. Impedimentos e ações corretivas podem ser tratados nas reuniões diárias. O CMMI requer a análise da efetividade das ações corretivas.
Planejamento de Skills e Treinamento Na fase de pregameo Scrum menciona o planejamento da alocação do time e de treinamento necessários. O CMMI é bem mais detalhado neste aspecto, precisando ter papéis e responsabilidades bem definidos para o projeto.
Gerenciamento de dados O Scrum menciona que qualquer dado gerado pelo projeto deve ser armazenado em folder público. O CMMI requer maior controle deste aspecto como estabelecimento de controle de acesso, forma de comunicação entre outros.
Monitoramento de Compromissos e Envolvimento de Stakeholdes O Scrum é forte neste aspecto, indo além do que pede o CMMI. Para minimizar riscos com avaliações, no entanto, é importante que compromissos e forma de iteração com os stakeholders estejam registradas e aprovadas.
Monitoramento de Compromissos e Envolvimento de Stakeholdes O Scrum é forte neste aspecto, indo além do que pede o CMMI. Para minimizar riscos com avaliações, no entanto, é importante que compromissos e forma de iteração com os stakeholders estejam registradas e aprovadas.
Gerenciamento de requisitos O Scrum identifica os itens de backlog, os registra e as tasks desenvolvidas estão diretamente relacionadas aos mesmos. Os releases também são planejados e relacionados com os itens de backlog. Rastreabilidade bidirecional de requisitos não é contemplada no Scrum.
Scrum em Ambiente CMM Impressões do Time
Aumento da interação da equipe. Aumento da visibilidade das tarefas de toda a equipe, agilizando a resolução das dependências. Equipe auto-gerenciável => Maior comprometimento.
A equipe tem muito mais autonomia e poder de decisão. Foco: equipe trabalha no mesmo requisito. O PPQA minimizou o esforço uma vez que parte das auditorias foram supridas pela visibilidade das reuniões diárias.
Todos os membros da equipe conhecem as atividades dos demais membros. Isso permite uma maior cooperação entre o time. Uns ajudam os outros. Dependências são mais visíveis.
As reuniões de retrospectiva ao final de cada sprint possibilita que a equipe corrija os erros de planejamento muito mais rapidamente.
O escopo é mais facilmente renegociado, através de mudanças de priorização no product backlog. Esta facilidade potencializa a satisfação do cliente, ainda que ao término do projeto o software não tenha todos os requisitos solicitados inicialmente.
Pontos Nebulosos Dados históricos Peso das evidências Métricas organizacionais Estimativa de Tamanho
O que comumente fazemos Adição de práticas CMMI ao Scrum: Registro de evidências Medições adicionais Controles adicionais
O quanto a inserção de práticas CMMI deturpa a filosofia ágil do Scrum?
Alguns trabalhos nesta linha CSE Annual Research Review and Executive Workshop, AGILE Methods and CMMI, 2002 Jeffrey L. Dutton, Agile/ Lean Development and CMMI, 2005. Bohem & Turner, Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods, 2004 Andersen, Stretching Agile to fit CMMI Level 3, 2005. Dalton, Agile CMMI, 2006 Jackobsen &Johnson, Mature Agile with a twist of CMMI, 2008. Sutherland Jackobsen &Johnson, Scrum and CMMI Level 5: The Magic Potion for Code Warriors,2007. Alegria & Bastarrica, Implementing CMMI using a Combination of Agile Methods, 2006. Fritzsche & Keil, Agile Methods and CMMI: Compatibility or Conflict?,
Agradecimentos INES Instituto Nacional de Tecnologia para Engenharia de Software www.ines.org.br
Obrigada! Teresa M M Maciel UFRPE/INES/UFPE www.deinfo.ufrpe.br, www.ines.org.br, www.cin.ufpe.br tmmaciel@gmail.com