Um dos principais pilares da cultura ágil é termos rápido feedback sobre o que desenvolvemos. Essa busca por rápido feedback fica evidente no ciclo de desenvolvimento Scrum, por exemplo. Essa palestra é um convite para a análise do feedback a nível da codificação. Quanto tempo leva para termos o feedback da última linha de código que escrevemos? Se esse feedback não é instantâneo, nosso fluxo de raciocínio é interrompido, e essa interrupção traz sérias implicações na forma que desenvolvemos. Iremos denominar esse tipo de interrupção como interrupção passiva, e iremos trazer exemplos do dia a dia que irão ajudar o congressista a identificar e mitigar esse tipo de interrupção.
Vídeo de introdução para essa palestra: https://www.youtube.com/watch?v=-ZpQDxrtEAg
22. “Tempo em que estamos sendo interrompidos, esperando feedback
para podermos continuar com o fluxo de raciocínio”
Interrupção Passiva
AgilidadeInterrupçãoCodificaçãoPassiva
23. A interrupção passiva tem efeito
similar a interrupção causada por uma
pessoa
Hipótese
Eu não estou sendo interrompido, eu posso ir pensando
no próximo passo
24. Codificar Testar Codificar Testar
Eu não estou sendo interrompido, eu posso ir pensando
no próximo passo
Será
30 seg
25. A interrupção passiva tem efeito
similar a interrupção causada por uma
pessoa
Hipótese
É só você codificar mais e testar tudo de uma vez!
26. É só você codificar mais e testar tudo de uma vez!
Será
Codificar Testar Codificar Testar
30 seg
27. É só você codificar mais e testar tudo de uma vez!
Será
Codificar Testar
28. É só você codificar mais e testar tudo de uma vez!
Será
Cod Test Cod Test Cod Test Cod Test Cod Test
?
29. Bret Victor
“To design quickly and confidently, we need to be
able to try out ideas and verify hypotheses
as fast as we think of them”INSTANT
FEEDBACK
As ferramentas que usamos devem ser
como extensões do nosso corpo!
51. Teste demora
Tende a não fazer babystep
Sem babystep o TDD perde sua magia :(
O que está matando o TDD são as interrupções passivas!
52. Exemplo 4 - Raiden
O que torna um teste unitário lento?
O slide a seguir contém cenas explícitas de código Java.
Se você não conhece Java, não se apavore, nem vá
embora, vou explicar cada linha...
53. Exemplo 4 - Raiden
O que pode deixar
esse teste lento?
55. Exemplo 4 - Raiden
If it (test) takes ten seconds just to start testing, toss it!
Allow nothing to slow down your tests.
Test Time!
03 September 2014
by Robert C. Martin (Uncle Bob)