scrum - metodo ágil
Post on 19-Dec-2015
49 Views
Preview:
DESCRIPTION
TRANSCRIPT
Engenharia de Software
SCRUM
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Visão Geral
● Método ágilFoco no gerenciamento
● Manifesto ágil – valorizar...Indivíduos e iterações sobre● Processos e ferramentasSoftware funcional sobre ● Documentação exaustivaColaboração com o cliente sobre ● Negociação de contratoResposta a mudanças sobre ● Seguir um plano
Visão Geral
● Bases do ScrumTrabalho em equipe unida e integradaCliente é um contribuidor chave para o sucesso do projetoMudanças são aceitas como vantagem competitivaComunicar bem é melhor que programar bemDocumentação deve ser útilAlta qualidade é a chave para a alta velocidadeManter a arquitetura flexívelPensar de forma simples, eficiente, e incrementalUma boa equipe em um bom ambiente
Visão Geral
•Dono do produto•ScrumMaster•Equipe
Papéis
•Planejamento•Reunião diária•Revisão•Retrospectiva
Processo
•Product backlog•Sprint backlog•Burndown charts•Quadro de tarefas
Artefatos
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Conceitos Básicos
● Conceitos iniciaisEstóriaBacklogSprint Scrum
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Estória
● Necessidade do usuárioExemplo de estrutura:● Como um (papel)● Eu quero (alguma coisa)● A fim de (obter um benefício)
Estória
● Exemplo de estória
Como um estudante eu quero comprarbilhetes de ônibus a fim de ir para
a escola.
Estória● Uso de index cards
Lembre-se deles!Um exemplo:
Estória: Permitir o depósito em conta
Precisa de um diagramaDe sequência da UML.
Não precisa de criptografiapor enquanto.
Faz o login; abra a páginade depósito; depositeR$ 10; vá à página de
saldo e verifique seaumentou em R$ 10.
300
Observações Demonstração
EstimativaImportância
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Backlog
● Inglês paraReservaAcúmulo
● Lista de itens a serem implementadosLista de estórias!Deve incluir tudo que deve ser feitoPriorizado pelo dono do produtoRepriorizado no início de cada Sprint
Backlog
Sprint
Release
Alta
Baixa
Futuros Releases
Valor
Risco
Conhecimento
PrioridadeCusto
Backlog● Exemplo de backlog do produto
Item do Backlog Importância
Permitir que o usuário faça uma reserva 3000
Permitir que o usuário cancele a reserva 500
Permitir a troca de datas da reserva 300
Permitir que empregado do hotel gere relatórios de lucratividade 80
Melhorar manipulação de erros 50
... 30
... 20
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Sprint
● Inglês paraArrancada (em corrida de velocidade)
● São iteraçõesObjetivos bem definidos● Não mudam durante o SprintBacklog próprioDuração constante
Sprint
Backlog
Itens de
Sprint
(Duração Fixa)
Software
Objetivos do Sprint
Backlog do Sprint decomposto pela
equipe
Software Revisado pelo Cliente
Mudança
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Scrum
● Inglês para… não há uma boa tradução!Palavra usada no jogo de rugby
Scrum
Fonte: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
Em vez de completar uma coisa por vez...
Requisitos Projeto Código
... equipes Scrum fazem um pouco de cada coisa, todo o tempo
Teste
Princípios do ScrumEquipes ● Auto-dirigidas● Auto-organizadas ● Co-localizadasEncontro diário● 15 minutos (em pé) ● 3 questõesIterações de 30 dias de calendárioPlanejamento iterativo e adaptativoEnvolvimento de stakeholdersMedição diária de progresso pela equipeIterações entregam software testado e completamente funcional para demonstração
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Equipe Scrum
● Três papéisDono do ProdutoScrum MasterEquipe Técnica
Dono do Produto
● Define as funcionalidades do produto● Decide datas de lançamento e conteúdo● Prioriza funcionalidades de acordo com o valor de mercado● Ajusta funcionalidades e prioridades● Aceita ou rejeita o resultado dos trabalhos
Scrum Master
● Representa A gerência para o projeto E a equipe para a gerência
● Responsável pela aplicação dos valores e práticas do Scrum ● Remove obstáculos● Garante a plena produtividade da equipe● Garante a colaboração entre os diversos papéis e funções● Escudo para interferências externas
Equipe Técnica● Entre 5 e 9 pessoas
7 é o ideal● Tecnicamente Multi-funcional
Programadores, testadores, desenvolvedores de interfaces, e tudo que a empresa define como padrão
● Tempo integralRaras exceções (Ex.: Administrador de Banco de Dados)
● Auto-organizávelIdealmente, sem títulos, ainda que possívelTodos da equipe devem ser capazes de desenvolver código
● Trocas só na mudança de Sprints
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Atividades
● Plano de Sprint - Sprint Planning (2 reuniões de 4 horas)
Cliente e equipe identificam itens do backlog a serem entregues no próximo sprintEquipe planeja detalhes do sprint e se compromete com o objetivo
● Reunião Diária - Daily Scrum (15 minutos)Equipe revisa o dia anterior, identifica barreiras e planeja o dia
Sprint PlanningMeeting
( 8 Hours )
Sprint( 30 cal days )
Sprint ReviewMeeting
( 4 hours )Daily Scrum
Meeting( 15 minutes )
SprintRetrospective
Meeting( 3 hours )
Atividades
● Revisão do Sprint - Sprint Review (4 horas)Equipe demonstra funcionalidade completa ao dono do produto
● Retrospectiva do Sprint - Sprint Retrospective (3 horas)Equipe discute como melhorar o próximo sprint
Sprint PlanningMeeting
( 8 Hours )
Sprint( 30 cal days )
Sprint ReviewMeeting
( 4 hours )Daily Scrum
Meeting( 15 minutes )
SprintRetrospective
Meeting( 3 hours )
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Planejamento do Sprint
Planejamento
Priorização
• Análise e avaliação do product backlog
• Objetivo do sprint
Plano
• Decidir como chegar ao objetivo (projeto)
• Cria tarefas do sprint backlog a partir dos itens do product backlog (user stories / funcionalidades)
• Horas no sprint backlog
ObjetivoObjetivo
SprintbacklogSprint
backlog
Condições de negócioCondições de negócio
Capacidades da equipe
Capacidades da equipe
Product backlogProduct backlog
TecnologiaTecnologia
Produto atual
Produto atual
Objetivo do Sprint
● Breve declaração● Ilustre o foco do trabalho
Base de Dados
Serviços financeiros
Ciências da vida
Funcionalidades para estudos genéticos da população
Criar suporte para indicadores de desempenho em tempo real
Fazer com que a aplicação rode no SAL Server além do PostgreSQL
Sprint Backlog
● A equipe seleciona itens do Product Backlog que compromete-se a concluir● O Sprint Backlog é criado
Tarefas identificadas e estimadas (1 a 16 horas)De forma colaborativa pela equipe● Apoio do Scrum Master
● Planejamento de alto nível é considerado
Sprint Backlog
● EstóriasClarificadas e refinadasQuebradas em tarefasEstimadas
Quero que os usuários do portal possam planejar suas férias, escolhendo itinerários online
Quero que os usuários do portal possam planejar suas férias, escolhendo itinerários online
Modelagem (8 horas)Codificar interface (4)Escrever textos (4)Codificar a classe foo (6)Atualizar testes de performance (4)
Sprint Backlog
TarefasTarefasCodificar interface de usuário
Codificar regra de negócio
Testar
Escrever help online
Escrever a classe foo
SegSeg8
16
8
12
8
TerTer4
12
16
8
QuaQua QuiQui
4
11
8
4
SexSex
8
8
Adicionar log de erros
8
10
16
8
8
Sprint Backlog
● Cada indivíduo escolhe o trabalho que faráTrabalhos nunca são atribuídos
● Atualização diária da estimativa do trabalho restante● Qualquer membro da equipe pode adicionar, apagar ou mudar tarefas● O trabalho aparece a partir do Sprint● Se uma tarefa não é clara, defina-a como um item com uma quantidade maior de tempo e subdivida-a depois● Atualize as coisas a serem feitas na medida em que se tornam mais conhecidas
Task BoardPainel de Controle
Estórias do Usuário(Backlog do Sprint)
Tarefas Tarefas CompletadasBurndown Chart
(Controle do Tempo)
Task BoardPainel de Controle
Burndown Chart
0
100
200
300
400
500
600
700
800
Ajuste no Backlog
Inclinação = Velocidade
Velocidade estimada é mostrada como baseline para ajustes
Duração do Sprint (em dias)
Horas deTrabalhoRestantes
Task BoardPainel de Controle
● Espaço para tarefas não previstasProblemas podem acontecerTrabalho não planejado
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Scrum Diário
● ParâmetrosMesmo local e horário15 minutosTodo mundo é convidadoApenas podem falar ● Membros da equipe● Scrum Master● Dono do Produto
Scrum Diário
● Três perguntasO que você fez desde nossa última reunião?Quais problemas enfrentou?O que você fará até nossa próxima reunião?
● Não é para a solução de problemas● Ajuda a evitar reuniões adicionais desnecessárias ● Respostas não são um “relatório” para o Scrum Master
São COMPROMISSOS perante os pares
Burndown Chart
0
100
200
300
400
500
600
700
800
Ajuste no Backlog
Inclinação = Velocidade
Velocidade estimada é mostrada como baseline para ajustes
Duração do Sprint (em dias)
Horas deTrabalhoRestantes
Burndown Chart
● Mostra o trabalho sendo “queimado”Redução do número de horas estimadas para completar o objetivo do Sprint● Exemplo: um trabalho de 600 horas = 6 pessoas x
20 dias x 5 horas/dia● Cada dia → trabalho de 30 horas
● O gráfico deve ser estar completo (30 dias)● A velocidade e carga de trabalho ideais são mostradas como uma baseline
No exemplo do gráfico anterior, a equipe eliminou a tarefa de menor prioridade e fez hora extra para compensar um erro na estimativa inicial
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Revisão do Sprint
● Equipe apresenta os resultados obtidos durante o Sprint
Novas funcionalidades ou sua arquitetura● Informal
2 horas de preparaçãoSem slides
● Toda a equipe participa● Todo mundo é convidado
Roteiro
● Visão Geral● Conceitos Básicos
EstóriaBacklogSprintScrum
● Equipe Scrum● Atividades
Planejamento do SprintScrum DiárioRevisão Retrospectiva
Retrospectiva do Sprint
● Periodicamente, observe o que funciona e o que não funciona
Tipicamente de 15 a 30 minutos● Feita após cada Sprint● Toda a equipe participa
Retrospectiva do Sprint
● A equipe discute o que gostaria de:
Iniciar a fazerIniciar a fazerIniciar a fazerIniciar a fazer
Parar de fazerParar de fazerParar de fazerParar de fazer
Continuar Continuar fazendofazendo
Continuar Continuar fazendofazendo
Esta é uma das várias maneiras de se conduzir
uma retrospectiva do
Sprint
Resumo
Referências
Sommerville, I. (2007) Software Engineering. Oitava Edição. Addison-WesleyPressman, R. S. (2005) Software Engineering – A Practitioner's Approach. Sexta Edição. MCGraw-HillKniberg, H. (2007) Scrum and XP from the Trenches – How We Do Scum. Edição Online. Disponível em http://www.infoq.com/minibooks/%20scrum-xp-from-the-trenches.
top related