Mais de 24 anos de Scrum - Ainda faz sentido usar?

Post on 17-Mar-2018

79 views 1 download

Transcript of Mais de 24 anos de Scrum - Ainda faz sentido usar?

Mais de 24 anos deScrum

by @andreitognolo

Ainda faz sentido utilizá-lo?

Agenda

Scrum é apenas uma peça em um grande quebra-cabeça

Ainda faz sentido usar Scrum?

Um Pouco Sobre Mim

2007 20142008

Projeto utilizando

RUP(Dextra)

Um Pouco Sobre Mim

2007 20142008

Projeto utilizando

RUP(Dextra)

Primeiroprojeto

utilizando Scrum

Foco em:- Scrum

Um Pouco Sobre Mim

2007 20142008

Projeto utilizando

RUP(Dextra)

Primeiroprojeto

utilizando Scrum

Foco em:- Kanban / XP / Lean- Clean Code- Refactoring- Continuous Delivery

Foco em:- Scrum

Um Pouco Sobre Mim

2007 2014 20162008

Projeto utilizando

RUP(Dextra)

Primeiroprojeto

utilizando Scrum

Foco em:- Kanban / XP / Lean- Clean Code- Refactoring- Continuous Delivery

Foco em:- Scrum

Foco em:- Lean- Microservices- DevOps- #NoEstimates

Martin FowlerSam Newman

Dan NorthNeal Ford

Um Pouco Sobre Mim

2007 20182014 20162008

Projeto utilizando

RUP(Dextra)

Primeiroprojeto

utilizando Scrum

Foco em:- Kanban / XP / Lean- Clean Code- Refactoring- Continuous Delivery

Foco em:- Scrum

Foco em:- Lean- Microservices- DevOps- #NoEstimates

Foco em:- Microservices- Lean

Martin FowlerSam Newman

Dan NorthNeal Ford

Ainda faz sentido usar Scrum?

DISCLAIMER: Esse é somente o meu ponto de vista

A long time ago…

A long time ago…

Frequentemente, o software era criado por uma fábrica de

software

Cada etapa era, geralmente, feita por diferente pessoas

A long time ago…

Frequentemente, o software era criado por uma fábrica de

software

Cada etapa era, geralmente, feita por diferente pessoas

Mas esse mesmo processofunciona muito bem

na fabricação de carros, não?

Construir um carro

Cynefin Framework

(COMPLICADO)

causa e efeito requer análise

Construir um carro

Cynefin Framework

(COMPLICADO)

causa e efeito requer análise

Criar software(COMPLEXO) (*)

causa e efeito só pode ser percebido em

retrospectiva, mas não de antemão

(*) Desenvolvimento de software não é feito somente de atividades complexas

Construir um carro

Cynefin Framework

(COMPLICADO)

causa e efeito requer análise

Criar software(COMPLEXO) (*)

causa e efeito só pode ser percebido em

retrospectiva, mas não de antemão

(*) Desenvolvimento de software não é feito somente de atividades complexas

Precisa testar depois!

Construir um carro

Cynefin Framework

(COMPLICADO)

processo repetitivo,

sempre com o mesmo resultado

Criar software(COMPLEXO)

nunca fazemos o mesmo software

duas vezes

Manifesto Ágil (2001)

Manifesto Ágil (2001)

Manifesto Ágil (2001)

Martin Fowler, Kent Beck, Robert Martin, Jeff Sutherland, Ken Schwaber, em outros

Scrum (~1994)

Scrum (~1994)

“Muito do pensamento agile é sobre construir ciclos de feedback de forma que a gente posse aprender

rapidamente”(Martin Fowler)

Scrum

Ainda faz sentido usar Scrum?

TL;DR: Scrum foi criado em um tempo onde desenvolvimento de software are visto como um

projeto, com começo e fim. Hoje em dia focamos em fazer produtos, que é algo “sem fim”

Scrum

‣ Planning ‣ Sprint review ‣ Planning poker ‣ Sprint retrospectiva ‣ Reunião diária

Ainda faz sentido usar Scrum?

Todo processo tira a liberdade. Se você consegue os mesmo benefícios sem o processo, então você

não precisa dele (ou parte dele)

Planning

Planejamento PlanejamentoExecução (2-4 semanas)

Planning

Planejamento PlanejamentoExecução (2-4 semanas)

Quais as vantagens?

Sem reuniões no meio do sprint

É mais fácil para o time focar

Todos estão no mesmo barco

Planning

Planejamento PlanejamentoExecução (2-4 semanas)

Quais as desvantagens?

Tem que “estimar" o que cabe no Sprint

Planning

Planejamento PlanejamentoExecução (2-4 semanas)

Quais as desvantagens?

Pode acontecer Big Design Up Front

Tem que “estimar" o que cabe no Sprint

Planning

Planejamento PlanejamentoExecução (2-4 semanas)

Quais as desvantagens?

Pode acontecer Big Design Up Front

Tem que “estimar" o que cabe no Sprint

As atividades não acabam todas juntas bonitinhas no final do Sprint

Planning

Planejamento PlanejamentoExecução (2-4 semanas)

Quais as desvantagens?

Pode acontecer Big Design Up Front

Tem que “estimar" o que cabe no Sprint

As atividades não acabam todas juntas bonitinhas no final do Sprint

Pode aparecer algo mais importante no meio do Sprint

Planning

O que eu faço no meu dia a dia

Eu prefiro fazer um planejamento leve, que é basicamente uma sessão de priorização das atividades.

Priorização PriorizaçãoPlanejamento / Execução (1 semana)

Planning

Como ter as mesmas vantagens?

Sem reuniões no meio do sprint Não acho um grande problema

Planning

Como ter as mesmas vantagens?

Sem reuniões no meio do sprint

É mais fácil para o time focar

Não acho um grande problema

Só tem priorização no começo da sprint

Planning

ps: se você faz parte de uma fábrica de software eu vejo várias vantagens de fazer um planejamento como descrito no Scrum

Como ter as mesmas vantagens?

Sem reuniões no meio do sprint

É mais fácil para o time focar

Todos estão no mesmo barco

Não acho um grande problema

Só tem priorização no começo da sprint

Máximo de pessoas na mesma “atividade”

Sprint Review

Planejamento Execução (2-4 semanas) Review

Sprint Review

Planejamento Execução (2-4 semanas) Review

• Rever o trabalho que foi concluído e não concluído.

Sprint Review

Planejamento Execução (2-4 semanas) Review

• Rever o trabalho que foi concluído e não concluído.

Faz sentido se você está pensando como projetoA pergunta “como podemos melhorar” deve existir independentemente se concluiu algo ou não

Sprint Review

Planejamento Execução (2-4 semanas) Review

• Apresentar o trabalho realizado para os stakeholders (ou "a demo"). Um trabalho incompleto não pode ser demonstrado.

Sprint Review

Planejamento Execução (2-4 semanas) Review

• Apresentar o trabalho realizado para os stakeholders (ou "a demo"). Um trabalho incompleto não pode ser demonstrado.

Faz sentido se você está pensando como projeto

Os stakeholders são o próprio time!

Entrega contínua - faz sentido eu revisar o que já está em produção?

Planning Poker

Era uma vez um time que atingiu a maturidade nas estimativas usando planning poker…

Planning Poker

Estimativas trazem consigo vários problemas

Quando a estimativa não condiz com a realidade (bem comum) criamos a falsa sensação de que não fomos produtivos

Planning Poker

Estimativas trazem consigo vários problemas

Quando a estimativa não condiz com a realidade (bem comum) criamos a falsa sensação de que não fomos produtivos

Traz consigo um monte de cobrança e pressão

Planning Poker

Estimativas trazem consigo vários problemas

Quando a estimativa não condiz com a realidade (bem comum) criamos a falsa sensação de que não fomos produtivos

Traz consigo um monte de cobrança e pressão

Custam um tempo valioso que poderia ser utilizado de outra forma

Planning Poker

Estimativas trazem consigo vários problemas

Quando a estimativa não condiz com a realidade (bem comum) criamos a falsa sensação de que não fomos produtivos

Traz consigo um monte de cobrança e pressão

Times começam a focar mais em cumprir as estimativas do que fazer o trabalho com a qualidade necessária

Custam um tempo valioso que poderia ser utilizado de outra forma

Planning Poker

Por que você precisa estimar?

Eu preciso medir produtividade

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Por que você precisa estimar?

Eu preciso medir produtividade

Por que precisamos medir produtividade?

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Por que você precisa estimar?

Eu preciso medir produtividade

Alguém está me pedindo um estimativa

Por que precisamos medir produtividade?

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Por que você precisa estimar?

Eu preciso medir produtividade

Alguém está me pedindo um estimativa

Por que precisamos medir produtividade?

Cuidado com hierarquia top-down

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Por que você precisa estimar?

Ter uma estimativa motiva a gente a focar no resultado

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Por que você precisa estimar?

Ter uma estimativa motiva a gente a focar no resultado

Talvez, mas pode fazer o oposto também

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Por que você precisa estimar?

Ter uma estimativa motiva a gente a focar no resultado

Eu preciso estimativas para poder priorizar os items no backlog

Talvez, mas pode fazer o oposto também

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Por que você precisa estimar?

Ter uma estimativa motiva a gente a focar no resultado

Eu preciso estimativas para poder priorizar os items no backlog

Talvez, mas pode fazer o oposto também

Na verdade, você precisar conseguir comparar itens, e para isso você não precisa de estimativas

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Existe algum cenário em que faz sentido estimar?

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Existe algum cenário em que faz sentido estimar?

“Estimativas agregam valor quando elas nos ajudam a tomar decisões importantes”

(Martin Fowler)

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Planning Poker

Existe algum cenário em que faz sentido estimar?

“Estimativas agregam valor quando elas nos ajudam a tomar decisões importantes”

(Martin Fowler)

Qual é a decisão que você precisa tomar? Podemos tomar essa decisão sem precisar de estimativas?

http://tech.transferwise.com/4-fallacious-reasons-why-we-estimate/

Sprint Retrospectiva

Sprint Retrospectiva

Quais as vantagens?

Momento para refletir sobre o processo

Bom momento para o time entender o que os outros membros do time estão sentindo e pensando

Não sei :)

Quais as desvantagens?

Reunião Diária (stand up)

Reunião Diária (stand up)

Quais as vantagens?

Bom jeito de manter o time alinhado

Quais as desvantagens?

Pode acontecer de times utilizarem a reunião diária como muleta para não se comunicarem durante o dia

Existem técnicas que podem ajudar a se manter alinhado, como Pair Programming

Scrum - Resumo

… e faço reuniões diárias (na maioria dos casos)

Priorização RetrospectivaPlanejamento / Execução (1 semana)

Scrum - Resumo

Priorização RetrospectivaPlanejamento / Execução (1 semana)

"As atividades de estudo técnico ou negocial devem fazer parte da Sprint? Elas precisam ser orçadas como qualquer outra atividade?"

Scrum - Resumo

Priorização RetrospectivaPlanejamento / Execução (1 semana)

"Como trabalhar com sprints sabendo que o time é constantemente acionado para realizar atividades de suporte não relacionadas a Sprint?"

Scrum - Resumo

Priorização RetrospectivaPlanejamento / Execução (1 semana)

"Quais as abordagens possíveis para tarefas com mudança de escopo após o início de uma sprint?"

Scrum - Resumo

Priorização RetrospectivaPlanejamento / Execução (1 semana)

"Como terminar uma sprint com tarefas em andamento?"

Scrum é só uma parte um grande quebra-cabeça

Retrospectiva e

(re)Priorização

Direção

- Scrum - Data Driven

Retrospectiva e

(re)Priorização

Direção Técnicas de navegação

- Scrum - Data Driven

- Tests, TDD - Clean code, Refactoring - Pair programming - Continuous Delivery - Microservices - Lean Software

Development

ScrumLean SoftwareDevelopment

SE eu tiver que escolher…

Lean Software Development

Sem gordura desnecessária

Lean Software Development

Sem gordura desnecessária

Adaptação do lean manufacturing

Lean é um método sistemático eliminação de desperdício 

Lean Software Development

1. Eliminar desperdício2. Aumentar o aprendizado

3. Decidir o mais tarde possível

4. Entregar o mais rápido possível

5. Empoderar o time

6. Construir qualidade

7. Otimizar o todo

Lean Software Development

1. Eliminar desperdício2. Aumentar o aprendizado

3. Decidir o mais tarde possível

4. Entregar o mais rápido possível

5. Empoderar o time

6. Construir qualidade

7. Otimizar o todo

MVP

Times autônomos

Atrito (friction)

http://www.leanessays.com/2015/08/friction.html

Eliminar desperdício

Colaboração com o cliente mais do que

negociação contratual

Colaboração com o cliente mais do que

negociação contratualPodemos achar maneiras de eliminar desperdício, ou…

Colaboração com o cliente mais do que

negociação contratual

Colaboraçãoentre os times (autônomos)

da mesma empresa

Podemos achar maneiras de eliminar desperdício, ou…

Como eu faço paraser mais preciso

nas minhas estimativas?

Como eu faço paraser mais preciso

nas minhas estimativas?

Podemos achar maneiras de eliminar desperdício, ou…

Como eu faço paraser mais preciso

nas minhas estimativas?

Podemos achar maneiras de eliminar desperdício, ou…

Existe uma maneira de tomara decisão

sem ter que estimar?

Como saber se um determinado processo é um desperdício?

Como saber se um determinado processo é um desperdício?

Pare de utilizá-lo e veja se você sente falta!

Um exemplo na TransferWise

100 GBP 4xx BRL

Um exemplo na TransferWise

100 GBP 4xx BRL

Raramente (uma vez por semana) acontece um problema com o payout e é necessário uma intervenção

manual

Um exemplo na TransferWise

100 GBP 4xx BRL

Criar uma tela listando os pagamentos que

necessitam de um empurrãozinho

Um exemplo na TransferWise

100 GBP 4xx BRL

Criar uma tela listando os pagamentos que

necessitam de um empurrãozinho

Capacitar o setor de operações para que eles

não precisem de um desenvolvedor

TestaCoda

TestaCoda TestaCoda TestaCoda TestaCoda

TestaCoda

Coda Testa

TestaCoda TestaCoda TestaCoda TestaCoda

TestaCoda

Coda Testa

Horas? Minutos?

Segundos?

Como podemos aprender mais?

Podcasts

Livros

Dojo (por exemplo para melhorar TDD)

Conferências (TDC é barato e com bom conteúdo)

Participar de treinamentos (recomendo Industrial Logic)

Consultoria (que tal a ThoughtWorks :)

Contratar pessoas com experiência

Obrigado!@andreitognolo

andreitognolo@gmail.com