Upload
daniel-cukier
View
8.373
Download
0
Embed Size (px)
DESCRIPTION
Curso ministrado no evento CBSoft I - Salvador - Bahia por Daniel Cukier e Rafael Prikladnicki
Citation preview
CBSoft – Salvador – Bahia – Setembro de 2010
Introdução a Métodos Ágeis de Desenvolvimento de
SoftwareDaniel Cukier (AgilCoop)
twitter.com/danicuki
Prof. Dr. Rafael Prikladnicki (PUCRS)twitter.com/rafaelpri
CBSoft – Salvador – Bahia – Setembro de 2010
Quem usa Scrum e XP?
CBSoft – Salvador – Bahia – Setembro de 2010
Quem usa Scrum e XP?
CBSoft – Salvador – Bahia – Setembro de 2010
EUA
BR2 anos!
Quem usa Scrum e XP?
CBSoft – Salvador – Bahia – Setembro de 2010
Quem usa Scrum e XP?
CBSoft – Salvador – Bahia – Setembro de 2010
Quem usa Scrum e XP?
CBSoft – Salvador – Bahia – Setembro de 2010
Quem usa Scrum e XP?
CBSoft – Salvador – Bahia – Setembro de 2010
CBSoft – Salvador – Bahia – Setembro de 2010
Daniel Cukier
15 anos de experiência com desenvolvimento do Software
3 anos como gerente de Desenvolvimento na Locaweb
Membro da Agilcoop desde 2003
Autor do blog www.agileandart.com
Mestre em Ciência da Computação – IME/USP (2009)
Palestra em vários eventos
Encontro Ágil, Oxente Rails, Falando em Ágil, SugarLoafPLoP, etc
Áreas de atuação acadêmica e profissional:
Desenvolvedor e líder técnico em vários projetos de software.
Um dos responsáveis pela implantação de Métodos Ágeis na
Locaweb
Padrões para Introduzir Novas Ideias na Indústria de Software
Outras não menos importantes:
Teatro, música, poesia, meditação
CBSoft – Salvador – Bahia – Setembro de 2010
Contexto e experiência na AgilCoop
Cursos de graduação em XP desde 2001
Apresentações SBES, SUCESU, SEPAI, SEBRAE, etc.
Arquivos disponíveis: www.agilcoop.org.br
Assessorias em métodos ágeis
Artigos científicos
Dissertações de Mestrado
CBSoft – Salvador – Bahia – Setembro de 2010
Professor da FACIN – PUCRS desde 2004 – www.inf.pucrs.br/~rafael
Coordenador de Gestão de Projetos da AGT/PUCRS
Professor do PPGCC desde 2010/1
Coordenador do GUMA e do SPIN-POA (Sucesu-RS)
Certified ScrumMaster (CSM) e Project Mgmt Professional (PMP)
Mestre em Ciência da Computação – PUCRS (2003)
Doutor em Ciência da Computação – PUCRS (2009)
Áreas de atuação acadêmica e profissional:
Desenvolvimento Distribuído de Software
Gerência de Projetos
Melhoria de Processo de Software
Engenharia de Software Experimental
Lean e Métodos Ágeis para Desenvolvimento de Software
Rafael Prikladnicki
CBSoft – Salvador – Bahia – Setembro de 2010
Contexto e experiência na PUCRS
www.inf.pucrs.br/munddos
Criado em 2001
Registrado no CNPq em 2004
Livros publicados em 2007, 2009 e 2010
2 pesquisadores
Formou 11 mestres, 1 doutor
Possui 6 mestrandos, 2 doutorandos
CBSoft – Salvador – Bahia – Setembro de 2010
Implantação de práticas de DDS nas empresas
Desenvolvimento de ferramentas para apoiar DDS
Integração de DDS com métodos ágeis
Estudo de maneiras de usar Follow-the-Sun (FTS)
Formação de profissionais e alunos em DDS
Estudo do papel do Brasil no mercado global de TI
www.inf.pucrs.br/munddos
Contexto e experiência na PUCRS
CBSoft – Salvador – Bahia – Setembro de 2010
Contexto e experiência na PUCRS
CBSoft – Salvador – Bahia – Setembro de 2010
Introdução e motivação
O que são Métodos Ágeis?
Princípios
Problemas com abordagens tradicionais
Alguns métodos ágeis
Conclusão
Agenda
CBSoft – Salvador – Bahia – Setembro de 2010
Por que teu projeto termina com sucesso?
Por que teu projeto fracassa?
Discussão em grupo 15 minutos Agrupar problemas
e fracassos em categorias
Dinâmica
Grupo 2
Grupo n
Grupo 1
Grupo 3
Sucesso Fracasso
Ref: Henrik Kniberg
CBSoft – Salvador – Bahia – Setembro de 2010
Motivação
CBSoft – Salvador – Bahia – Setembro de 2010
Como ganhar dinheiro resolvendo problemas que voce não conhece,
com pessoas desconhecidas, em um
tempo curto e com poucos recursos (e se
divertindo)?
Motivação
CBSoft – Salvador – Bahia – Setembro de 2010
Tenho como produzir 100 aviões em 10 minutos?
Quantos aviões 10 pessoas produzem em 10 minutos?
Tenho, mas:
- Vou verificar tudo ao final
- Posso ter baixa qualidade
- Posso ter retrabalho
- Posso não ter entendido o escopo
Então por que deixar tudo para o final?
CBSoft – Salvador – Bahia – Setembro de 2010
Tenho como produzir 100 aviões em 10 minutos?
E se produzirmos um pouco a cada 2 minutos?
E se melhorarmos a cada ciclo?
E se o cliente fornecer feedback a cada ciclo?
E se a equipe encontrar a melhor forma de trabalhar?
Quantos aviões 10 pessoas produzem em 10 minutos?
CBSoft – Salvador – Bahia – Setembro de 2010
Gráfico de Burndown
0
50
100
150
200
250
300
Objetivo Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5
Sprints
Aviões restantes
Motivação
CBSoft – Salvador – Bahia – Setembro de 2010
Gráfico de Burndown
0
50
100
150
200
250
Objetivo Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5
Sprints
Aviões restantes
Motivação
CBSoft – Salvador – Bahia – Setembro de 2010
Sociedade demandagrande quantidade de sistemas/aplicações
software complexo, sistemas distribuídos, heterogêneos
requisitos mutantes (todo ano, todo mês, todo dia)
Mas, infelizmente,não há gente suficiente para desenvolver
tanto software com qualidade
Novos ventos no desenvolvimento de software
CBSoft – Salvador – Bahia – Setembro de 2010
Resultado dos projetos em 2004
Relatório do Chaos (Chaos Report)
CBSoft – Salvador – Bahia – Setembro de 2010
Resultado dos projetos em 2004
Relatório do Chaos (Chaos Report)
1994 2004
Projetos não concluídos------------ 31%
Projetos bem sucedidos----- 16%
Estouro médio de custo-----------------------> 180%
Estouro médio de prazo-----------------------> 164%
Projetos não concluídos------- 18%
Projetos bem sucedidos----------- 29%
Estouro médio de custo----------------- 56%
Estouro médio de prazo------------------------- 84%
CBSoft – Salvador – Bahia – Setembro de 2010
Evitar desperdício
Estudo do The Standish Group conclui (Chaos Report): Pesquisa sobre a utilização das funcionalidades do software ...
Mais de 64% de um sistema de software quase nunca não é utilizado!
Mais de 64% de um sistema de software quase nunca não é utilizado!
CBSoft – Salvador – Bahia – Setembro de 2010
Com métodos tradicionais/clássicos de desenvolvimentoSupõem que é possível prever o futuroPouca interação com os clientesÊnfase em burocracias
(documentos, formulários, processos, controles rígidos, etc.)
Avaliação do progresso baseado na evolução da burocracia e não do código
Com softwareGrande quantidade de errosFalta de flexibilidade
Problemas
CBSoft – Salvador – Bahia – Setembro de 2010
Melhores TecnologiasPadrões de Projeto (reutilização de idéias)Componentes (reutilização de código)Middleware/frameworks (aumenta a
bstração)
Melhores MetodologiasMétodos Ágeis (o foco deste mini-curso)outras... (abordados em outros cursos de
ES)
Como resolver o impasse?
CBSoft – Salvador – Bahia – Setembro de 2010
Erro comum: olhar para software como apenas um desses itens e ignorar os demais
O que é desenvolvimento de software?
(Gabriel)Arte
(Knuth)Artesanato
(Cockburn)Poesia
(Humphreys)Disciplina
(Meyer)Engenharia
(Jacobson)ModelagemPor Alistair Cockburn:
CBSoft – Salvador – Bahia – Setembro de 2010
Agile is not a set of practices, but a
core set of beliefs and principles
Jim Highsmith
O que são métodos ágeis?
CBSoft – Salvador – Bahia – Setembro de 2010
Retorno de investimentoInovação
Melhoria de processoPessoasCultura
ComunicaçãoAdaptação x Antecipação
Princípios
CBSoft – Salvador – Bahia – Setembro de 2010
Movimento iniciado por programadores experientes e consultores em desenvolvimento de software.
Questionam e se opõem a uma série de mitos e práticas adotadas em abordagens tradicionais de Engenharia de Software e Gerência de Projetos.
Manifesto Ágil:Assinado por 17 desenvolvedores em Utah
em fevereiro/2001. http://agilemanifesto.org
Histórico
CBSoft – Salvador – Bahia – Setembro de 2010
Processos e ferramentasProcessos e ferramentas
Documentação abrangenteDocumentação abrangente
Negociação de contratoNegociação de contrato
Plano pré-estabelecidoPlano pré-estabelecido
mais mais importante importante
queque
Agile Manifesto (2001)
Indivíduos e interaçõesIndivíduos e interações
Software funcionandoSoftware funcionando
Colaboração do clienteColaboração do cliente
Resposta às mudançasResposta às mudanças
http://agilemanifesto.org
Kent Beck James Grenning Robert C. Martin Mike Beedle Jim Highsmith Steve Mellor Arie van Bennekum Andrew Hunt Ken Schwaber Alistair Cockburn Ron Jeffries Jeff Sutherland Ward Cunningham Jon Kern Dave Thomas Martin Fowler Brian Marick
CBSoft – Salvador – Bahia – Setembro de 2010
O mais importante é o software funcionando Periodicamente a equipe deve refletir sobre
como se tornar mais efetivo Profissionais motivados Suporte às necessidades da equipe e
ambiente necessário para desenvolvimento das atividades
Confiança no trabalho da equipe
Alguns princípios
CBSoft – Salvador – Bahia – Setembro de 2010
O gerente de projeto concorda em prosseguir sem que todos os requisitos estejam bem definidos
Os desenvolvedores concordam em prosseguir sem ter todos os requisitos documentados
Os membros da equipe sabem que alguém vai ajudar quando ocorrerem problemas
Em um projeto ágil ideal...
CBSoft – Salvador – Bahia – Setembro de 2010
Os gerentes percebem que não precisam dizer à equipe o que fazer, ou garantir o que vai ser feito
A equipe percebe que ninguém vai dizer o que fazer, isto faz parte do trabalho da equipe
Não existem mais a impressão de divisão (testers and programmers), todos são desenvolvedores
Em um projeto ágil ideal...
CBSoft – Salvador – Bahia – Setembro de 2010
Mudança de Postura
Equipe
Equipe
Equipe
Equipe
GP
Equipe
Equipe
Equipe
Equipe
GP
Tradicional Ágil
Cross-funcional
Auto-organização
CBSoft – Salvador – Bahia – Setembro de 2010
0. Levantamento de Requisitos
1. Análise de Requisitos
2. Desenho da Arquitetura
3. Implementação
4. Testes
5. Produção / Manutenção
Enquanto isso, num projeto tradicional...
CBSoft – Salvador – Bahia – Setembro de 2010
É necessário fazer uma análise de requisitos profunda e detalhada antes de projetar a arquitetura do sistema
É necessário fazer um estudo minucioso e elaborar uma descrição detalhada da arquitetura antes de começar a implementá-la
É necessário testar o sistema completamente antes de mandar a versão final para o cliente
Premissas básicas do modelo tradicional
CBSoft – Salvador – Bahia – Setembro de 2010
Cascata é como uma bala de canhão
CBSoft – Salvador – Bahia – Setembro de 2010
Interface
Cliente
Servidor
BD
C
Iterativo = não espere ter tudo correto na primeira vezIncremental = construa em ”pedaços” verticais (features) ao invés de horizontais (camadas)
Desenvolvimento monolítico
1
2
3
4
1
Desenvolvimento incremental
2 3
Talvez não sejanecessário construiro resto
C
Interface
Cliente
Servidor
BD
Iterativo e Incremental
Ref: Henrik Kniberg
CBSoft – Salvador – Bahia – Setembro de 2010
Iterativo e Incremental
Produto?
CBSoft – Salvador – Bahia – Setembro de 2010
O que muda?
Custodamudança
Intensidade e stress
Tempo
Tempo Tempo
Entrega de valor
TransparênciaEnvolvimento
do cliente
Tempo
Ref: Henrik Kniberg
Tradicional
Ágil
CBSoft – Salvador – Bahia – Setembro de 2010
Metodologias ágeis são uma tentativa de refinar
as metodologias iterativas, tirando o foco
do processo em si e dando mais ênfase para a contribuição das pessoas
CBSoft – Salvador – Bahia – Setembro de 2010
Metodologias ágeis é uma febre? Uma onda
passageira?
É o início de uma mudança na forma de trabalho...
CBSoft – Salvador – Bahia – Setembro de 2010
Evitar incerteza x Gerenciar para incerteza
Ref: Luiz Cláudio Parzianello
CBSoft – Salvador – Bahia – Setembro de 2010
O paradoxo da multitarefa
Ref: Henrik Kniberg
Visão tradicional “Tudo é importante, vamos fazer tudo ao mesmo tempo!”
Visão ágil “Prioriza e foca naquilo que é mais importante!”
Jan Feb Mar Abr Mai Jun Jul
Jan Feb Mar Abr Mai Jun Jul
A B C
CBSoft – Salvador – Bahia – Setembro de 2010
Métodos tradicionais O planejamento deve propiciar a prevenção de
mudanças
Métodos ágeis A mudança é incorporada ao escopo
Razões Necessidades de negócio Novas oportunidades Mudanças de legislação Requisitos incompletos
O que muda?
CBSoft – Salvador – Bahia – Setembro de 2010
A atitude dos desenvolvedores de software seria completamente diferente:
Tomaríamos as grandes decisões o mais tarde possível
Implementaríamos agora somente o que precisamos agora
Não implementaríamos flexibilidade desnecessária (não anteciparíamos necessidades)
E se fosse essa a realidade?
CBSoft – Salvador – Bahia – Setembro de 2010
Orientação a Objetos: facilita e cria oportunidades para mudanças
Técnicas de Refatoração
Testes automatizados: nos dão segurança quando fazemos mudanças
Prática / cultura de mudanças: aprendemos técnicas e adquirimos experiência em lidar com código mutante
E essa é a nova realidade (em muitos casos)
CBSoft – Salvador – Bahia – Setembro de 2010
Adaptative Software Development (ASD) Jim Highsmith
Crystal Clear (Crystal) Alistar Cockburn
Extreme Programming (XP) Kent Beck, Eric Gamma
Scrum Ken Schwaber, Jeff Sutherland, Mark Beedle
Lean Software Development Mary e Tom Poppendieck
Feature Driven Development (FDD) Peter Coad, Jeff DeLuca
Test Drive Development (TDD) Kanban
Principais Métodos Ágeis
CBSoft – Salvador – Bahia – Setembro de 2010
Agile Project Management – Jim Highsmith, 2008
Agile Enterprise Framework
Governança e Portfólio
Gerência de Projeto
Gerência de Iterações
Práticas Técnicas
ROI, Progresso, Risco, Investimento
Release, aquisição, PMBOK, externo
Interno, Scrum
XP, FDD, etc
Mudança de perspectiva
CBSoft – Salvador – Bahia – Setembro de 2010
1. David Rico (2008) Survey de artigos acadêmicos e científicos
publicados
2. VersionOne (2008) Survey online com mais de 3.000 pessoas
3. QSMA (Michael Mah 2008) Comparação rigorosa de 26 projetos ágeis com
uma base de 7.500 projetos “tradicionais” Equipes ágeis variando entre 26 e 1.000 pessoas
4. Dr. Dobb’s Journal (2008) Survey online com 642 pessoas
Métodos ágeis funcionam?
CBSoft – Salvador – Bahia – Setembro de 2010
Fonte: Mah 2008.
Agile projects are 16% more productive at a statistically significant level of confidence.
Métodos ágeis funcionam?
CBSoft – Salvador – Bahia – Setembro de 2010
Satisfação no trabalho Após 15 meses de adoção do Scrum, 86% dos
colabroadores da Salesforce.com estavam tendo um “good time” ou o “best time”
Apenas 40% disseram isto antes de adotar Scrum 92% recomendariam métodos ágeis para outras pessoas
Time to Market VersionOne
• 64% disseram que o time to market melhorou• 23% disseram que melhorou significativamente
Michael Mah• Projetos ágeis tem um time to market 37% mais rápido
com um nível de confiança estatisticamente significante
Métodos ágeis funcionam?
CBSoft – Salvador – Bahia – Setembro de 2010
Fonte: Mah 2008.
Métodos ágeis funcionam?
CBSoft – Salvador – Bahia – Setembro de 2010
Melhoria na satisfação dos stakeholders Dr. Dobb’s
• 47% disseram que a satisfação foi “somewhat higher”• 31% disseram que foi “much higher”
Version One
ImprovedSignificantly
Improved
Enhanced ability to manage changing priorities
41% 51%
Improved project visibility 42% 41%
Improved alignment of IT and business goals
39% 27%
Reduced project risk 48% 17%
Métodos ágeis funcionam?
CBSoft – Salvador – Bahia – Setembro de 2010
5 motivos para NÃO usar métodos ágeis?
CBSoft – Salvador – Bahia – Setembro de 2010
Cinco Motivos para não usar Métodos Ágeis
Motivo 1Motivo 1
Eu sei e defino Eu sei e defino todos os requisitos todos os requisitos no início do projetono início do projeto
Não preciso de ciclos iterativos
Qual projeto de software possui todos os requisitos definidos (corretamente) no início?
CBSoft – Salvador – Bahia – Setembro de 2010
Cinco Motivos para não usar Métodos Ágeis
Motivo 2Motivo 2
Os objetivos do Os objetivos do meu projeto estão meu projeto estão
muito claros muito claros desde o iníciodesde o início
O cliente descobre o que quer ao longo do caminho
CBSoft – Salvador – Bahia – Setembro de 2010
Cinco Motivos para não usar Métodos Ágeis
Motivo 3Motivo 3
Meu projeto Meu projeto envolve baixa envolve baixa
incertezaincerteza
Qual projeto de software envolve baixa incerteza?
CBSoft – Salvador – Bahia – Setembro de 2010
Cinco Motivos para não usar Métodos Ágeis
Motivo 4Motivo 4
Minha estimativa Minha estimativa está toda definida está toda definida
e com índice de e com índice de erro muito baixoerro muito baixo
Em qual projeto de software consigo ter estimativas precisas?
CBSoft – Salvador – Bahia – Setembro de 2010
Cinco Motivos para não usar Métodos Ágeis
Motivo 5Motivo 5
Meu processo é Meu processo é rígido e controlado rígido e controlado (comando-controle)(comando-controle)
As tarefas são delegadas, equipes ficam desmotivadas mais facilmente
Qual equipe gosta de trabalhar desmotivada?
CBSoft – Salvador – Bahia – Setembro de 2010
Cinco Motivos para não usar Métodos Ágeis
Requisitos definidos desde o inícioRequisitos definidos desde o inícioObjetivos claros desde o inícioObjetivos claros desde o início
Comando-controleComando-controleBaixa incertezaBaixa incerteza
Estimativas precisasEstimativas precisas
Qual projeto de desenvolvimento de Qual projeto de desenvolvimento de software possui estas software possui estas
características?características?
CBSoft – Salvador – Bahia – Setembro de 2010
E os Cinco Motivos?
Requisitos definidos desde o inícioRequisitos definidos desde o inícioObjetivos claros desde o inícioObjetivos claros desde o início
Comando-controleComando-controleBaixa incertezaBaixa incerteza
Estimativas precisasEstimativas precisas
Qual projeto de desenvolvimento de Qual projeto de desenvolvimento de software possui estas software possui estas
características?características?
Entao NÃO faz sentido NÃO usar
Entao NÃO faz sentido NÃO usar
metodologias ágeis na grande
metodologias ágeis na grande
maioria dos casos.
maioria dos casos.
Mas não APENAS metodologias
Mas não APENAS metodologias
ágeis!!!ágeis!!!
CBSoft – Salvador – Bahia – Setembro de 2010
SCRUM
CBSoft – Salvador – Bahia – Setembro de 2010
Scrum - Jogada de Rugby
CBSoft – Salvador – Bahia – Setembro de 2010
Ref.:3rd Annual ”State of Agile Development” Survey June-July 20083061 respondentes, 80 países
Quem usa Scrum?
CBSoft – Salvador – Bahia – Setembro de 2010
69
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.
Mesmo que o produto seja complexo...
... Tente manter uma
iteração simples
Como resolver
CBSoft – Salvador – Bahia – Setembro de 2010
Adaptativo
E
C D
A
Planejado
Tradicional
Ágil
Sem 1 Sem 2 Sem 3 Sem 4
B
C D
A
Sem 1 Sem 2 Sem 3 Sem 4
B
Sem 5 Sem 6 Sem 7 Sem 8
D
A
Sem 1 Sem 2 Sem 3 Sem 4
B
Sem 5 Sem 6 Sem 7 Sem 8
A B
CBSoft – Salvador – Bahia – Setembro de 2010
Ênfase: processo empírico
Princípio Características desconhecidas Prioridades devem ser consideradas Escopo irá mudar!
Essência do SCRUM Inspeção
• Verificar o que foi feito no período
Adaptação• Melhorar o processo
Planejar Planejar o sprint
Desenvolver Realizar o sprint
Inspecionar (check) Sprint review e retrospectiva
Adaptar Lições para o próximo planejamento
PLAN
DO
ACT
CHECK
CBSoft – Salvador – Bahia – Setembro de 2010
O Framework do Scrum
CBSoft – Salvador – Bahia – Setembro de 2010
Planejamento e preparação
Product Owner e Cliente Visão do produto
Requisitos funcionais e não funcionais Restrições e User stories (prática do XP)
Criação do product backlog Conjunto de funcionalidades do sistema Priorização das funcionalidades
Preparação da base necessária para o desenvolvimeto Mecanismos de comunicação e coordenação Formação das equipes
CBSoft – Salvador – Bahia – Setembro de 2010
User Stories
User stories Identificação de atores envolvidos Como um [papel do usuário]
quero [funcionalidade]para [valor de negócio]
I.N.V.E.S.T. (independente, negociável, valorizável, estimável, small e testável)
Quebrar grandes e juntar pequenas Definição do conceito de DONE (testes)
• Diferentes perspectivas
Prioridades das user stories• Valor entre 1 e 150?
• Must have
• Should have
• Could have
CBSoft – Salvador – Bahia – Setembro de 2010
Desenvolvimento
Product Owner, ScrumMaster e Equipe Análise e organização do Product Backlog
Refinamento das funcionalidades Estimativas Escolha das funcionalidades para o sprint Formalização do sprint backlog Identificação das tarefas Organização da taskboard
2-4 hs 2-4 hs
CBSoft – Salvador – Bahia – Setembro de 2010
Desenvolvimento
Estimativas Tempo e/ou complexidade? Fibonacci
• 1, 2, 3, 5, 8, 13, 21…
Planning poker• As duas estratégias de uso de planning poker
• Jogar as cartas para cada estória
• Colocar cada estória embaixo de uma carta
Algumas práticas utilizadas:• Pontos para funcionalidades e horas para tarefas
• 1-day tasks (máximo 2 e mínimo 1/2)
• Considerar tarefas como teste, pesquisas, documentação, etc.
CBSoft – Salvador – Bahia – Setembro de 2010
Desenvolvimento
Tempo ou Complexidade 4 pessoas trabalhando 4 semanas Equipe: 640 horas 2 junior, 2 senior
• Produzem 25 pontos de complexidade
4 pessoas trabalhando 4 semanas Equipe: 640 horas 4 senior
• Produzem 60 pontos de complexidade
CBSoft – Salvador – Bahia – Setembro de 2010
Planning poker
1Muito pequeno!
2 3 5
8 13 21 40
Férias!
Mais detalhes!
Nem idéia!
Intervalo!
CBSoft – Salvador – Bahia – Setembro de 2010
Planning poker
Planning Poker na PRÁTICA!
Avaliar distância entre
Argentina e Mongólia Chile e Itália Japão e Austrália Índia e Alemanha EUA e Rússia Ucrânia e China
CBSoft – Salvador – Bahia – Setembro de 2010
VALOR
COMPLEXIDADEAltaBaixa
Alta
Baixa
UStory1
UStory2
UStory3
UStory4
Priorização e classificação do backlog
CBSoft – Salvador – Bahia – Setembro de 2010
40 3030 2830 3130 30
Estimado Realizado
40 3040 3040 30
40 3050 3060 30
40 3535 3030 25
302520
Calibrando a velocidade
Estimado Realizado
Estimado Realizado Estimado Realizado
CBSoft – Salvador – Bahia – Setembro de 2010
Calibrando a velocidade
Início da sprint
8
5
3
5
5
5
3
5
5
8
Backlogdo produto
8
5
3
5
5
Backlogda sprint
Final da sprint
8
5
3
5
5
Feito!
Feito!
Feito!Quase
Nem iniciamos
Velocidadereal =
18
Backlogda sprint
Velocidadeestimada =
26
CBSoft – Salvador – Bahia – Setembro de 2010
Administrate users
Administrate users
Register new user
Register new user
Edit existing user
Edit existing user
Delete userDelete user
Find userFind user
100 simultaneous users
100 simultaneous users
Operations manual
Operations manual
As a helpdesk operator I want to see
who is logged in
As a helpdesk operator I want to see
who is logged in
View Invoice in HTML, PDF, or
Excel format
View Invoice in HTML, PDF, or
Excel format
100 simultaneous users
100 simultaneous users
Operations manual
Operations manual
As a helpdesk operator I want to see who is logged
in
As a helpdesk operator I want to see who is logged
in
View Invoice in HTML, PDF, or
Excel format
View Invoice in HTML, PDF, or
Excel format
Register new user
Register new user
Edit existing user
Edit existing user
Delete userDelete user
Find userFind user
100 simultaneous users
100 simultaneous users
Operations manual
Operations manual
As a helpdesk operator I want to see
who is logged in
As a helpdesk operator I want to see
who is logged in
View Invoice in HTML, PDF, or
Excel format
View Invoice in HTML, PDF, or
Excel format
Dividindo user stories
CBSoft – Salvador – Bahia – Setembro de 2010
Dividindo user stories
Administrate users
Administrate users
Register new user
Register new user
Edit existing user
Edit existing user
Delete userDelete user
Find userFind user
User admin
User admin
User admin
User admin
Do GUI designDo GUI design
Write failing test
Write failing test
Do integration test
Do integration test
Create DB schema
Create DB schema
Write server-side logic
Write server-side logic
Write form validationWrite form validation
Dividir
Quebrar em tarefas durante a reunião de sprint planning
13
5
3
8
2
Ref: Henrik Kniberg
Como priorizar itens do backlog?
Como planejar as tarefas?
CBSoft – Salvador – Bahia – Setembro de 2010
Desenvolvimento
ScrumMaster e Equipe Dia-a-dia do SCRUM
Sprint• 2 semanas a 4 semanas
Daily meetings (Daily Scrum) Impedimentos
• Obstáculos ao trabalho da equipe
Manter a taskboard• Burndown
• Tarefas e estimativas
• Tarefas não-planejadas
CBSoft – Salvador – Bahia – Setembro de 2010
O Gráfico de Burndown
5
10
15
20
Trabalho que resta na sprint
(pontos de user story)
Dias da sprint
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Gráfico de Burndown de uma Sprint de duas semanas
Vamos terminar antes
CBSoft – Salvador – Bahia – Setembro de 2010
O Gráfico de Burndown
5
10
15
20
Trabalho que resta na sprint
(pontos de user story)
Dias da sprint
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Gráfico de Burndown de uma Sprint de duas semanas
Não vamos conseguir cumprir
a meta desta sprint
CBSoft – Salvador – Bahia – Setembro de 2010
O Gráfico de Burndown
5
10
15
20
Trabalho que resta na sprint
(pontos de user story)
Dias da sprint
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Não estamos atualizando o gráfico de burndown
Gráfico de Burndown de uma Sprint de duas semanas
CBSoft – Salvador – Bahia – Setembro de 2010
O Gráfico de Burndown
100
200
300
400
Trabalho que resta no projeto(pontos de user
story)
Nro de sprints
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
O projeto vai terminarentre os sprints 14 e 16
Gráfico de Burndown da release ou do projeto
CBSoft – Salvador – Bahia – Setembro de 2010
Desenvolvimento
Daily Meetings (Daily Scrum) Reunião diária de 15 minutos Mantém equipe informada e integrada
• O que você fez ontem?
• O que pretende fazer para amanhã?
• Quais são seus impedimentos?
Questões técnicas • No final da reunião
Não se resolve problema, apenas se identifica
CBSoft – Salvador – Bahia – Setembro de 2010
Desenvolvimento
Para ajudar na execução (taskboard)
CBSoft – Salvador – Bahia – Setembro de 2010
Sprint review
Cliente, PO, SM e Team Apresentação do produto Foco no QUE foi feito e não COMO foi feito Aceite formal e feedback do cliente Melhoria na forma de priorização?
CBSoft – Salvador – Bahia – Setembro de 2010
Próximo sprint
Lições aprendidas Alimentam o próximo sprint
• Velocidade da equipe
• Erros x acertos
• Previsto x realizado
• Fator de foco da equipe
Repositório de lições Disseminação na empresa
Usar parte do sprint anterior para planejar o próximo sprint
Lições aprendidas
CBSoft – Salvador – Bahia – Setembro de 2010
Cancel
Gift wrap
Return
Sprint2-4 semanas
???
Objetivo do Sprint
Backlog da Sprint
Produto a ser entregue
(ou seu incremento)
Backlogdo produto
CuponsEmbrulho
Cupons
Cancelar
24 horas
Fluxo do Scrum
Sprint Planning 1 Sprint Planning 2
Daily Scrum
Sprint Review Retrospectiva
CBSoft – Salvador – Bahia – Setembro de 2010
XP
CBSoft – Salvador – Bahia – Setembro de 2010
Lembram disto?
Como Métodos Ágeis podem ajudar a resolver ou minimizar os motivos de fracasso identificados?
Dinâmica
Grupo 2
Grupo n
Grupo 1
Grupo 3
Sucesso Fracasso
Ref: Henrik Kniberg
CBSoft – Salvador – Bahia – Setembro de 2010
Conclusões
Quando temos problema em cronograma, modelos tradicionais cortam testes, modelos ágeis cortam histórias. Um reduz a qualidade, o outro reduz o escopo.
A questão não é documentar, é entender. Não existem melhores práticas. Existem boas práticas
para determinadas situações. Entregue hoje. Adapte amanhã. Adaptação é uma resposta à mudança. Equipes auto-gerenciáveis não são equipes sem
liderança, são equipes com outro estilo de liderança. Uso de técnicas como Refatoração, Testes, Modelagem
Ágil são fundamentais para constante mudança do código
Plans are nothing; Planning is everything
CBSoft – Salvador – Bahia – Setembro de 2010
twitter.com/danicukitwitter.com/rafaelpri
CBSoft – Salvador – Bahia – Setembro de 2010
Dinâmica
Analista Projetista Programador Testador Cliente
Ref: Luiz Cláudio Parzianello
Æ Œ
CBSoft – Salvador – Bahia – Setembro de 2010
Dinâmica
Æ…
Æ Œ Æ Æ…
Æ Œ™ Æ Œ Æ Œ…
Æ Œ™ Æ Œ™…
Ref: Luiz Cláudio Parzianello
Æ Æ Œ Æ Œ™… … … …
Pequenos Lotes
Grandes Lotes
CBSoft – Salvador – Bahia – Setembro de 2010
Qual é o arranjo logístico mais rápido?
Qual equipe apresentou o maior esforço por projeto?
Quais as vantagens de cada abordagem?
Quais as desvantagens de cada abordagem?
Qual a justificativa para manter os grandes lotes?
Dinâmica