2. K L E E R – QUÉ HACEMOS?
Nos dedicamos a hacer coaching y
entrenamiento ágil para equipos y
profesionales del desarrollo de software.
También participamos activamente en la
comunidad, organizando eventos,
ofreciendo charlas y talleres para
desarrolladores y entusiastas del
conocimiento!
Síguenos en Twitter! @kleer_la
4. YOSEKI C O D I N G D O J O
Definiciones...
En japonés, dōjō ( 道場 ) significa literalmente “el
lugar de la vía” y se refiere a la búsqueda de la
perfección física, moral, mental y espiritual.
Yoseki, pared izquierda, representa el lugar de
honor donde se sitúan los estudiantes.
7. YOSEKI CODING DOJO: P R Á C T I C A
http://www.flickr.com/photos/ceneon/6319061693/sizes/m/in/photostream
8. Y C Ó M O PRACTICAMOS?
P A IR
PROG RAM-
M IN G
R O TA -
MOS
TD D !
9. P A I R PROGRAMMING
P A IR
PROG RAM
-
M IN G
En cada Workstation:
● 1 Coder
● 1 Copiloto
● 1..3 Asistente/s
conversando,
interactuando
10. ROTAMOS (Multi Randori: Kake)
Copilo
Coder to
R O TA
M O-
S Asiste
nte
Cada N minutos (N = 5)
● Coder → Asistente
● Copiloto → Coder
● Asistente → Copiloto
… y cada M vueltas (M =
4),
cambio de Workstation!
11. TEST DRIVEN DEVELOPMENT (T D D )
Test Driven Development
Ejemplos Design
TD D !
Escribir Test
(ejemplo concreto)
Clean Code!
●“Test Driven
Refactorizar Test Falla
Development”
Ba b y S t e p s
(pasos muy
● Técnica de Diseño pequeños)
● Ciclos cortos (R-G-R) Tests OK! Codificar
KISS (Simple!)
R ed -> G reen -> R efactor
12. CODING K A T A
K a t a ( 型 ) (literalmente: "forma")
“Es una palabra japonesa que describe lo que en
un inicio se consideró una s e r i e , forma o
s e c u e n c ia d e m o v im ie n t o s
preestablecidos que se pueden practicar
normalmente solo pero también en parejas.
Se busca constantemente la perfección en la
ejecución.” http://es.wikipedia.org/wiki/Kata
13. K A TA
!
BOWLING KATA
Un juego consiste en 10 turnos (aka frames)
En cada frame el jugador tiene 2 intentos para tirar todos los pinos.
Si no tira todos los pinos en sus dos intentos su puntaje es el número total de
pinos derribados.
Si en el segundo intento termina de tirar todos los pinos anota un sparei y su
putaje es 10 más la cantidad de pinos que derribe en su próximo tiro.
Si en su primer intento tira todos los pinos anota un strike. Su turno se acaba y
su puntaje es 10 más el total de pinos derribados en sus dos próximos turnos.
SI en su 10mo turno se hace un spare o strike el jugador tiene uno o dos tiros
extras.
El puntaje del juego es la suma de puntaje de cada turno.
14. K A TA
!
BOWLING KATA
Ejemplo: "X" → strike, "/" → spare, "-" → falla)
"XXXXXXXXXXXX" (12 rolls: 12 strikes) = 300
"9-9-9-9-9-9-9-9-9-9-" (20 rolls: 10 pairs of 9 and miss) = 90
"5/5/5/5/5/5/5/5/5/5/5" (21 rolls: 10 pairs of 5 and spare, with a final 5) = 150
15. LECTURAS RECOMENDADAS
“Refactoring (Improving the Design of Existing Code)“, Martin
Fowler
Code Smells (capítulo de Kent Beck)
“Clean Code”, Robert C. Martin
“Test Driven Development by Example”, Kent Beck
“The Clean Coder”, Robert C. Martin
“The Pragmatic Programmer”, Hunt + Thomas
Más libros recomendados (por amigos y alumnos!):
h t t p : //b i t . l y /l i b r o s -a g i l e s
16. CONCLUSIONES
Práctica sostenida → seguir aprendiendo
TDD (Mejor Diseño, Calidad desde el comienzo, Simplicidad)
Pair Programming (Revisión cruzada, Productividad, Foco)
Práctica en grupo:
Discusiones y Debates → Lenguaje común
Aprender de los demás y con los demás
Conocer distintas formas de hacer las cosas
Buenas Prácticas, Autores, técnicas, herramientas...
Desafíos (c l e a n code, small goals, trabajar c/código de
otro)
17. Próximos pasos...
Organicen sus
p r o p io s
Yoseki Coding Dojo!
(pueden utilizar esta presentación)
19. CÓMO PARTICIPAR EN LA C O M U N I D A D Á G
Referencias / Bibliografía
A leer y compartir: Tweets, Blogs, Papers, Libros!
Listas de correo
foro-agiles (Yahoo Group, habla hispana)
AgilePeru, Agiles-Colombia , Agiles-Argentina, AgilVen, ChileAgil.
Eventos internacionales
Ágiles Latinoamérica: Bs.As. 2008, Floripa 2009, Lima
2010, Bs.As. 2011, Córdoba 2012
Agile 2007/8/9/10/11/12 ...
Eventos regionales
Reuniones mensuales: Conversatorios, Coding Dojos,
Presentaciones, Talleres, Open Spaces, organiza el
tuyo!
20. GRA-
C IA
S ! :)
hiromoto.hiroshi@kleer.la
@hhiroshi
http://kleer.la/comunidad/yoseki