criando um ambiente ágil! lições aprendidas em xp, scrum e lean development
DESCRIPTION
Palestra falando sobre alguns problemas vivenciados por Daniel Wildt no uso de Métodos Ágeis e algumas dicas sobre práticas e princípios de Métodos Ágeis.TRANSCRIPT
3º. Encontro do Grupo de Usuários de Métodos Ágeis3º. Encontro do Grupo de Usuários de Métodos ÁgeisSENAC SENAC -- Porto Alegre, 05/05/2007Porto Alegre, 05/05/2007
Criando um ambiente ágil!Criando um ambiente ágil!Criando um ambiente ágil!Criando um ambiente ágil!
Porto Alegre, 29/09/2004
ggLições aprendidas em XP, Scrum e Lean DevelopmentLições aprendidas em XP, Scrum e Lean Development
ggLições aprendidas em XP, Scrum e Lean DevelopmentLições aprendidas em XP, Scrum e Lean Development
Daniel WildtDaniel WildtFACENSA / java.net / XPFACENSA / java.net / XP--RS GUMA / DUGRS GUMA / DUG--RS / DevMediaRS / DevMedia
Daniel WildtDaniel WildtFACENSA / java.net / XPFACENSA / java.net / XP--RS GUMA / DUGRS GUMA / DUG--RS / DevMediaRS / DevMedia
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 1][Slide 1]
Agenda
• Motivações para este evento!• Lição e discussão, modo de apresentação
• Apresentar uma frase/imagem (obrigatório), rir (opcional) e discutir com a platéia (obrigatório)
• Referências• Apoios• Perguntas
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 2][Slide 2]
Motivações para este evento!
• Boas práticas só aparecem se ocorre a prática!• Aprender com o erro dos outros sempre é mais
engraçado e saudável!• Somos um grupo com excelentes pensadores!• Mais importante do que errar é tirar lições para o
futuro!• Toyota!
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 3][Slide 3]
Lição e discussão – Quem veio antes? Galinha, ovo? Não! TOYOTA!
• Taichii Ohno e Shigeo Shingo responsáveis por termos• Taichii Ohno e Shigeo Shingo, responsáveis por termos como:• Just In Time Production• Stop the Line Culture (Jidoka Autonomation)• Stop the Line Culture (Jidoka, Autonomation)• Zero Inspection (mistake-proof)
• Toyota Production System (TPS), hoje conhecido como Lean Thinking Lean Enterprise Lean Manufacturing entreLean Thinking, Lean Enterprise, Lean Manufacturing, entre outros.• Remover desperdício
F li t• Foco no cliente• Agregar valor a linha
• Muda, Mura e MuriM é l id d d d ã• Mura é regularidade da produção
• Muri trata da sobrecarga• Muda trata o despercício. Os 7 Desperdícios do Lean:
E T t S b E t M i t õ• Espera, Transporte, Sobrecarga, Estoque, Movimentações, Defeitos e super produção.
• Melhoria Contínua: Kaizen
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 4][Slide 4]
• Melhoria Contínua: Kaizen
Lição e discussão – Métodos ágeis não resolvem todos os problemas!
Não existe bala de prata!
Não existe nenhum lugar dizendo que você é impedido de usar Scrum dentro de algum modelo de software como CMMI, MPS.BR, UP ou algo do tipo!
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 5][Slide 5]
como CMMI, MPS.BR, UP ou algo do tipo!
Lição e discussão – Comunicação é a origem dos problemas!
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 6][Slide 6]
Lição e discussão – Planejar é necessário! Em métodos ágeis existe Planejamento!!
Planejar release, iteração e o dia. Motivação e realidade sempre!p
Velocidade do time (Burn down de horas) e backlog são variáveis que sempre devem ser avaliadas!variáveis que sempre devem ser avaliadas!
Tipos? Release (baseado no backlog), Sprint (prioridades do backlog) e Daily (Scrum Meeting)
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 7][Slide 7]
do backlog) e Daily (Scrum Meeting).
Lição e discussão – Correção de queima de horas
Adicionar mais recursos em um projeto atrasado não p jresolve o problema!
Manter o ritmo da equipe é necessário!Manter o ritmo da equipe é necessário!
Achar que a velocidade da equipe pode dobrar de uma semana para a outra não tende a se tornar realidade
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 8][Slide 8]
semana para a outra não tende a se tornar realidade.
Lição e discussão – O custo é fixo!
Custo da equipe?Custo da equipe?Número de pessoas da equipe x 8 horas de trabalho x dias úteis.
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 9][Slide 9]
Lição e discussão – Programação em pares é útil para aprendizado!
As pessoas vão aprender a fazer certo da primeira vez
i iê iA equipe troca experiências
O time se conhece melhor
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 10][Slide 10]
Lição e discussão – Aprenda os valores que as práticas trazem para a equipe e não as práticas
Não force práticas dentro da equipeNão force práticas dentro da equipe
Tudo o que existe nas metodologias ágeis requer uso de ã í ãcomunicação e princípios de produção enxuta!
O cliente deve ser um aliado!
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 11][Slide 11]
Lição e discussão – Defina o que é necessário. E em pequenas partes!
D fi i f it d t d j l d j t !Defina o que vai ser feito dentro da janela do projeto!
Tarefas menores aumentam a motivação da equipe!
Melhor ter 10 tarefas de 4 horas do que 1 tarefa de 40 horas!
Estabeleça prioridades e faça aquilo que é necessário.
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 12][Slide 12]
Não tente prever o futuro, e revise as previsões sempre.
Lição e discussão – Estabeleça com a equipe o que quer dizer “pronto”.
Pronto?
Pronto pode indicar que a codificação foi feita.
Pronto pode indicar que a codificação + teste foi feito.p q ç
Pronto pode indicar que a codificação + teste + integração + regressão foi feita e que a instalação da
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 13][Slide 13]
integração + regressão foi feita e que a instalação da funcionalidade pode ser realizada quando se desejar.
Lição e discussão – Atualize informações das tarefas diariamente! O gráfico de “burn down” não mente!
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 14][Slide 14]
Lição e discussão – Técnicas de comunicação são necessárias em um time. Você sabe se comunicar?
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 15][Slide 15]
Lição e discussão – Fazer teste de unidade não é o bastante!
JU itJUnitSelenium IDE
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 16][Slide 16]
Lição e discussão – Testar não é uma atividade isolada e não é feita em um momento específico do projeto!
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 17][Slide 17]
http://www.ambysoft.com/essays/floot.html
Referências
• Beck, Kent; Andres, Cynthia. Extreme Programming explained: embrace change. 2ª edição. Pearson Education, 2005.
• Poppendieck, Mary; Poppendieck, Tom. Implementing Lean Software Development: From concept to Cash. Pearson Educatoin, 2007.
• Schwaber, Ken. Agile Project Management With Scrum. Microsoft Press, 2004.
• Liker, Jeffrey. The Toyota Way. McGraw-Hill, 2004.• Koscianski, André; Soares, Michel dos Santos.
Qualidade de Software, São Paulo: Novatec, 2006.• Pressman, Roger S. Engenharia de Software. São
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 18][Slide 18]
Paulo: Makron, 2002.
Referências
Á• Manifesto Ágil. Disponível na www em http://www.agilemanifesto.org
• Tinkha, Andy; Kaner, Cem. Exploring Exploratory Testing. Disponível na www em http://www.testingeducation.org/a/explore.pdf
• Método FLOOT de Scott Ambler. Disponível na www em http://www.ambysoft.com/essays/floot.html
• Complexidade Ciclomática. Disponível na www em http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html
• Implementing Scrum (BLOG). Disponível na www em
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 19][Slide 19]
http://www.implementingscrum.com/cartoons/
Referências
• Qualidade em desenvolvimento Java para todos os gostos, por Daniel Wildt, apresentada no JustJava 2006. Disponível na Internet:• https://fuja.dev.java.net/files/documents/3136/449
51/FACENSA_JustJava2006.pdf• Métodos Ágeis em Sistemas de Gestão da
Qualidade• http://tech.groups.yahoo.com/group/XP-RS/files/
• Encontros > 3o. Encontro (16-10-2004)• XP-RS-16_10_2004.ppt
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 20][Slide 20]
Apoios
• Surya Gestão Digital• http://www.suryatec.com.br
• FACENSA e Grupo de Estudos Java da FACENSA (FUJA)• FACENSA e Grupo de Estudos Java da FACENSA (FUJA)• http://www.facensa.com.br• http://fuja.dev.java.nethttp://fuja.dev.java.net
• Grupo de Usuários XP do RS• http://www.xp-rs.org• http://tech.groups.yahoo.com/group/xp-rs/
• SUCESU-RS• http://www rs sucesu org br/• http://www.rs.sucesu.org.br/• http://www.rs.sucesu.org.br/grupos_usuario/GUMA
• Java.NET//• http://www.java.net
• DevMedia• http://www.devmedia.com
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 21][Slide 21]
PerguntasPerguntas
Daniel [email protected]
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 22][Slide 22]
http://www.rs.sucesu.org.br/grupos_usuario/GUMAhttp://tech.groups.yahoo.com/group/xp-rs/ p // g p y /g p/ p /
Obrigado!Obrigado!
Copyright © 2006 Daniel WildtCopyright © 2006 Daniel Wildt [Slide 23][Slide 23]