Adolfo Neto
Professor da UTFPR
Departamento Acadêmico de Informática (DAINF)
Mestrado em Computação Aplicada

1
Coding Dojos para Aprendizagem
de TDD - Há Evidências
Científicas?
Resposta simples: Não!

2
O que é TDD?
TDD = Test-Driven Development.
● Desenvolvimento Guiado por Testes.
● Escrever testes de unidade antes de
escrever o código.
● Exige framework. Ex.: para Java,
JUnit.
●

3
O que é TDD?

Fonte: http://www.webgoal.com.br/9%C2%BA-dojo-tente-desenvolver-diferente-com-tdd-no-agile-vale-2010/ciclo-tdd/
4
O que são Coding Dojos?
Coding Dojo = Dojo de Programação.
● Encontro de desenvolvedores para
treinar práticas ágeis.
● Dentre elas, TDD (inclui Refatoração),
Programação Pareada,
Retrospectivas.
●

5
Coding Dojos

Fonte: http://varandageek.blogspot.com.br/2011/01/o-que-e-um-coding-dojo.html

6
Coding Dojos

Ambiente não competitivo
● Informal
● Fácil de realizar
● Pretende-se que seja divertido!
●

7
Coding Dojos

Fonte: http://varandageek.blogspot.com.br/2011/01/o-que-e-um-coding-dojo.html

8
O que se aprende em Coding
Dojos?
A fazer programação pareada da
forma correta?
● A fazer retrospectivas?
● A escrever testes de unidade antes
do código de produção? Isto é, a
fazer TDD?
●

9
Ciência
Para se afirmar algo, é necessário
ter evidências.
● A opinião do melhor cientista do
mundo vale tanto quanto a de
qualquer um de nós.
●

10
Formas de obter evidências

Questionários e Entrevistas
● Estudos de Caso
● Revisões de Literatura
● Experimentos!
●

11
Experimentação

Fonte: http://en.wikipedia.org/wiki/Griffith%27s_experiment

12
TDD
Foram feitos experimentos sobre TDD? Sim!
● Existem evidências de que TDD aumenta a
qualidade externa do código? Sim.
● Existem evidências de que TDD aumenta a
produtividade dos programadores? Não em
quantidade suficiente.
●

13
Aprendizagem de TDD
Um dos problemas é que TDD é
considerado difícil de aprender e
praticar.
● Muitos gostam da ideia mas não a
utilizam no dia-a-dia.
● Alguns simplesmente demoram a
dominar a prática.
●

14
Aprendizagem de TDD em Coding
Dojos
Participar de Coding Dojos facilita o
aprendizado de TDD? Talvez.
● Existem evidências para sustentar
esta afirmação? Poucas.
Insuficientes.
● Foram feitos experimentos para
verificar isto? Não que eu saiba.
●

15
Oportunidade de Pesquisa
●

Planejar e executar
experimentos para verificar se
Coding Dojos são efetivos
como uma atividade para o
ensino-aprendizagem de TDD.

16
Participe de um Coding Dojo!

Link: http://aldeiaco.com.br/cursos/?ee=49

17
E depois crie o seu!

Na sua empresa!
● Na sua universidade!
● Com seus amigos!
●

18
E conte sua estória...

Num blog
● Num evento
● Numa rede social
●

19
Meus Contatos
●

Twitter: @adolfont

●

Email: adolfo@utfpr.edu.br

●

Facebook: Adolfo Neto
https://www.facebook.com/adolfo.neto

20

Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite Talk no Agile Tour 2013 Curitiba