análise de sistemas · análise de sistemas –scrum introdução “scrum não é um processo ou...
TRANSCRIPT
Análise de Sistemas – SCRUM
Análise de Sistemas
SCRUM
Prof. Alessandro Borges
Análise de Sistemas – SCRUM
Tópicos
Introdução
Papéis
Como funciona
2
Análise de Sistemas – SCRUM
Introdução3
Análise de Sistemas – SCRUM
Introdução
“Scrum não é um processo ou uma técnica para
desenvolvimento de produtos. Ao invés disso, é um
framework dentro do qual você pode empregar diversos
processos e técnicas. O papel do Scrum é fazer
transparecer a eficácia relativa das suas práticas de
desenvolvimento para que você possa melhorá-las,
enquanto provê um framework dentro do qual produtos
complexos podem ser desenvolvidos”
Ken Schwaber
4
Análise de Sistemas – SCRUM
Introdução
Uma alternativa para utilizar métodos ágeis na gerência
de projetos.
Pode ser aplicável a qualquer tipo de projeto
É simples
Processo, artefatos e regras são poucos e fáceis de
entender.
A simplicidade pode ser decepcionante aos acostumados
com metodologias clássicas.
5
Análise de Sistemas – SCRUM
IntroduçãoHistória
Nome originado da organização de uma equipe de
Rugby para o reinício da partida.
Implementado na década de 80 em uma fábrica de
automóveis
Formalizado e implementado
no desenvolvimento de
software em 1995 por Ken
Shwaber.
6
[1]
Análise de Sistemas – SCRUM
Introdução
Quem utiliza?
7
Análise de Sistemas – SCRUM
Introdução
Tem sido usado para:
Software comercial
Websites
Empresas de telefonia
Aplicações para redes
Aplicações em produção
(indústria automotiva)
8
Aplicações Financeiras
Sistemas embarcados
Sistemas para controle de
satélites
Vídeo games
Análise de Sistemas – SCRUM
Introdução
Trata-se de uma metodologia (ou Framework) que pode
ser utilizado para o desenvolvimento de software
É utilizado no processo de desenvolvimento iterativo e
incremental para gerenciamento de projetos e desenvolvimento ágil de software
Provê agilidade necessária para responder rapidamente
às mudanças de requisitos.
Valoriza processo ágil com foco na entrega do maior
valor para o negócio no menor tempo.
9
Análise de Sistemas – SCRUM
Introdução
O Scrum não é um método prescritivo
Não define previamente o que deve ser feito em cada situação;
Ele é usado para trabalhos complexos nos quais é impossível
predizer tudo o que irá ocorrer.
Aplica o senso comum
Combinação de experiência, treinamento, confiança e
inteligência de toda a equipe;
Senso comum em vez do senso de uma única pessoa é uma das razões do sucesso do Scrum.
10
Análise de Sistemas – SCRUM
Introdução
Apesar de não ser considerado uma solução completa, pode-se utilizar o Scrum para:
Gerenciar e controlar ambiente de trabalho;
Preservar as práticas de Engenharia de Software;
Tornar a equipe alto-gerenciável e multifuncional;
Implementar o conceito iterativo e incremental;
Facilitar a identificação de causa raiz e a remoção do que estiver impedindo o desenvolvimento e/ou entrega de software/produtos;
Ser caminho da (alta) produtividade e valorização das pessoas.
11
Análise de Sistemas – SCRUM
Introdução
Valores
Transparência;
Integridade: assim que perceber algo, faça algo;
Empirismo (ser empírico);
Auto-organização;
Entrega de valor.
12
Inspeção Adaptação
Sempre que um desvio
não desejado ocorrer,
deve-se adaptar o que
for necessário para que
não volte a ocorrer.
Aspectos do processo
devem ser inspecionados
com uma frequência
suficiente para que
variações inaceitáveis no
processo possam ser
detectadas.
Aspectos significativos do
processo e do projeto
devem estar visíveis para
os responsáveis pelos
resultados.
Transparência
Análise de Sistemas – SCRUM
Introdução
Ênfases
Comunicação
Trabalho em equipe
Colaboração
Flexibilidade
Cronograma
Mudança de requisitos
Produto final
13
Equipes se auto-organizam
Times de desenvolvimento
pequenos
Revisões frequentes
Fornecer software
funcionando
Incrementalmente.
Análise de Sistemas – SCRUM
Introdução
Projeto Scrum progridem em uma série de “sprints”
Produto é projetado, codificado e testado durante o sprint
Ocorre em um período de 2 a 4 semanas
Um período constante leva a um melhor ritmo
14
[2]
Lista de tarefas que o Team se
compromete a fazer em um Sprint
Lista contendo todas as
funcionalidades desejadas
para um produto.
Análise de Sistemas – SCRUM
• Dono do produto• Scrum Master• Equipe
Papéis
• Planejamento• Reunião diária• Revisão• Retrospectiva
Cerimônia (Sprint)
IntroduçãoFramework
15
• Product backlog• Sprint backlog• Burndown (Gráfico)
Artefatos
Análise de Sistemas – SCRUM
Papéis16
Análise de Sistemas – SCRUM
Papéis
As responsabilidades de gerenciamento são divididas
entre três papéis
Product Owner (Dono do Produto)
Scrum Master (Chefe da Equipe)
Scrum Team (Equipe)
17
Análise de Sistemas – SCRUM
PapéisProduct Owner
Representa o cliente
Responsável pela lista de requisitos (Product Backlog)
Gerencia o retorno do investimento (ROI)
Decide datas de lançamento
Prioriza os requisitos
Planeja as entregas (releases)
Garante que os especialistas de domínio
estejam disponíveis para o time
Aceita ou rejeita o resultado
18
[3]
Análise de Sistemas – SCRUM
PapéisScrum Master
Representa a gerência para o projeto
Lidera o time de desenvolvimento
Garante o uso do Scrum;
Remove obstáculos (impedimentos);
Certifica que os envolvidos sigam seus papéis;
Habilita a cooperação entre todos os papéis e funções;
Funciona como um escudo das
interferências externas para o time;
19
[4]
Análise de Sistemas – SCRUM
PapéisTeam (Time)
Geralmente entre 4 e 9 pessoas;
Desenvolvedores, analistas, programadores, DBA etc.
Multidisciplinar, auto-organizado e auto-gerenciável;
Responsável pelas estimativas das tarefas;
Comunicação constante;
Desenvolver o produto;
Garantir a qualidade do produto;
Apresentar o produto ao cliente.
20
[5]
Análise de Sistemas – SCRUM
PapéisTeam (Time)
O tamanho da equipe é muito importante.
Scrum recomenda entre 4 e 9 pessoas, mas pode-se ter
equipes menores, com 3 pessoas, por exemplo.
As vezes é necessário reduzir o tamanho da equipe para
aumentar a produtividade.
Equipe formada por pessoas compro-
metidas em realizar as tarefas da Sprint
Backlog.
21
[5]
Análise de Sistemas – SCRUM
Como funciona22
Análise de Sistemas – SCRUM
Como funciona
Progresso em uma série de Sprints.
Uma parte do produto é produzida (projetada, codificada,
testada...) e entregue ao cliente.
Cada sprint com duração de 2 a 4 semanas.
A duração deve ser constante, podendo variar as
funcionalidades
Parte do produto a ser produzida é priorizada pelo
negócio (ROI)
23
Análise de Sistemas – SCRUM
Como funciona24
[6]
Análise de Sistemas – SCRUM
Como funciona
O Product Owner e alguns membros da equipe fazem um
estudo da situação e levantam as User Stories (o que
deve ser feito, na visão do cliente)
As estórias devem ser objetivas e classificadas conforme
o valor de negócio.
Compõem o Backlog do Projeto, que será dividido em
Sprints.
25
Análise de Sistemas – SCRUM
Como funcionaProduct Backlog
26
[6]
O Product Owner levanta com o(s)
cliente(s) os requisitos mais prioritários
naquele momento e insere estes requisitos
no BACKLOG DO PRODUTO
Análise de Sistemas – SCRUM
Como funcionaProduct Backlog
Lista incompleta e dinâmica dos requisitos do produto
Todas as funcionalidades desejadas
Ordenados por prioridade de desenvolvimento
Gerada incrementalmente, começando pelo básico.
Pode conter tarefas diretas, casos de uso e estórias.
O Product Owner é o responsável por atualizar e priorizar seus itens
“Repriorizado” no início de cada sprint
Nunca está completo
Os itens possuem descrição e estimativas em pontos de esforço
27
[6]
Análise de Sistemas – SCRUM
Como funcionaProduct Backlog
Exemplo 1
28
[6]
Item do Backlog Estimativa
Permitir que o usuário faça uma reserva 3
Permitir que o usuário cancele a reserva 5
Permitir a troca de datas da reserva 3
Permitir que funcionário gere relatórios de lucratividade 8
Melhorar manipulação de erros 8
... 30
... 50
Análise de Sistemas – SCRUM
Como funcionaProduct Backlog
Exemplo 2
29
[6]
Análise de Sistemas – SCRUM
Como funcionaEstória e Tarefa
Estória – funcionalidade macro do sistema
Pequena descrição que relata as necessidades do cliente
Itens do Backlog do produto
Não explicam detalhes de implementação
Contada pelos usuários, ajuda no entendimento
Tarefas – partes que compõem as estórias
Devem ser implementadas pelo Scrum Team (equipe)
30
[6]
Análise de Sistemas – SCRUM
Como funcionaSprint Backlog
31
[6]
A Equipe se reúne com o Product Owner
e decide, a partir do Backlog do Produto,
o que será feito no próximo ciclo de
desenvolvimento: o BACKLOG DA SPRINT
Análise de Sistemas – SCRUM
Como funcionaSprint - Iniciando
Define o objetivo da Sprint
Define o que será feito durante a Sprint
Define uma data para apresentação do Sprint
Priorização e estimativa do Product Backlog,
identificando e estimando as tarefas do Sprint (Sprint
Backlog)
32
[6]
Análise de Sistemas – SCRUM
Como funcionaSprint Backlog – o que é?
Uma lista dos itens a serem desenvolvidos durante a Sprint
As tarefas, o andamento e as estimativas da Sprint
Gerado a partir do Backlog do Produto na Reunião de Planejamento da Sprint
Pode ser modificado ao longo da Sprint
Estimativas podem ser atualizadas (Story Point)
Tarefas podem surgir para os itens já existentes
Podem surgir impedimentos para as tarefas
33
[6]
Análise de Sistemas – SCRUM
Como funcionaReunião de planejamento da Sprint (8 horas)
Participantes: Product Owner, Scrum Master e Equipe
Define-se pessoas ou equipes que participarão da Sprint
Product Owner
Define itens mais prioritários do Backlog do Produto que serão
implementados na Sprint
Equipe e Scrum Master
Quebram em tarefas itens a implementar na Sprint (Sprint Backlog)
Estimam o tempo para a realização de cada tarefa (Story Point)
Estimam o tempo de realização da Sprint
Define o(s) responsável(is) pelas tarefas.
34
Análise de Sistemas – SCRUM
Como funcionaReunião de planejamento da Sprint
O Planning Poker é a “prática” que ajuda na estimativa de tarefas
Geralmente usa uma escala não linear de pontos, que pode ser baseada no Fibonacci: (1,2,3,5,8,13,...) ou em outra escala.
Jogando o Planning Poker:
antes de começar o jogo, é importante definir um valor de referência. Exemplo: Identificar a estória a que pode ser atribuído o menor valor, esta estória será utilizada como referência para pontuação das demais
35
Análise de Sistemas – SCRUM
Como funciona
Reunião de planejamento da Sprint
Story Point (Pontos da Estória)
É a estimativa relativa ao “tamanho e/ou tempo” que se
levará para realizar cada tarefa da Sprint.
Primeiro – considera o valor que cada item do Backlog do Produto
agrega para o seu negócio
Segundo – estima a complexidade de cada um destes itens em Story
Points
36
Análise de Sistemas – SCRUM
Como funcionaReunião de planejamento da Sprint
No Planning Poker,
cada participante da equipe recebe um baralho com a
sequência numérica definida e então cada estória é jogada
Caso os valores dos participante sejam muito diferentes,
deve haver uma discussão e uma nova rodada do jogo
37
Análise de Sistemas – SCRUM
Como funcionaReunião de planejamento da Sprint
No fim da reunião o Sprint Backlog precisa ser definido
Normalmente elaborado na segunda parte da reunião de
planejamento da Sprint
38
Análise de Sistemas – SCRUM
Como funcionaImpedimentos do Backlog
Lista de problemas que estão atrasando ou atrapalhando
as atividades da Sprint
Ex: computador com defeito
É responsabilidade do Scrum Master resolver esses
problemas.
39
Análise de Sistemas – SCRUM
Como funcionaComo é organizado o Backlog
Geralmente organizado em um quadro de tarefas.
40
Análise de Sistemas – SCRUM
Como funcionaA Sprint
41
A Equipe faz o trabalho no ciclo
de desenvolvimento, a SPRINT
Análise de Sistemas – SCRUM
Como funcionaA Sprint – o que é?
É a iteração (ciclo) de desenvolvimento
Reunião de planejamento da Sprint
O time recebe uma parte do backlog para desenvolvimento
Trabalho de desenvolvimento
Revisão e retrospectiva da Sprint
Cada Sprint deve ter uma meta
Duração fixa de 1 a 4 semanas
42
Análise de Sistemas – SCRUM
Como funcionaA Sprint – o que é?
O Scrum Master deve assegurar que não seja feita
nenhuma mudança que afete a meta da Sprint.
Deve-se apresentar ao menos uma versão atualizada do
produto ao final da Sprint
Pode ser cancelada se sua meta perder o sentido
Somente o Product Owner pode cancelar
É muito raro a Sprint ser cancelada.
43
Análise de Sistemas – SCRUM
Como funcionaA Sprint – reuniões diárias (15 minutos)
44
Todos os dias, a equipe e o Scrum Master
fazem uma reunião de 15 minutos para
promover visibilidade e comunicação
Análise de Sistemas – SCRUM
Como funcionaA Sprint – reuniões diárias (15 minutos)
Participantes: Equipe e Scrum Master
Cada integrante da equipe deve responder 3 perguntas:
1. O que você realizou desde a última reunião?
2. Quais problemas você enfrentou?
3. Em que você trabalhará até a próxima reunião?
O Scrum Master deve remover os impedimentos
(problemas) encontrados
O gráfico de BURNDOWN deve ser atualizado!
45
Análise de Sistemas – SCRUM
Como funcionaA Sprint – reuniões diárias – Benefícios
Maior integração entre os membros da equipe
Rápida solução de problemas
Promovem o compartilhamento de conhecimento
Progresso medido continuamente
Minimização de riscos.
46
Análise de Sistemas – SCRUM
Como funcionaA Sprint – reuniões diárias – Local de encontro
Sempre o mesmo local e hora
Pode ser o local de desenvolvimento
As pessoas podem ficar em pé ou sentadas ao redor de uma mesa
TODOS devem participar
Punições (atrasos/faltas)
Sala bem equipada
quadro branco, etc.
47
Análise de Sistemas – SCRUM
Como funcionaA Sprint – o que é Burndown da Sprint?
É um gráfico que mostra a soma dos tempos (valores, horas, dias) estimados restantes das tarefas da Sprintpelo tempo da Sprint
Eixo Y: tempos estimados restantes
Eixo X: dias da Sprint
Principal ferramenta de gerenciamento do processo
Acompanhar o progresso em direção ao final de uma Sprint
É feito inicialmente no planejamento da Sprint e deve ser atualizado todos os dias até o final da Sprint.
48
Análise de Sistemas – SCRUM
Como funcionaA Sprint – Burndown – exemplos
49
estimado atual
Análise de Sistemas – SCRUM
Como funcionaA Sprint – o que é Kanban?
Termo japonês que significa “cartão” ou “sinalização”
Relacionado com a utilizações de cartões (post-it) para indicar o
andamento dos fluxos de projetos.
Nos cartões são colocadas indicações sobre tarefas
Ex: “Executar” / “em Andamento” / “Finalizado”
Permite controle detalhado de produção com informações sobre
quando, quanto e o que produzir
50
Análise de Sistemas – SCRUM
Como funcionaA Sprint – Incremento no produto
51
Ao final da Sprint a equipe terá produzido
uma versão PRONTA do produto, que
significa valor para o cliente
Análise de Sistemas – SCRUM
Como funcionaA Sprint – Revisão (4 horas)
52
A Equipe se reúne com o Product
Owner e convidados para apresentar
as funcionalidades que foram feitas.
Análise de Sistemas – SCRUM
Como funcionaA Sprint – Revisão (4 horas)
53
Participantes
Product Owner, Equipe , Scrum Master e stakeholders (todos os interessados)
Esta reunião acontece no final da Sprint
Equipe apresenta os resultados obtidos durante a Sprint
Demonstração de novas funcionalidades ou sua arquitetura
Possíveis modificações no Backlog do Produto são discutidas entre o Product Owner e a Equipe.
Análise de Sistemas – SCRUM
Como funcionaA Sprint – Revisão – Papéis
54
A Equipe
demonstra as funcionalidades que foram realizadas durante a Sprintpara o Product Owner e demais interessados
e responde as perguntas.
O Product Owner
verifica o que foi e o que não foi feito na Sprint
compara os objetivos iniciais da Sprint.
O Scrum Master
é o responsável pela reunião de revisão da Sprint
anuncia a data e o local da próxima reunião de revisão da Sprint ao Product Owner e a todos stakeholders.
Análise de Sistemas – SCRUM
Como funcionaA Sprint – Retrospectiva (3 horas)
55
Participantes:
Equipe, Scrum Master e, opcionalmente, o Product Owner
Feita após cada Sprint
Realiza uma avaliação da Sprint
O que deu certo?
O que deu errado?
O que pode ser melhorado?
Quais as Lições aprendidas?
O Scrum Master
escreve as respostas e prioriza na ordem que deseja discutir as potenciais melhorias
tem o papel de fazer com que o time encontre melhores formas de aplicar o Scrum.
Análise de Sistemas – SCRUM
Como funcionaA Sprint – e o ciclo recomeça
56
Análise de Sistemas – SCRUM
Como funcionaA Sprint – Roadmap 1
57
Análise de Sistemas – SCRUM
Como funcionaA Sprint – Roadmap 2
58
Análise de Sistemas – SCRUM
Como funcionaA Sprint
59
Qual o critério para decidir se uma atividade do Backlogserá incluída na Sprint?
Dois critérios
Base da conversa
Velocidade das Sprints
Análise de Sistemas – SCRUM
Como funcionaA Sprint – escolha de tarefas para a Sprint
60
Base da conversa
Ideal quando a equipe não possui histórico de Sprints
Equipes que nunca trabalharam com Scrum
Não possuem dados estatísticos para realizar o cálculo de velocidade
O Scrum Master pergunta para cada membro da equipe quanto tempo uma atividade do Backlogdemora para ser desenvolvida (em horas)
com base nisso são definidas as horas necessárias para cada atividade do Backlog e se esta atividade será incluída ou não na Sprint.
Análise de Sistemas – SCRUM
Como funcionaA Sprint – escolha de tarefas para a Sprint
61
Velocidade das Sprints (1/2)
Verificar o histórico da equipe
Qual foi a velocidade da equipe nas últimas Sprints?
Maneira mais simples de estimar a velocidade.
Assume-se que a velocidade será a mesma da última Sprint
Só funciona se a equipe já tiver feito algumas Sprints antes.
Outra maneira de calcular a velocidade das Sprints:
Através de cálculo de recurso.
Análise de Sistemas – SCRUM
Como funcionaA Sprint – escolha de tarefas para a Sprint
62
Velocidade das Sprints (2/2)
Cálculo de recurso
Recomendada apenas para equipes que tenham feito
muitas Sprints antes
Ex: assumindo que se planeja uma Sprint de 3 semanas (15
dias) com um time de 4 pessoas.
Fórmula para velocidade estimada do Sprint:
Dias de Recurso Disponível = (Membro da Equipe * Dias Disponíveis)
Velocidade Estimada = (Dias de Recurso Disponível * Fator Foco)
Análise de Sistemas – SCRUM
Como funcionaFerramentas de Apoio
63
Scrumy – ferramenta online para controle de estórias e tarefas
Mingle – ferramenta paga (e cara), porém uma das mais completas do mercado.
Pango – ferramenta online que auxilia em quase todas as atividades do Scrum
Scrum Works – ferramenta com versões free e paga, bem simples e precisa de instalação.
Ice Scrum – ferramenta completa para Scrum
Scrum Half – ferramenta brasileira e online
Análise de Sistemas – SCRUM
Conclusão64
Análise de Sistemas – SCRUM
Conclusão65
O Scrum...
é um conjunto de práticas focadas em melhoria contínua do processo.
promove a constante adaptação das práticas mesmo durante o projeto.
A Equipe do Scrum...
equipe comprometida
transparente internamente
auto-gerenciável e
Multifuncional
A Colaboração é um fator-chave para o sucesso!
Análise de Sistemas – SCRUM
Análise de Sistemas
SCRUM
Prof. Alessandro Borges
Análise de Sistemas – SCRUM
Referências
Imagens
SOMMERVILLE, Ian. Engenharia de Software. 8ª ed. Pearson – Addison Wesloey.
2007.
[1] - http://blogs.independent.co.uk/wp-content/uploads/2011/09/scrum1-
300x184.jpg
[2] - http://blog.myscrumhalf.com/wp-content/uploads/image/figura_sprint.jpg
[3] - http://info.abril.com.br/images/materias/2013/04/jj-20130408082411.jpg
[4] - http://j.i.uol.com.br/jogos/2011/09/07/gamegol-1315420760534_450x253.jpg
[5] - http://blogdobirner.net/wp-content/uploads/2007/10/time.jpg
[6] -
http://epf.eclipse.org/wikis/scrum/Scrum/guidances/supportingmaterials/resource
s/ScrumLargeLabelled.png
67