métodos ágeis

81
Métodos Ágeis Evandro João Agnes [email protected]

Upload: evandro-agnes

Post on 06-Jun-2015

1.810 views

Category:

Technology


1 download

DESCRIPTION

Introdução aos métodos ágeis, lean e scrum.

TRANSCRIPT

Page 1: Métodos ágeis

Métodos Ágeis

Evandro João [email protected]

Page 2: Métodos ágeis

Agenda

Métodos Ágeis

LeanScrum

Mudança

Page 3: Métodos ágeis

Prática

● Porque meu projeto termina com sucesso?● Porque meu projeto falha?

Page 4: Métodos ágeis

“Agile is not a set of practices, but a core set of

beliefs and principles”

Jim Highsmith

Page 5: Métodos ágeis

Entregar Valor!Entregar Valor!ROI!ROI!

Page 6: Métodos ágeis

Métodos ágeis

● Retorno do Investimento● Adaptação● Pessoas● Comunicação● Feedback● Cultura

Page 7: Métodos ágeis

Lean

Fonte: http://www.strategosinc.com/lean_manufacturing_history.htm

Page 8: Métodos ágeis

Lean

● Produção em massa X Lotes de produção● Abordagem bottom-up

● Liderança servidora● Trabalhadores multifuncionais

● Just in time● Eliminar o desperdício

Page 9: Métodos ágeis

Eliminar o desperdício

● Estoque● Excesso de produção● Processos extras● Transporte● Movimento● Espera● Defeitos

Page 10: Métodos ágeis

Eliminar o desperdício Desenvolvimento de software

● Partially done work● Extra Features● Relearning● Hand-offs● Task Switching● Delays● Bugs

Page 11: Métodos ágeis

Kaizenmudança para melhor

● Melhoria contínua● “Hoje melhor do que ontem, amanhã melhor do

que hoje!”

Page 12: Métodos ágeis

Visibilidade

Page 13: Métodos ágeis

Kanban

Page 14: Métodos ágeis

Prática

Page 15: Métodos ágeis

Projetos de software

● Chaos Report – Standish Group

Page 16: Métodos ágeis

Projetos de software

"A experiência de décadas seguindo pesadas práticas prescritivas tornou evidente que:

Os detalhes são complexos para as pessoas.

Os clientes ou usuários não tem certeza do que eles querem.

Eles tem dificuldade de expressar tudo o que querem e pensam.

Muitos detalhes do que eles querem só serão revelados durante o desenvolvimento.

Na medida em que elas veem o produto sendo construído, elas mudam de ideia.

Forças externas (como um produto ou serviço da concorrência) trazem mudanças ou melhorias nos requisitos."

* Fonte: Agile and Iterative Development: A Manager's Guide - Craig Larman

Page 17: Métodos ágeis

Uso de funcionalidades

Standish Group, 2002

Page 18: Métodos ágeis

Projetos de software

Req

uisi

tos

Longe de um acordo

Perto de um acordo

TecnologiaPerto da certeza Longe da certeza

Simples

Complicado

Complexo

Anarquia

Ref. : Strategic Management and Organizational Dynamics by Ralph Stacey, in Agile Software Development With Scrum by Ken Schwaber and Mike Beedle.

Page 19: Métodos ágeis

8 passos da mudança1 - Crie um senso de urgência;

2 - Forme o time que vai liderar a mudança;

3 - Estabeleça claramente a nova visão e a estratégia;

4 - Comunique sempre e de forma simples;

5 - Remova as barreiras;

6 - Crie vitórias de curto prazo;

7 - Não desacelere;

8 - Faça a mudança permanecer;Fonte: O coração da mudança - Kotter

Page 20: Métodos ágeis

Scrum

Desenvolvimento iterativo e incremental

SCRUMSCRUM

Jeff Sutherland, PhD

Ken Schwaber

Page 21: Métodos ágeis

O que é Scrum?

● Processo iterativo e incremental para desenvolvimento de qualquer produto e gerenciamento de qualquer trabalho

● Provê agilidade necessária para responder rapidamente às mudanças de requisitos

● Processo ágil com foco na entrega do maior valor para o negócio no menor tempo

● Não são prescritas práticas de engenharia● É mais um framework que uma metodologia

Page 22: Métodos ágeis

Framework?

Scrum

Page 23: Métodos ágeis

Framework?

ScrumCultura organizacional

Page 24: Métodos ágeis

Manifesto ágil

Processos e ferramentasProcessos e ferramentas

Indivíduos e suas interações

Indivíduos e suas interações

sobre

Seguir um planoSeguir um planoResponder às mudanças

Responder às mudanças

sobre

Documentação abrangente

Documentação abrangente

Software funcionando

Software funcionando

sobre

Negociação de contrato

Negociação de contrato

Colaboração do cliente

Colaboração do cliente

sobre

Fonte: www.agilemanifesto.org

Page 25: Métodos ágeis

Características

Processos: Reunião de planejamento, Retrospectiva, Reunião diária, Planejamento de Release e Sprints, ...Ferramentas: Quadro Kanban, Ferramentas, Post-it, User Stories, Burndown...Pessoas: ScrumMaster, Product Owner, Time, ...

Cultura: Time multi-disciplinar, Auto-gerenciamento, Valores, Envolvimento do cliente, Entrega frequente, Liderança-colaboração, Respeito, ...

Page 26: Métodos ágeis

Scrum framework

•Product owner•ScrumMaster•Time (Team)

Papéis

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Reuniões

•Product backlog•Sprint backlog•Burndown charts

Artefatos

Page 27: Métodos ágeis

Papéis

Page 28: Métodos ágeis

Product Owner

● Definir a visão do produto● Gerenciar o retorno do investimento (ROI)● Definir as funcionalidades chave do produto● Priorizar e refinar os requisitos de acordo com

o valor para o negócio continuamente● Planejar as entregas (releases)● Garantir que os especialistas de domínio

estejam disponíveis para o time

Page 29: Métodos ágeis

Product Owner dentro do táxi!

Page 30: Métodos ágeis

ScrumMaster

● Responsável pelo gerenciamento do projeto● Garantir o uso do Scrum● Remover os impedimentos do time● Habilitar a cooperação entre todos os papéis e

funções● Funciona como um escudo para o time das

interferências externas

Page 31: Métodos ágeis

Time

● Geralmente entre 5-9 pessoas● Multidisciplinares● Auto-organizados● Deveriam estar no projeto full time● Mudanças no time somente entre as sprints

Page 32: Métodos ágeis

Auto-organização

Page 33: Métodos ágeis

Estrutura do Scrum

Fonte: www.mountaingoatsoftware.com/scrum

Page 34: Métodos ágeis

Sprints

● O progresso do projeto se dá em uma série de “sprints”

● Duração de 2 a 4 semanas● Duração constante: as funcionalidades é que

podem variar!● Uma parte do produto é produzida (projetada,

codificada, testada, …)● Parte do produto a ser produzida é priorizada

pelo negócio (ROI)

Page 35: Métodos ágeis

Prática

Fonte: Luiz Claudio Parzianellohttp://parzianello.blogspot.com/2008/08/jogos-estatsticos-lotes-de-produo-x.html

Page 36: Métodos ágeis

Priorização entre projetos

Fonte: Henrik Kniberg

Jan Feb Mar Abr Mai Jun Jul

Jan Feb Mar Abr Mai Jun Jul

A B C

Estratégia tradicional: “Tudo é importante, vamos fazer tudo ao mesmo tempo!”

Estratégia ágil: “Priorização e foco!”

Page 37: Métodos ágeis

Cascata x Iterativo e Incremental

Fonte: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.

Em vez de fazer tudo de cada disciplina por vez...

...times Scrum fazem um pouco de tudo todo tempo.

Requisitos Projeto Codifição Teste

Page 38: Métodos ágeis

Cascata x Iterativo e Incremental

Desenvolvimento em Cascata

Riscos

Riscos

TempoTempo

Desenvolvimento Iterativo

Redução dos RiscosRedução dos RiscosRedução dos RiscosRedução dos Riscos

Page 39: Métodos ágeis

Riscos

“Não se preocupe, eu vou pensar em algo...”

Indiana Jones

Page 40: Métodos ágeis

Meta da Sprint

● Frase curta que deve indicar qual o foco do trabalho durante a sprint

● SMART - Specific, Measurable, Achievable, Realistic, Timed● Específico, Mensurável, Realizável, Realista e

Datado

Page 41: Métodos ágeis

Definição do “Pronto”

Potencialmente entregável != entregável

Page 42: Métodos ágeis

Sempre entregar valor

S1 S6S5S4S3S2

Iten

s té

cnic

os,

arq

uit

etu

ra..

.Iten

s c om

RO

I visíve l

Page 43: Métodos ágeis

Sem mudanças durante a sprint!

Mudança

Page 44: Métodos ágeis

Cancelando a sprint antes da sua finalização...

● O time sente que não consegue atingir a meta● O Product Owner percebe que fatores externos

influenciarão diretamente na meta da sprint● Deve-se iniciar imediatamente o planejamento

da próxima sprint

Page 45: Métodos ágeis

Scrum

VisãoVisão

Uma boa visão de produtopermanece relativamente constante,ao passo que o caminho para implementaçãoda visão é frequentemente adaptado.

Page 46: Métodos ágeis

Técnicas para Visão

● Elevator statement● Product Vision Box● Remember the Future● Project Data Sheet

Page 47: Métodos ágeis

Scrum

Cancel

Alteração

Reservas

ProductProductbacklogbacklog

VisãoVisão Lista de desejos priorizados e estimados

PO responsável mas todos podem contribuir

Mantido e postado visualmente

Derivado da Visão do Produto

INVEST - Independente, Negociável, Valiosa, Estimável, Pequena (Small) e Testável.

Page 48: Métodos ágeis

Scrum

Cancel

Alteração

Sprint2-4 semanas

Reservas

Meta da SprintMeta da Sprint

Sprint Sprint backlogbacklog

ProductProductbacklogbacklog

Page 49: Métodos ágeis

Planejamento

“A elaboração do melhor cronograma,usando as mais capacitadas pessoas e as melhores ferramentas, também será uma tentativa de prever o futuro. Algo que nossa espécie raramente faz bem.”

Scott Berkun

Page 50: Métodos ágeis

Cone da Incerteza

Estimativas no início dos projetos de software sofrem de uma incerteza altíssima,da ordem de +400% a -75% ou seja um projeto estimado em 1 ano temprobabilidades de ser algo entre 3 meses e 4 anos.

Page 51: Métodos ágeis

A cebola do planejamento

Page 52: Métodos ágeis

A cebola do planejamento

Page 53: Métodos ágeis

Reunião de planejamento

● Dividida em 2 partes● Priorização e estimativa do Product Backlog● Identificação e estimativa das tarefas - Sprint

Backlog

● Geralmente tem a seguinte duração:

Page 54: Métodos ágeis

Priorização

Vs.

Valor Risco

Page 55: Métodos ágeis

Técnicas de Priorização

● Kano: composta por entrevistas com os usuários e opiniões dos especialistas

● Theme Screening: composta apenas por opiniões dos especialistas baseadas em comparações realizadas com um tema importante

● Buy a feature: composta por negociações entre clientes e patrocinadores com o propósito de “comprar” funcionalidades para a próxima versão

Page 56: Métodos ágeis

Planning Poker

Page 57: Métodos ágeis

Praticando Planning Poker

1 2 3 5 8 13

200 pág. en. 80 pág. br. 998 pág. en.50 pág. br.

Page 58: Métodos ágeis

Velocidade

● Medida de produtividade do time● Representa a taxa de trabalho que o time

conseguiu executar durante a sprint● Serve de guia para o planejamento das sprints

e releases

Page 59: Métodos ágeis

Scrum

Cancel

Alteração

Sprint2-4 semanas

Reservas

Meta da SprintMeta da Sprint

Sprint Sprint backlogbacklog

ProductProductbacklogbacklog

24 horas

Page 60: Métodos ágeis

Reunião diária

O que você fez ontem?O que você fez ontem?11

O que irá fazer hoje?O que irá fazer hoje?22

Possui algum impedimento?Possui algum impedimento?33

Page 61: Métodos ágeis

Scrum

Cancel

Alteração

Sprint2-4 semanas

Reservas

Meta da SprintMeta da Sprint

Sprint Sprint backlogbacklog Incremento de produtoIncremento de produto

potencialmente entregávelpotencialmente entregável

ProductProductbacklogbacklog

24 horas

Page 62: Métodos ágeis

Review

● O time apresenta o que foi trabalhado durante a sprint

● Demo do produto● Todos os envolvidos no projeto participam

Page 63: Métodos ágeis

Retrospectiva

Page 64: Métodos ágeis

Retrospectiva

● Todo o time discute sobre:

O que foi bomO que foi bom

O que deve ser eliminado

O que deve ser eliminado

O que deve melhorar

O que deve melhorar

Esta é apenas uma das maneiras de realizar a retrospectiva.

Page 65: Métodos ágeis

Scrum

Cancel

Alteração

Sprint2-4 semanas

Reservas

Meta da SprintMeta da Sprint

Sprint Sprint backlogbacklog

Incremento de produtoIncremento de produtopotencialmente entregávelpotencialmente entregável

ProductProductbacklogbacklog

Disponíveis

24 horas

Page 66: Métodos ágeis

Scrum

Sprint2-4 semanas

Reservas

Meta da SprintMeta da Sprint

Sprint Sprint backlogbacklog

Incremento de produtoIncremento de produtopotencialmente entregávelpotencialmente entregável

ProductProductbacklogbacklog

Alteração

Disponíveis

Cancel

24 horas

Page 67: Métodos ágeis

Exemplo de Product backlog

Item de backlog Estimativa

Permitir ao cliente realizar reservas. 3

Permitir ao cliente cancelar suas reservas. 5

Permitir ao cliente alterar as datas da reserva. 3

Como funcionário do hotel, preciso saber os quartos disponíveis. 8

Melhorar tratamento de exceções 8

... 30

... 50

Page 68: Métodos ágeis

Exemplo de Sprint backlog

TarefasTarefas

Codificar interface

Codificar camada de integraçãoTestar a camada de integração

Escrever o help online

Codificar classe Reserva

SegSeg

8

16

8

12

8

TerTer QuaQua QuiQui SexSex

Page 69: Métodos ágeis

Exemplo de Sprint backlog

TarefasTarefas

Codificar interface

Codificar camada de integraçãoTestar a camada de integração

Escrever o help online

Codificar classe Reserva

SegSeg

8

16

8

12

8

TerTer

4

12

16

8

QuaQua QuiQui SexSex

Adicionar log de erros 8

Page 70: Métodos ágeis

Exemplo de Sprint backlog

TarefasTarefas

Codificar interface

Codificar camada de integraçãoTestar a camada de integração

Escrever o help online

Codificar classe Reserva

SegSeg

8

16

8

12

8

TerTer

4

12

16

8

QuaQua QuiQui

4

11

8

SexSex

8

8

Adicionar log de erros

8

10

16

8

8 4

Page 71: Métodos ágeis

Acompanhando o andamento do projeto

Page 72: Métodos ágeis

Task Board (Kanban)

Page 73: Métodos ágeis

Times que atingem a meta...

Page 74: Métodos ágeis

Escalando o Scrum

Page 75: Métodos ágeis

Escalando o Scrum

Page 76: Métodos ágeis

Scrum of scrums

Page 77: Métodos ágeis

Material

● Parte do material utilizado foi baseado na apresentação disponibilizada por Mike Cohn e pode ser obtida no seguinte endereço:

http://www.mountaingoatsoftware.com/scrum-a-presentation

Mountain Goat Software, LLC

Page 78: Métodos ágeis

Sala de Leitura

Scrum AllianceScrum Alliancehttp://www.scrumalliance.org/

Mountain Goat SoftwareMountain Goat Softwarehttp://www.mountaingoatsoftware.com/scrum/

Implementing ScrumImplementing Scrumhttp://www.implementingscrum.com/

Scrum e XP direto das TrincheirasScrum e XP direto das Trincheirashttp://www.infoq.com/br/minibooks/scrum-xp-from-the-trencheshttp://www.infoq.com/minibooks/scrum-xp-from-the-trenches

Planning PokerPlanning Pokerhttp://www.planningpoker.com/detail.html

Scrum na Globo.com: Derrubando mitosScrum na Globo.com: Derrubando mitoshttp://www.slideshare.net/bardusco/scrum-na-globocom-derrubando-mitos-updated-presentationhttp://blog.caelum.com.br/2008/12/03/falando-em-agile-2008-scrum-na-globocom-derrubando-mitos/

Page 79: Métodos ágeis

Livros

● Agile and Iterative Development: A Manager’s Guide - Craig Larman

● Agile Project Management with Scrum - Ken Schwaber

● Scrum and The Enterprise - Ken Schwaber

● Lean Software Development: An Agile Toolkit - Mary Poppendieck, Tom Poppendieck

● Agile Retrospectives - Esther Derby e Diana Larsen

● O coração da mudança - Kotter

● Nosso iceberg está derretendo: mude e seja bem-sucedido em condições adversas - Kotter

Page 80: Métodos ágeis

Dúvidas?

Page 81: Métodos ágeis

Esta apresentação encontra-se licenciada sob a licença Creative Commons Atribuição 3.0 Unported. Para visualizar uma cópia da licença, visite: http://creativecommons.org/licenses/by/3.0/deed.pt_BR