Palestra sobre metodologia Scrum

Post on 04-Dec-2014

5.020 views 3 download

description

Palestra realizada na Fundação Santo André (fsa.br) para MBA de Engenharia de Software. Também ministrada na semana da computação na Universidade de São Caetano (uscs.edu.br) e PHP Conference BR 2010

Transcript of Palestra sobre metodologia Scrum

AGILIDADE E QUALIDADE

ANDRÉ BARBOSAE-mail: andre@abcg.com.brTwitter: @andre_ibbrasil

Quantos...

são gerentes, diretores

são desenvolvedores

adotam alguma metodologia de desenvolvimento de software

já ouviram falar sobre Scrum

adotam Scrum

Me pegaram nositedegames.com

Perguntas breves ?

Façam durante a

apresentação.

Já as perguntas LOOOOONGAS ...

Agora EU sou um Certified

Scrum Master

PMBOK, RUP, UML, OpenUP, FDD, TDD,

CMMi, MPS.BR, ISO, WBS, XPTO,

... nunca mais!„

Como é o processo de desenvolvimento dos

seus projetos?

Como a sua listade tarefas é

apresentada ?

E a suaequipe ?

E a carga de trabalho ?

E o “fim” (entrega) dos projetos ?

Mudanças prontamente realizadas ?

E o relacionamentocom seu cliente?

Por que mudar?

VELOCIDADE de entrega

QUALIDADE, menos bugs

MOTIVAÇÃO no time

Trabalho em EQUIPE

COMPARTILHAMENTO

do conhecimento

INTERAÇÃO c/ cliente

Aceitar MUDANÇAS

Como issoé possível?

time

rugby

Ken

Sch

wab

er

Jeff

Sut

herl

and

Jeff

McK

enn

a

Joh

n S

cum

niot

ales

1986Artigo no Harvard Business Review

por Hirotaka Takeuchie Ikujiro Nonaka

1993Foi concebido, documentado

e implantado como é hoje

1995Formalizado, implantado edivulgado em todo mundo

Thanks,Lean and

RUP!

YES!Waterfall

never more!

MANIFESTO ÁGIL

Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:

Ou seja, mesmo havendo valor nos itens à direita,valorizamos mais os itens à esquerda.

Indivíduos e interaçõesSoftware que funcionaColaboração com clienteResponder a mudanças

processos e ferramentas

documentação abrangente

negociação de contratos

seguir um plano

agilemanifesto.org

Fev./2001

Scrum é um...

framework iterativo e incremental para gerenciamento de projetos e desenvolvimento ágil de software.

http://pt.wikipedia.org/wiki/Scrum

Scrum é uma...

abordagem ágil para gerenciamento deprojetos complexos.

http://scrumalliance.org

Solo. Distribuído.

Scrum NÃO é... complexo extenso frágil garantia de sucesso xp

É composto basicamente por:

1. Pessoas e seus papéis associados

2. Artefatos

3. Eventos com duração fixaSó isso?

Não estouacreditando...

Pigs Product Owner * Scrum Master * Team

Chickens Stakeholders Managers Outros

Ei Porco! Acho que deveríamos abrir um restaurante.

Não sei não.Qual o nome?

Que tal“Pernil com Ovos” ?

Não, obrigado. Eu estaria comprometido, enquanto

você estaria apenas envolvido.

Essa estória évelha, heim?!

...

Pigs Product Owner Representante do cliente Gerencia o Product Backlog Só um por projeto (Product Backlog) Barreira entre Chickens -> Time Facilitador entre Time -> Cliente Define a meta por Sprint Não define como fazer, mas sim o que fazer primeiro Único que pode cancelar um Sprint

Scrum Master Team

Chickens

Pigs Product Owner Scrum Master Garante que o time adote o Scrum Atualiza Burn Down Charts Garante produtividade e qualidade Barreira entre Chickens -> Time Remove impedimentos Pode ser um desenvolvedor Não é gerente

Team

Chickens

Pigs Product Owner Scrum Master Team Transformam o Sprint Backlog em produto São interdisciplinares Possuem conhecimento especializado Compartilham conhecimento São auto gerenciáveis

Chickens

Pigs Product Owner Scrum Master Team

Chickens Todos os envolvidos de alguma forma Fornecem informações para o time (Team) Não podem dizer aos Pigs como devem trabalhar Não podem interferir (tirar o foco) do time (Team)

São, basicamente:

Product Backlog

Sprint Backlog

Burn Down Charts

- Product Backlog

- Sprint Backlog

- Brun Down Charts

Cadastro de DVDs e Blu-Rays

Categorização dos cadastros

Admin de Planos e preços

Login com níveis de permissão

Processo de locação

Processo de entrega

Processo de retirada

Pagamento

Serviços para cliente VIP

Projeto:

Locadora Virtual

projeto ourelease

- Product Backlog

- Sprint Backlog

- Brun Down Charts

Cadastro de DVDs e Blu-Rays

Categorização dos cadastros

Admin de Planos e preços

Login com níveis de permissão

Processo de locação

Processo de entrega

Processo de retirada

Pagamento

Serviços para cliente VIP

Projeto:

Locadora VirtualCadastro de DVDs e Blu-Rays

Categorização dos cadastros

extraçãodo productbacklog

- Product Backlog

- Sprint Backlog

- Brun Down Charts

Cadastro de DVDs e Blu-Rays- desenho (13)- definição dos campos (3)- modelagem BD (3)- criação do formulário (13)- testes unitários (8)- inserção inicial (2)

Categorização dos cadastros

Estórias:

- atualização do BD (2)- listagem de registros (5)- criação do formulário (8)- atualização cadastro (5)- testes unitários (8)- inserção inicial (2)

Tarefas (esforço)...

?3421

1385321

0

...

- Product Backlog

- Sprint Backlog

- Brun Down Charts

Estórias Em andamento Aprovação Correção Feito

Kanban:

Cadastro de DVDs eBlu-Rays

(42)

Categorização de cadastros

(30)

- Product Backlog

- Sprint Backlog

- Brun Down Charts

Estórias Em andamento Aprovação Correção Feito

Kanban:

Cadastro de DVDs eBlu-Rays

(42)

Categorização de cadastros

(30)

- Product Backlog

- Sprint Backlog

- Brun Down Charts

Estórias Em andamento Aprovação Correção Feito

Kanban:

Cadastro de DVDs eBlu-Rays

(42)

Categorização de cadastros

(30)

- Product Backlog

- Sprint Backlog

- Brun Down Charts

Estórias Em andamento Aprovação Correção Feito

Cadastro de DVDs eBlu-Rays

(42)

Kanban:

Categorização de cadastros

(30)

- Product Backlog

- Sprint Backlog

- Brun Down Charts

Estórias Em andamento Aprovação Correção Feito

Kanban:

Cadastro de DVDs eBlu-Rays

(42)

Categorização de cadastros

(30)

0

20

40

60

80

1 2 3 4 5 6 7 8 9 10

Sprint 16/08 à 27/08

Previsto

Realizado

- Product Backlog

- Sprint Backlog

- Brun Down Charts

esfo

rço

semana 1 semana 2

Planning Meeting Release Sprint

Sprint

Daily Meeting

Review Meeting

Retrospective Meeting

Planning Meeting Release Objetivo: estabelece planos, metas, prioridades Planejam como transformar a visão em produto Organiza o ROI, define riscos Não precisa acontecer sempre Não pertence ao Sprint

Sprint

Sprint

Daily Meeting

Review Meeting

Retrospective Meeting

Então por queestá aqui?

Planning Meeting Release Sprint

Duração: 5% do Sprint Objetivo: criar e organizar o Sprint Backlog 1º) O que será feito no Sprint (P.O. explica) 2º) Como será feito no Sprint (time conversa) O time “pontua” definindo sua capacidade de desenvolvimento São criadas as estórias, tarefas (Sprint Backlog) P.O. define a meta do Sprint

Sprint Daily Meeting Review Meeting Retrospective Meeting

Planning Meeting Release Sprint

Sprint Duração: 2 a 4 semanas* Objetivo: tornar o Backlog em produto Nenhuma mudança deve ocorrer Não deve haver interferências externas As 4 reuniões ocorrem dentro do Sprint Ocorrem uma após a outra, sem intervalo

Daily Meeting Review Meeting Retrospective Meeting

Planning Meeting Sprint Daily Meeting

Duração: 15 minutos, no máximo !!! Objetivo: alinhar o desenvolvimento com a meta Realizada de pé. Sempre no mesmo local (reservado) e horário Participantes: Scrum Master e Team Ouvinte: Product Owner Cada membro explica:

O que fez desde a última reunião diária O que vai fazer até a próxima reunião diária Impedimentos, problemas, ...

Não são discutidas questões técnicas ou como serão feitas

Review Meeting Retrospective Meeting

Planning Meeting Release Sprint

Sprint Daily Meeting Review Meeting

Duração: 5% do Sprint Objetivo: dar a todos uma visão real do que foi feito Participantes: Pigs e Chickens Os usuários “navegam” pelo que já está pronto e em produção Os usuários são orientados pelo time Dúvidas de uso são esclarecidas Não é momento para testes de aceitação

Retrospective Meeting

Planning Meeting Release Sprint

Sprint Daily Meeting Review Meeting Retrospective Meeting

Duração: 5% do Sprint

Objetivo: refletir, rever e definir meios de entrega sem maiores transtornos e incômodos

Participantes: Pigs

Não há culpados, mas uma equipe que trabalha com objetivos

Planning MeetingSprint

SprintBacklog

ProductBacklog

Daily Meeting15 min.

ReviewMeeting

RetrospectiveMeeting

EstóriasTarefas

Sprint

5%

5%5%

Desenv.diário2 à 4 semanas

BurnDown

Iteração

Interação

Meta

Pronto

Impedimentos

Auto-gerenciamento

Dificuldades Resistência de quem está "perdendo poder“ Desmotivação de quem está “fora” do time Visão tradicional dos superiores Alt + tab nas tarefas Indefinição do cliente

Mitos Scrum é para projetos pequenos Somente para experientes e times nivelados Não há documentação Não tem como estimar, logo é impossível vender

Verdade Scrum não funciona em qualquer time

Propriedade coletiva de código

Programação em pares

Desenvolvimento dirigido por testes (TDD)

Refatoração constante

Pronto Agilehttp://pronto.bluesoft.com.br/

Ship Software OnTimehttp://shipsoftwareontime.com/

Version Onehttp://www.versionone.net/

Collabnet ScrumWorkshttp://www.danube.com/scrumworks

Minglehttp://www.thoughtworks-studios.com/

Pango Scrumhttp://pangoscrum.com/pt-BR

Agile Software Development with Scrum,Ken Schwaber

Scrum e XP Direto das Trincheiras,

Henrik Kniberg (PDF)

Scrum Guide,

Ken Schwaber

ScrumAlliance.org

Scrum.org

Tarefa: Criar um site de venda e locação de filmes

Pedidos do cliente (contratante): Página inicial com lançamentos, recomendados, top

10 do mês e alguma publicidade da locadora Cadastro de clientes Página para escolha dos planos (com preços) Processo de locação e compra Serviços para clientes VIP Busca de filmes

Objetivo: Aplicar o framework em um Sprint

Atividades: Definir pigs (papéis): P.O., Scrum Master, Team Criar artefatos: Product Backlog e Sprint Backlog Utilizar Kanban para visualizar estórias e tarefas ... Executar todos os eventos de pelo menos um Sprint:

planejamento, reunião diária (a cada 10 minutos), revisão e retrospectiva ...

Obrigado!Agora vou para Twitter:

@andre_ibbrasil