Scrum Em 30 minutos
“O plano mínimo necessário para iniciar um projeto Scrum, consiste de um Documento de Visão e um Product Backlog. A Visão descreve porque o projeto está sendo implementado e o que se deseja ao seu final.” (Schwaber 2004, p. 68)
Métodos da Engenharia Clássica Planejamento Î Implementação; • Linha de Montagem ( Cascata ); • Cada etapa tem um responsável diferente; • Gerenciamento facilitado ( Pessoas são peças ); • Reuso Possível; • Mais Formalidade com o relacionamento com o cliente; • Perda de flexibilidade; • Software não é prédio; • Falsas verdades. •
Perda de Flexibilidade •
Princípio da Incerteza de Ziv: 9 Incerteza é inerente e inevitável em desenvolvimento de software, processos e produtos.
•
Princípio da Incerteza de Requisitos de Humphrey: 9 Em um novo sistema os requisitos não serão completamente conhecidos até que os usuários tenham o usado.
•
Lema de Wegner: 9 Não é possível especificar completamente um sistema interativo.
Métodos Ágeis •
Processos Iterativos;
•
People-Oriented;
•
Cross-functional teams;
•
Inspeção / Adaptação;
•
Time-box;
• Alta
produtividade ( 4 a 10 vezes maior )
Satisfação de todos: clientes, usuários, gerentes e desenvolvedores.
•
Destaques dos Princípios Ágeis • A maior
prioridade é satisfazer o cliente através de entrega contínua e rápida de software que agrege valor; Receber bem as mudanças de requisitos, mesmo que sejam tardias no processo de desenvolvimento; •
•
Entregar software funcional com freqüência;
•
Indivíduos motivados;
•
Conversar cara-a-cara com o cliente;
•
Simplicidade;
•
Em intervalos regulares, o time reflete em como ser mais eficiente.
Mudanças de paradigma Modelo cascata Î Modelo Iterativo; • Escopo fixo Î Tempo fixo ( qualidade fixa); • Planejamento/controle Î Inspeção/adaptação; • Orientado a processo Î Orientado a pessoas; • Mudanças de requisitos são bem vindas; • Melhoria contínua; • Desenv. em camadas Î Desenv. Em fatias. •
Scrum Metaprocesso • Adaptável • Promete Alta Qualidade • Promete Alta Produtividade •
Criadores: • Jeff Sutherland • Ken Schwaber • Mike Beedle
Scrum – Valores em Destaque 1. 2. 3. 4. 5.
Focus; Openness; Commitment; Respect; Courage.
Scrum – Princípios em Destaque 1. Processo Iterativo e Incremental: - Confiabilidade do software; - Antecipação do valor agregado; - Aumento de confiança do cliente; - Motivação da Equipe; - Melhoria Contínua; 2. Auto-organização: - Acreditar na competência das pessoas; - A equipe tem capacidade de se auto-organizar; - Tarefas não devem ser atribuídas autoritáriamente, mas voluntáriamente; - Atribuições ocorrem diariamente; 3. Comunicação (transparência): - Através da reuniões diárias a comunicação é feita pessoalmente; - Controles visuais; - Reuniões regulares de restrospectiva; - Problemas vêem rapidamente a superffície; - Group Programming ( Esquipes cross-functional);
Scrum – Princípios em Destaque 4. Time-Box: - O tempo das Iterações é mandatório, assim como a qualidade. - Todos os encontros tem tempo fixo. 5. Menos planejamento, mais ação: - Retardar decisões; - Retardar uma decisão e retomá-la apenas no momento apropriado ( cenário mais atualizado, novas prioridades, mais conhecimento sobre condições).
6. Cliente é um parceiro: - Participação ao longo do projeto; - Acompanhamento mensal; - Disponibilidades para dúvidas; - Mudanças de requisitos são bem-vindas a qualquer momento.
Scrum Artefatos
Artefatos – User Story Campos Básicos: •
Id, Título (ou descrição sucinta);
•
Valor da Story (Medido pelo Product Owner, este valor é relativo ao business
value);
•
Story Points (Medido pelo Team e o Scrum Master, este valor é relativo ao grau de
complexidade da Story);
•
Descrição Detalhada;
Artefatos – Tasks •
Cada Story deverá ser quebradas em Tasks;
•
Idealmente, cada task corresponde a 1 dia de trabalho;
• As •
atribuições das Tasks às pessoas ocorre diariamente;
Cada Task vira um post-it.
Artefatos – Task Board •
Colunas Básicas: TO DO, DOING, DONE;
•
Conceito de DONE;
•
Burn-down chart (gráfico com contagem de pontos parciais das Stories, das
Iterações e do Projeto);
•
Pode conter outras colunas e conteúdos;
Artefatos – Task Board
Scrum Conceitos
Scrum – Conceitos •
Sprint:
- Iteração; - Período de 2 a 4 semanas de trabalho da equipe. • Daily Sprint: - 1 dia de trabalho. • Product Backlog: - Lista de requisitos em formato User Story; - Ordenada por prioridade. • Selected Backlog / Sprint Backlog: - Lista de tarefas a serem realizadas durante a Sprint; - Baseada nas maiores prioridades do Product Backlog; - De acordo com a Velocity da equipe em uma Sprint.
Scrum – Conceitos Impediment Backlog: - O Impediment Backlog possui a lista de impedimentos que podem gerar problemas na entrega, seja de um Sprint ou de um Projeto como um todo. Geralmente consiste de tarefas que não puderam ser realizadas pela equipe por pendências externas. Este backlog deve ser tratado pelo Scrum Master que deve agir como facilitador na resolução destes impedimentos.
•
•
Velocity:
- É a medida da CAPACIDADE da equipe em resolver funcionalidades (Stories/Tasks) de uma Sprint.
Scrum Personagens
Scrum - Personagens • São apenas três personagens; • Não tem relação direta com cargos e hierarquias.
Product Owner • Team • Scrum Master •
Personagens – Product Owner • Fornece a visão do negócio;
Mantém os itens do Product Backlog atualizados e priorizados; • A cada início de Sprint participa da elaboração do Selected Backlog; • Maximiza ROI (“Valor Agregado”); • Aceita ou rejeita o que foi produzido; • Alta participação em início e fim de Sprints; • Disponível para esclarecer dúvidas. •
Personagens – Scrum Master Facilitador; • Não tem autoridade; • Conduz reuniões e eventos; • Mantém o Scrum funcionando; • Remove empecilhos e obstáculos; • Presta serviço ao ScrumTeam; • Protege o ScrumTeam; • Ajuda o Scrum Team nas suas tarefas; • Ajuda o Product Owner nas suas tarefas; • De olho na próxima Sprint. •
Personagens – Scrum Team Multidisciplinar (sem papéis específicos); • Auto-gerenciado; • de 5 a 9 pessoas; • Comprometido com o objetivo e consigo mesmo (esforçado, •
pontual, etc);
• Autoridade
para fazer o que for necessário para atingir o
objetivo; • Comunicação constante (transparência e diálogo).
Personagens - Comprometimento
Às vezes somos porcos, às vezes somos galinhas.
Scrum Meetings
Scrum – Meetings •
Stand-up Meetings ou Daily Meetings ou Scrum Meetings -
Material: - Painel de tarefas; - Post-its; - Canetas.
Scrum Team + Scrum Master. - Objetivo: Sincronização de conhecimento. - Quando: Diariamente. -
Scrum – Meetings •
Stand-up Meetings -
Procedimento: - De pé, máximo de 15 minutos, não é para discutir/resolver problemas; - Sincronização de conhecimento; - Atualização do Burn-Down Chart; - 3 perguntas atualizando o Task Board: - O que eu fiz ontem? - O que farei hoje? - Tenho algum empecilho?
Scrum – Meetings •
Sprint Planning 1 -
Material: - Product Backlog atualizado, priorizado e estimado. - Informações práticas sobre próximo Sprint. - Pessoas, tempo de Sprint, etc.
Product Owner + Scrum Team + Scrum Master. - Objetivo: Definir Selected Backlog e Sprint Goal. - Quando: Todo início de Sprint. -
Scrum – Meetings •
Sprint Planning 1 -
Procedimento: - O Sprint Backlog é preenchido com os itens de maior prioridade do Product Backlog até completar o número de Story Point correspondente a Velocity do Scrum Team. O Product Owner poderá então propor alterações para incluir, excluir e alterar o escopo das Stories. -
Scrum – Meetings •
Sprint Planning 2 -
Material: - Selected Backlog priorizado.
Product Owner(Chicken) + Scrum Team + Scrum Master. - Objetivo: Definir tarefas de cada Story do Sprint. - Quando: Todo início de Sprint. -
Scrum– Meetings •
Sprint Planning 2 -
Procedimento: - Divisão da Stories em tarefas de 1 dia, criando post-its para a coluna “TO DO” (Task Board). - Lembrar que as tarefas podem incluir: - Aprendizado de tecnologia desconhecida; - Programação; - Teste; - Code review; - Documentação.
Scrum – Meetings •
Planning Poker ou Estimation Meeting -
Material: - Cartas do Planning Poker com os valores: 1 - 2 - 3 - 5 - 8 - 13 - 20 - 40 - 100 - 200
-
Scrum Team + Scrum Master.
-
Objetivo: Pontuar a complexidade de cada Story.
-
Quando: Opcionalmente junto com a Sprint planning 1.
Scrum – Meetings •
Planning Poker ou Estimation Meeting -
Procedimento: - Identificar no Product Backlog o item que julga-se ser o de menor esforço e pontuamos como 2; - A partir do Product Backlog fazemos um “Pre-selected” Backlog com os itens mais urgentes na visão do Product Owner; - Para cada Story: - Verificamos se a Story está bem compreendida por todos. - Fazemos uma rodada de PP entre os membros do Time. - Os membros que tiverem dado menor e maior valores fazem uma breve defesa do porque. Repetimos os últimos 2 itens até convergir.
Scrum – Meetings •
Retrospective -
Material: - Informações do Painel de Tarefas já organizadas; - Post-its e Flip-Chart;
Scrum Team + Scrum Master. - Objetivo: - Rediscutir o processo de desenvolvimento -
(visando sua melhoria);
Melhoria Contínua. - Quando: No fim de cada Sprint. -
Scrum – Meetings •
Retrospective -
Procedimento: - Repassar a Sprint cronologicamente; - 5 min de WWWs em post-it (sem acusação pessoal); - What Went Well; - What Went Wrong; - What can be Improvement. - Discutir os itens organizando o Impediment Backlog. - Fechamento: Cada indivíduo faz sua conclusão.
Scrum – Meetings •
Review -
Material: - Informações do Painel de Tarefas;
Product Owner (Pig) + Scrum Team + Scrum Master. - É permitido o convite de outros Stakeholders. - Objetivo: - Revisar a última Sprint e o andamento do projeto. - Quando: No fim de cada Sprint. -
Scrum – Meetings •
Review -
Procedimento: - Revisar detalhes da última Sprint: - Objetivos, Stories, Burn-down chart, etc. - Demo do último incremento do projeto; - Pode incluir a demonstração de documentos e outros.
Se a Review for posterior a Retrospective, pode-se discutir Impediments.
Scrum – Meetings Stand-up Meetings
Sprint i
Review Retrospective
Stand-up Meetings
Sprint
i +1
Sprint Planning 2 Sprint Planning 1
“São permitidos observadores externos, porém, serão Chickens.”
Scrum – Sprint •
Sprint em Resumo: Iteração de 2 a 4 semanas; - Termina com uma deployable version; - Não pode ter sua data postergada; - A descrição da Sprint deve conter: - Data de início e fim; - Stakeholders; - Objetivo; - Total de Pontos; - Sprint Backlog. - O “Botão Vermelho”. -
Scrum – DONE •
DONE??? Design; - Codificação; - Unit-Test; - Code Review; - Refactoring; - Comentado; - Commited; - Documentado; -
Scrum – Possíveis Relatórios Product Backlog a cada Sprint: - Análise das diferenças; - Análise de desenpenho: - Burn-down charts, Velocity; - Ações de melhorias realizadas. -
Agradecimentos • CCE / PUC-RIO • Professor Rodrigo de Toledo, DSc.
Apresentação Organizada por:
Christian Borges Analista de Sistemas Especialista em JavaEE
christianborges.com
[email protected]