Trilha – AgileTDD e 20 coisas que você precisa              saber            Camilo Lopes                           Global...
Quem sou eu? Trabalha com desenvolvimento de software desde 2003. Atualmente Desenvolvedor de Software na ADP Labs, escrit...
TDD – Test Driven Development “Eu diria que TDD é uma forma de testar meu software antes de tê-lo pronto e não apenas cria...
E o que muitos pensam….Apenas criar unit test;É ter unit test;Que é coisa de desenvolvedor nerd;É algo que só funciona no ...
Será?????       Globalcode – Open4education
NÃO!!        Globalcode – Open4education
TDD é…Menor custo para manutenção do software;Melhorar nas estimativas;Legibilidade do código;Design guiado pelo Testes.  ...
Tudo isso afeta…QUALIDADE INTERNA              Globalcode – Open4education
O que aprendi com TDD nos últimos     2 anos?             Globalcode – Open4education
Case Projeto         Globalcode – Open4education
Problemas...Baixa qualidade interna;Crescente número de bugs;Baixa legibilidade no código;Baixa curva de aprendizado;Probl...
Como resolver?          Globalcode – Open4education
TDD      Globalcode – Open4education
Só um momento…O gerente quer falar…                Globalcode – Open4education
Isso não vai ser    oneroso?             Globalcode – Open4education
Globalcode – Open4education
É oneroso...Se o desenvolvedor não entende a técnica;Acredita que design & TDD são separados;Acha que é receita de bolo.  ...
E como evitar?            Globalcode – Open4education
Percepção            Globalcode – Open4education
Críticas           Globalcode – Open4education
Resultado…             Globalcode – Open4education
ResultadoMaior qualidade no código;Entregas mais rápidas;Desenvolvimento ágil;Melhoria nas estimativas.                   ...
Já o team NOT TDDProblemas nas estimativas;“O código está feito, falta testar”; Unit test com baixa qualidade; Alta quanti...
Lições Aprendidas20 coisas que você precisa saber…                         Globalcode – Open4education
Lições Aprendidas                1Coragem: administrar o medo durante a           programação.                            ...
Lições Aprendidas                  2Adicione um teste antes de qualquer coisa.                               Globalcode – ...
Lições Aprendidas           3Faça uma coisa de cada vez.                       Globalcode – Open4education
Lições Aprendidas                 4Faça o mínimo de trabalho possível para              compilar.                         ...
Lições Aprendidas         5   Falha é progresso.                        Globalcode – Open4education
Lições Aprendidas                  6Eliminar as duplicações antes de ir para o              próximo teste.                ...
Lições Aprendidas                    7TDD não é dar passos pequenos e sim saber dar            os passos pequenos.        ...
Lições Aprendidas              8Quando receber uma barra vermelha    inesperada, dê marcha ré.                          Gl...
Lições Aprendidas                   9Rode os testes a cada nova implementação. Só para garantir: o que é óbvio para você, ...
Lições Aprendidas                     10Quando um defeito passar, aprenderemos uma lição de como o teste deveria ter sido ...
Lições Aprendidas                   11Quanto mais pressão sofrer, busque adicionar  mais testes de requisitos na lista TO-...
Lições Aprendidas                     12Esqueça literalmente qualquer tipo de refatoração       enquanto o sinal não ficar...
Lições Aprendidas                    13De tempos em tempos nosso raciocínio falhará, é normal, não estamos lutando pela pe...
Lições Aprendidas                   14Não é pecado fazer um teste funcionar através   da duplicação, lembre-se do ciclo TD...
Lições Aprendidas                  15Não vá para cama até que a duplicação tenha                 sumido.                  ...
Lições Aprendidas                    16Documente o que é significativo, não o projeto.                                  Gl...
Lições Aprendidas                   17Escreva testes que exatamente gostaria de ter.                                  Glob...
Lições Aprendidas                18Não interromper o que estamos fazendo,  perder o foco pode ser um problema             ...
Lições Aprendidas                  19Está se sentindo inseguro? Troque a marcha,             ou seja, não avance.         ...
Lições Aprendidas                  20Não escrever novos testes quando temos uma              barra vermelha.              ...
Reflexão“Se você diz que precisa de mais tempopara entregar alguma coisa por que usaTDD, infelizmente você está fazendo al...
Por onde começar?               Globalcode – Open4education
Obrigado!    www.camilolopes.com       @camilolopecamilo@camilolopes.com.br                          Globalcode – Open4edu...
Sorteio???             Globalcode – Open4education
Próximos SlideShares
Carregando em…5
×

TDC 2012 TDD e 20 coisas que você precisa saber

1.621 visualizações

Publicada em

O objetivo é compartilhar um case do impacto de TDD no desenvolvimento de software e as lições aprendidas. nos últimos dois anos.

Publicada em: Tecnologia
0 comentários
6 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.621
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

TDC 2012 TDD e 20 coisas que você precisa saber

  1. 1. Trilha – AgileTDD e 20 coisas que você precisa saber Camilo Lopes Globalcode – Open4education
  2. 2. Quem sou eu? Trabalha com desenvolvimento de software desde 2003. Atualmente Desenvolvedor de Software na ADP Labs, escritor do livro "Guia do exame SCJP" e "Guia Prático JEE com frameworks".Trabalhou na como desenvolvedor de software na IBM e HP Labs em projeto com Cloud computing e Agile. Em breve estará lançando seu livro "TDD na Prática" pela Editora Ciência Moderna. Entrou no mundo Agile em 2010 e ultimamente vem se dedicando aos estudos e experiência em projeto Agile. 2010 2011 Agosto/2012 Globalcode – Open4education
  3. 3. TDD – Test Driven Development “Eu diria que TDD é uma forma de testar meu software antes de tê-lo pronto e não apenas criar testes. Com TDD validamos não somente se há um erro de lógica no código, mas também se os requisitos estão bem definidos para que possamos entregar aquilo que é esperado.” Globalcode – Open4education
  4. 4. E o que muitos pensam….Apenas criar unit test;É ter unit test;Que é coisa de desenvolvedor nerd;É algo que só funciona no mundo doMartin Fowler ,Kent Beck etc;TDD = software sem bug. Globalcode – Open4education
  5. 5. Será????? Globalcode – Open4education
  6. 6. NÃO!! Globalcode – Open4education
  7. 7. TDD é…Menor custo para manutenção do software;Melhorar nas estimativas;Legibilidade do código;Design guiado pelo Testes. Globalcode – Open4education
  8. 8. Tudo isso afeta…QUALIDADE INTERNA Globalcode – Open4education
  9. 9. O que aprendi com TDD nos últimos 2 anos? Globalcode – Open4education
  10. 10. Case Projeto Globalcode – Open4education
  11. 11. Problemas...Baixa qualidade interna;Crescente número de bugs;Baixa legibilidade no código;Baixa curva de aprendizado;Problemas com estimativas – Entregas. Globalcode – Open4education
  12. 12. Como resolver? Globalcode – Open4education
  13. 13. TDD Globalcode – Open4education
  14. 14. Só um momento…O gerente quer falar… Globalcode – Open4education
  15. 15. Isso não vai ser oneroso? Globalcode – Open4education
  16. 16. Globalcode – Open4education
  17. 17. É oneroso...Se o desenvolvedor não entende a técnica;Acredita que design & TDD são separados;Acha que é receita de bolo. Globalcode – Open4education
  18. 18. E como evitar? Globalcode – Open4education
  19. 19. Percepção Globalcode – Open4education
  20. 20. Críticas Globalcode – Open4education
  21. 21. Resultado… Globalcode – Open4education
  22. 22. ResultadoMaior qualidade no código;Entregas mais rápidas;Desenvolvimento ágil;Melhoria nas estimativas. Globalcode – Open4education
  23. 23. Já o team NOT TDDProblemas nas estimativas;“O código está feito, falta testar”; Unit test com baixa qualidade; Alta quantidade de bugs. Globalcode – Open4education
  24. 24. Lições Aprendidas20 coisas que você precisa saber… Globalcode – Open4education
  25. 25. Lições Aprendidas 1Coragem: administrar o medo durante a programação. Globalcode – Open4education
  26. 26. Lições Aprendidas 2Adicione um teste antes de qualquer coisa. Globalcode – Open4education
  27. 27. Lições Aprendidas 3Faça uma coisa de cada vez. Globalcode – Open4education
  28. 28. Lições Aprendidas 4Faça o mínimo de trabalho possível para compilar. Globalcode – Open4education
  29. 29. Lições Aprendidas 5 Falha é progresso. Globalcode – Open4education
  30. 30. Lições Aprendidas 6Eliminar as duplicações antes de ir para o próximo teste. Globalcode – Open4education
  31. 31. Lições Aprendidas 7TDD não é dar passos pequenos e sim saber dar os passos pequenos. Globalcode – Open4education
  32. 32. Lições Aprendidas 8Quando receber uma barra vermelha inesperada, dê marcha ré. Globalcode – Open4education
  33. 33. Lições Aprendidas 9Rode os testes a cada nova implementação. Só para garantir: o que é óbvio para você, também é óbvio para o computador. Globalcode – Open4education
  34. 34. Lições Aprendidas 10Quando um defeito passar, aprenderemos uma lição de como o teste deveria ter sido escrito eseguiremos em frente (mas reflita antes como fez falhar e aprenda com o erro). Globalcode – Open4education
  35. 35. Lições Aprendidas 11Quanto mais pressão sofrer, busque adicionar mais testes de requisitos na lista TO-DO. Globalcode – Open4education
  36. 36. Lições Aprendidas 12Esqueça literalmente qualquer tipo de refatoração enquanto o sinal não ficar verde. Globalcode – Open4education
  37. 37. Lições Aprendidas 13De tempos em tempos nosso raciocínio falhará, é normal, não estamos lutando pela perfeição, então é hora do break. Globalcode – Open4education
  38. 38. Lições Aprendidas 14Não é pecado fazer um teste funcionar através da duplicação, lembre-se do ciclo TDD. Globalcode – Open4education
  39. 39. Lições Aprendidas 15Não vá para cama até que a duplicação tenha sumido. Globalcode – Open4education
  40. 40. Lições Aprendidas 16Documente o que é significativo, não o projeto. Globalcode – Open4education
  41. 41. Lições Aprendidas 17Escreva testes que exatamente gostaria de ter. Globalcode – Open4education
  42. 42. Lições Aprendidas 18Não interromper o que estamos fazendo, perder o foco pode ser um problema Globalcode – Open4education
  43. 43. Lições Aprendidas 19Está se sentindo inseguro? Troque a marcha, ou seja, não avance. Globalcode – Open4education
  44. 44. Lições Aprendidas 20Não escrever novos testes quando temos uma barra vermelha. Globalcode – Open4education
  45. 45. Reflexão“Se você diz que precisa de mais tempopara entregar alguma coisa por que usaTDD, infelizmente você está fazendo algode errado.” Camilo Lopes Globalcode – Open4education
  46. 46. Por onde começar? Globalcode – Open4education
  47. 47. Obrigado! www.camilolopes.com @camilolopecamilo@camilolopes.com.br Globalcode – Open4education
  48. 48. Sorteio??? Globalcode – Open4education

×