scrum - conceitos, práticas e experiências - manoel pimentel
DESCRIPTION
TRANSCRIPT
1
Por Manoel Pimentel Medeiros, CSP Engenheiro de Software
Scrum Scrum Conceitos, Práticas e ExperiênciasConceitos, Práticas e Experiências
2
MAMA
AutorAutor
Manoel Pimentel Medeiros, CSP
É Engenheiro de Software, com 15 anos na área de TI, atualmente trabalha como Agile Coach para importantes empresas da área de serviço, indústria e bancária.
Também é Diretor Editorial da Revista Visão Ágil e da InfoQ Brasil, Possui as certificações CSM e CSP da Scrum Alliance e foi um dos pioneiros na utilização e divulgação de métodos ágeis no Brasil.
E já escreveu para importantes portais e revistas (nacionais e internacionais)
ligados ao desenvolvimento de software.
Maiores informações em: http://manoelpimentel.blogspot.com
3
MAMA
Essência ÁgilEssência Ágil
Você comeria toda essa carne?
Ciclos Ágeis (Inspeção e Adaptação)
4
A metodologia ScrumA metodologia Scrum
5
MAMA
OrigensOrigens
● Scrum foi criado no início da década de 1990 por Jeff Sutherland e Ken Schwaber, nos EUA
Desenvolvimento iterativo
e incremental
Scrum
6
MAMA
Fases do ScrumFases do Scrum
● Pregame
– Planejamento– Desenho e alto nível da
Arquitetura – Modelo Abrangente
● Game
– Sprints (Modelagem incremental, desenvolvimento, revisões e ajustes)
● Postgame
– Fechamento (Agrupamento da Documentação, Treinamento, Lições Aprendidas)
7
MAMA
PapéisPapéis
Product OwnerProduct Owner
ScrumMasterScrumMaster
Time Time
Sou o responsável por garantir o ROI (Retorno sobre o
Investimento) do projeto. Também conheço as necessidades dos
clientes (StakeHolders)
Minha missão é garantir o uso do Scrum. Também devo ser um lider/facilitador, pois preciso remover os impedimentos e
proteger o time das interferências externas.
Nós aplicamos o auto-gerenciamento para definir as
metas das Sprints, visando produzir produtos com alta
qualidade e valor para o cliente.
8
MAMA
Princípios Ágeis sobre os PapéisPrincípios Ágeis sobre os Papéis
● “Pessoal de negócio e desenvolvedores devem trabalhar juntos efetivamente por todo o projeto.”
● “Construa projetos em torno de indivíduos motivados. Dê-lhes o ambiente e o apoio necessários e confie neles para realizarem o trabalho.”
● “O método mais eficiente e eficaz de transmitir informação é a conversação face-a-face.”
Fonte: http://agilemanifesto.org/principles.html
9
MAMA
Equipe Multi-Disciplinar Equipe Multi-Disciplinar e Auto-Organizadae Auto-Organizada
10
Engenharia de Requisitos para Engenharia de Requisitos para um bom Product Backlogum bom Product Backlog
11
MAMA
FBS: Feature Breakdown FBS: Feature Breakdown Structure(FDD)Structure(FDD)
Sistema ouAplicação
Área de Negócio Área de Negócio Área de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de NegócioFuncionalidade
Funcionalidade
Fonte: Adail Muniz Retamal - www.heptagon.com
12
MAMA
O Que é Feature ? Pela visão da FDDO Que é Feature ? Pela visão da FDD
Funcionalidade (ou característica)Pequena o suficiente para ser implementada nomáximo em 01 iteraçãoOferece valor para o clienteMapeia passos em uma atividade de negócio– Pode ser um passo de um caso de uso (ou user stories)– Às vezes pode ser o próprio caso de uso (ou user stories)
Conceito muito próximo ao de um requisito funcional
Modelo: <<açãoação> <> <resultadoresultado> <> <objetoobjeto>>– Calcular o total de uma venda– Autorizar uma transação com cartão de um cliente– Enviar uma nota fiscal para um cliente
Fonte: Adail Muniz Retamal - www.heptagon.com
13
MAMA
Gerenciado ROI com Business ValueGerenciado ROI com Business Value
● Business Value será uma moeda de troca durante o projeto e o cliente empresta um determinado valor dessa moeda para a equipe e esta por sua vez, terá que devolver o valor correspondente em forma de software, ou seja, é uma dívida que a equipe assume com o cliente e que deverá ser amortizada a cada ciclo(Sprint), até que a mesma seja totalmente liquidada (zerada).
14
MAMA
Product BackLogProduct BackLog
Exemplo de Product BackLog
Área Atividade Item Business Value
Sec. Acadêmica Controlar os cursos disponíveis pela instituição 100
Sec. Acadêmica Definir as vagas disponíveis por cursos 90
Sec. Acadêmica Vestibular Realizar a Inscrição de canditados ao vestibular 80
Sec. Acadêmica Finanças Emitir boleto para pagamento taxas de inscrição ao vestibular 70
Sec. Acadêmica Vestibular Fornecer o controle de resultados e aprovações do vestibular 60
Sec. Acadêmica Finanças 50
Sec. Acadêmica Vestibular 40
Gerenciamento de cursos
Gerenciamento de cursos
Emitir boleto para pagamento da matrícula ao curso que o candidato foi aprovado
Realizar a matrícula em um curso por um novo aluno aprovado pelo vestibular.
15
PlanejamentoPlanejamento
16
MAMA
O Conceito de SprintO Conceito de Sprint
– A Sprint é um timebox de 1 a 4 semanas no qual o time do projeto irá produzir uma parte do produto definida pelo cliente
– Cada Sprint deve ter uma meta específica que represente o desejo do cliente em incremento de software para aquele timebox específico
– Os membros do time da Sprint são os responsáveis por estimar os itens que compõem o desejo do cliente e dar a palavra final do que será possível ser desenvolvido naquele timebox
17
MAMA
Fluxo de SprintFluxo de Sprint
Daily Meeting
18
MAMA
Sprint Backlog (Lista da Sprint)Sprint Backlog (Lista da Sprint)
Exemplo de Sprint BackLog - 01Esforço
Item Business Value Size Tarefas Estimado Realizado Status Impedimento
100 8
Tarefa 1 4 4 Feito
Tarefa 2 4 2
Tarefa 3 2 0 Pendente
90 5
Tarefa 1 5 0 Pendente
Tarefa 2 6 0 Pendente
Controlar os cursos disponíveis pela instituição
Em progresso
Impedido devido a falta de tal coisa
Definir as vagas disponíveis por cursos
● Lista de funcionalidades a serem desenvolvidas nesta Sprint● Pode conter o desdobramento em tarefas● Estimada pela equipe● Imutável (durante a Sprint)
19
EstimativasEstimativas
20
MAMA
Sprint 1 Sprint 2 Sprint 4 Sprint 5 Sprint 6PreGame
O cone da incertezaO cone da incerteza
21
MAMA
Fluxo de EstimativasFluxo de Estimativas
FuncionalidadesDesejadas
Estimar otamanho
Estimar aduração
Dias / horas
Usar escalas não-lineares (pontos):• Fibonnacci: 1, 2, 3, 5, 8, 13, ...• Exponencial: 1, 2, 4, 8, 16, ...
Aplicar fator de duração
21 3
Item de referência em Sprints Anteriotes
Planning Poker
Sprint BackLog
22
Métricas e Métricas e AcompanhamentosAcompanhamentos
23
MAMA
Status e Gestão de ImpedimentosStatus e Gestão de Impedimentos
NE
PendentesBacklog Iniciadas Inspeção/Teste Finalizadas
N N I
N N N
E N I
N N N
N N I
E N
N
N NItem
Exemplo de Comunicação com Kanban (Lean)
24
MAMA
FerramentasFerramentas
Sprint DashBoard 01
Total BV Estimados 190 Dias Tarefas a Fazer1 2 3 4 5 6 7 8 9 10
2Dias Total BV Entregues BV Restante Esforço Restante 18 14 8 7 9 4 3 2 2 0Dia 1 0 190Dia 2 100 90
Impedimentos 1Tarefas Finalizadas
Dia 3 0 90 1Dia 4 0 90Dia 5 0 90Dia 6 0 90Dia 7 0 90Dia 8 0 90Dia 9 90 0Dia 10 0 0
1 2 3 4 5 6 7 8 9 100
5
10
15
20
Burn-Up Chart
Esf orço Restante
Dias
Hor
as
Dia 1 Dia 2 Dia 3 Dia 4 Dia 5 Dia 6 Dia 7 Dia 8 Dia 9 Dia 100
50
100
150
200
Burn-Down Chart
BV Restante
Dias
Bus
ines
s V
alue
25
EntregasEntregas
26
MAMA
Princípios Ágeis sobre as EntregasPrincípios Ágeis sobre as Entregas
● “Nossa maior prioridade é satisfazer o cliente através da entrega antecipada e contínua de software com valor.”
● “Entregar freqüentemente software que funciona, desde poucas semanas até poucos meses, com uma preferência pela menor” escala de tempo.
● “Software que funciona é a medida primordial de progresso.”
Fonte: http://agilemanifesto.org/principles.html
27
MAMA
Teste de AceitaçãoTeste de Aceitação
Exemplo de Product BackLog com Caso de Teste
Área Atividade Item Business Value Caso de Teste
Sec. Acadêmica Controlar os cursos disponíveis pela instituição 100
Sec. Acadêmica Definir as vagas disponíveis por cursos 90
Gerenciamento de cursos
- Ao informar o ano letivo, mostrar os cursos disponíveis;
Gerenciamento de cursos
- Ao informar o ano letivo, mostrar as vagas disponíveis por curso;
- Ao informar um curso, informar quais vagas estão disponíveis no ano atual.
28
Melhoria contínuaMelhoria contínua
29
MAMA
Princípios Ágeis da Melhoria ContínuaPrincípios Ágeis da Melhoria Contínua
● “Em intervalos regulares a equipe reflete sobre como se tornar mais eficaz, e então ajusta seu comportamento de acordo.”
Fonte: http://agilemanifesto.org/principles.html
30
MAMA
Sprint RetrospectiveSprint Retrospective
Funcionou bem? Precisa Melhorar?
x x
x
x
x
x x
x
● É a oportunidade que o time tem para discutir sobre o que funcionou e o que não funcionou durante a Sprint
● Scrum Master e os membros do time devem participar da retrospectiva (A participação do Product Owner, é bem-vinda).
● A estrutura da Sprint Restrospective é bem simples:– Divida um quadro branco ou poster em duas áreas com os seguintes títulos: “O
que funcionou bem?” e “O que pode ser melhorado?”– Após isso, cada membro deve colocar post-its em cada uma das áreas
indicando os itens que, em sua opinião, merecem estar ali;● Então, o time visualiza os itens citados, debatem sobre e planejam ações
a serem tomadas para a próxima Sprint