Apresentação de artigo academico no 23 Simpósio Brasileiro de Informática na Educação - SBIE, evento do Congresso Brasileiro de Informática na Educação - CBIE.
1. Usando Dojos de Programa¸˜o para o Ensino de
ca
TDD
23o Simp´sio Brasileiro de Inform´tica na Educa¸˜o (SBIE) 2012
o a ca
Ramiro Batista Luz1 , Adolfo Neto1
Universidade Tecnol´gica Federal do Paran´ (UTFPR)
o a
DAINF - Departamento Acadˆmico de Inform´tica
e a
Mestrado Profissional do Programa de P´s-Gradua¸˜o em Computa¸˜o Aplicada
o ca ca
Av. Sete de Setembro, 3165
Curitiba - Paran´ - Brasil - CEP: 80230-901
a
ramiroluz@gmail.com, adolfo@utfpr.edu.br
26 a 30 de Novembro de 2012
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
2. Resumo
Dojo de programa¸˜o ´ uma atividade dinˆmica onde ´ poss´ praticar
ca e a e ıvel
diversas t´cnicas usadas em m´todos ´geis de desenvolvimento, dentre
e e a
elas o Desenvolvimento Dirigido por Testes, num ambiente colaborativo e
divertido. Essa palestra apresenta o andamento da pesquisa sobre o Uso
de Dojos de Programa¸˜o para o Ensino de Desenvolvimento Dirigido por
ca
Testes pelo Mestrado Profissional do Programa de P´s Gradua¸˜o em
o ca
Computa¸˜o Aplicada da Universidade Tecnol´gica Federal do Paran´
ca o a
(UTFPR).
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
3. Introdu¸˜o
ca
Origem da palavra, ”lugar do caminho”, ”lugar onde se estuda a
vida”, lugar onde se pratica artes marciais.
Origem da atividade (Dave Thomas, Laurent Bossavit, Emannuel
Gaillot).
O que ´ dojo de programa¸˜o?
e ca
Aspecto educacional.
Desenvolvimento dirigido por testes. (TDD)
Programa¸˜o em par.
ca
Passos de bebˆ.
e
Requisitos.
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
4. Aspecto Educacional
Turmas desniveladas.
Intera¸˜o e participa¸˜o nas aulas.
ca ca
Teoria, exemplo e pr´tica.
a
Aprendizado colaborativo e aprender a colaborar.
Trabalho em equipe.
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
5. Pesquisa
A presente pesquisa busca verificar a t´cnica de dojo de programa¸˜o
e ca
para ensinar desenvolvimento dirigido por testes a fim de obter software
com maiores taxas de cobertura de teste.
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
6. Foto de um dojo de programa¸˜o.
ca
Figura: Dojo de programa¸˜o do grupo dojo-paran´.
ca a
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
7. Ciclo de trabalho do desenvolvimento dirigido por testes.
Figura: TDD mantra
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
8. Estado da arte
Estudos que avaliaram qualidade de software produzido com
metodologias ´geis [Vodde e Koskela 2007],
a
[Siniaalto e Abrahamsson 2007], [Janzen e Saiedian 2008] e
[Pancur et al. 2003].
Estudos que avaliaram a aderˆncia ` pratica de m´todos ´geis
e a e a
[Bravo e Goldman 2010] e [Dubinsky e Hazzan 2003].
Mariana Bravo, [Bravo 2011] utilizou dojos de programa¸˜o para
ca
treinar os participantes de uma pesquisa e verificar a percep¸˜o de
ca
aprendizado dos participantes.
Relato dos encontros de dojo de programa¸˜o do Instituto de
ca
Matem´tica e Estat´
a ıstica da Universidade de S˜o Paulo,
a
[Sato, Corbucci e Bravo 2008].
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
9. Metodologia
Registro das atas dos encontros de programa¸˜o.
ca
Question´rio experimental sobre o perfil de participantes de dojo de
a
programa¸˜o.
ca
Question´rio eletrˆnico sobre a opini˜o com rela¸˜o ao aprendizado
a o a ca
de participantes de encontros de dojo de programa¸˜o.
ca
Entrevistas com especialistas.
Ainda est´ planejado um experimento com duas turmas num
a
mini-curso de testes de unidade.
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
10. Resultados
Nos pr´ximos slides s˜o apresentados gr´ficos de fatia que representam
o a a
as respostas obtidas pelo question´rio eletrˆnico para t´cnicas exercitadas
a o e
em encontros de dojo de programa¸˜o.
ca
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
11. Influˆncia positiva de Passos de Bebˆ.
e e
Figura: Respostas de participantes com rela¸˜o ` influˆncia positiva de passos
ca a e
de bebˆ em dojo de programa¸˜o.
e ca
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
12. Influˆncia positiva de Programa¸˜o em par.
e ca
Figura: Respostas de participantes com rela¸˜o ` influˆncia positiva de
ca a e
programa¸˜o em par em dojo de programa¸˜o.
ca ca
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
13. Influˆncia positiva de TDD.
e
Figura: Respostas de participantes com rela¸˜o ` influˆncia positiva de TDD
ca a e
em dojo de programa¸˜o.
ca
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
14. An´lise dos resultados
a
Os resultados do question´rio eletrˆnico indicam que os participantes
a o
concordam que o dojo de programa¸˜o ajuda o aprendizado de m´todos
ca e
´geis, as quest˜es relacionadas ` programa¸˜o em par, passos de bebˆ e
a o a ca e
TDD receberam valores altos na escala de Likert. Outro ponto
considerado forte foi a troca de experiˆncia entre os participantes. Esses
e
resultados direcionaram o planejamento da ultima etapa da pesquisa, o
´
experimento ser´ limitado ` avalia¸˜o de TDD, onde usaremos
a a ca
ferramentas de estat´ısticas de cobertura de testes e avalia¸˜o de c´digo
ca o
por avaliadores independentes.
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
15. Conclus˜o
a
No momento podemos dizer que o dojo de programa¸˜o favorece a
ca
participa¸˜o incluindo os programadores na ambiente de aprendizado. O
ca
dojo de programa¸˜o favorece a socializa¸˜o dos programadores, segundo
ca ca
constatamos nas entrevistas. O pr´ximo passo ´ avaliar o ensino de
o e
desenvolvimento dirigido por testes usando dojo de programa¸˜o a fim de
ca
obter software com maiores taxas de cobertura de testes.
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
16. Agradecimentos
Adolfo Gustavo Serra Seca Neto - Orientador
Robson Vida - Co-Orientador.
Tatiane Guimar˜es, Matheus Ara´jo, PETECO e PETCOCE,
a u
organiza¸˜o do dojo UTFPR.
ca
Jo˜o Alberto Fabro - apoio institucional para participar de eventos.
a
Danilo Sato, Hugo Corbucci, Daniel Wildt, Alexandre Freire,
Roberto Leite de Moraes Rodrigues, Mauricio Aniche and Elizabeth
Leddy - participa¸˜o nas entrevistas.
ca
Aos participantes volunt´rios do question´rio eletrˆnico.
a a o
Toda equipe do CBIE e SBIE.
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
17. Referencias I
BRAVO, M.; GOLDMAN, A. Reinforcing the learning of agile
practices using coding Dojos. In: SILLITTI, A. et al. (Ed.). Agile
processes in software engineering and extreme programming. Springer
Berlin Heidelberg, 2010, (Lecture Notes in Business Information
Processing, v. 48). p. 379–380. ISBN 978-3-642-13054-0.
10.1007/978-3-642-13054-0 41. Dispon´ em:
ıvel
<http://dx.doi.org/10.1007/978-3-642-13054-0 41>.
BRAVO, M. V. Abordagens para o ensino de pr´ticas de programa¸˜o
a ca
extrema. Disserta¸˜o (Mestrado) — Instituto de Matem´tica e
ca a
Estat´
ıstica da Universidade de S˜o Paulo, maio 2011. Dispon´ em:
a ıvel
<http://grenoble.ime.usp.br/ gold/orientados/dissertacao-
MarianaBravo.pdf>.
DUBINSKY, Y.; HAZZAN, O. eXtreme programming as a framework
for student-project coaching in computer science capstone courses. In:
. IEEE Comput. Soc, 2003. p. 53–59. ISBN 0-7695-2047-2. Dispon´ ıvel
em:
<http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1245424>
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
18. Referencias II
JANZEN, D.; SAIEDIAN, H. Does test-driven development really
improve software design quality? IEEE Software, IEEE Computer
Society, Los Alamitos, CA, USA, v. 25, p. 77–84, 2008. ISSN
0740-7459.
PANCUR, M. et al. Towards empirical evaluation of test-driven
development in a university environment. In: The IEEE region 8
EUROCON 2003. computer as a tool. Ljubljana, Slo-
venia: IEEE, 2003. v. 2, p. 83–86. ISBN 0-7803-7763-X. Dispon´ em:
ıvel
<http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1248153>
SATO, D. T.; CORBUCCI, H.; BRAVO, M. V. Coding dojo: an
environment for learning and sharing agile practices. AGILE
Conference, IEEE Computer Society, Los Alamitos, CA, USA, v. 0, p.
459–464, 2008.
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
19. Referencias III
SINIAALTO, M.; ABRAHAMSSON, P. A comparative case study on
the impact of test-driven development on program design and test
coverage. In: Proceedings of the first international symposium on
empirical software engineering and measurement. Washington, DC,
USA: IEEE Computer Society, 2007. (ESEM ’07), p. 275–284. ISBN
0-7695-2886-4. Dispon´ em:
ıvel
<http://dx.doi.org/10.1109/ESEM.2007.2>.
VODDE, B.; KOSKELA, L. Learning test-driven development by
counting lines. IEEE Software, IEEE Computer Society, Los Alamitos,
CA, USA, v. 24, p. 74–79, 2007. ISSN 0740-7459.
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca
20. Contato
ramiroluz@python.org.br
ramiroluz@gmail.com
http://www.slideshare.net/ramiroluz
Ramiro Batista Luz, Adolfo Neto Usando Dojos de Programa¸˜o para o Ensino de TDD
ca