Los Coding Kata consisten en resolver pequeños problemas de dominio conocido que nos sirven para practicar elementos de programación así como nuestras habilidades en el uso de TDD.
Por otro lado, el desayuno es la comida más importante del día, la que nos aporta energía para comenzar el trabajo con "marcha y ritmo" y preparados para la aventura. ¿Pero que obtenemos de juntar un desayuno con un coding kata?.
La respuesta es muy sencilla, un Katayuno.
¿En qué consiste un Katayuno?
Un número indeterminado de programadores y/o programadoras se sientan por parejas (aunque a veces la parejas se convierten en tríos e incluso cuartetos) delante de, normalmente, un portátil para realizar una kata en cualquier lenguaje de programación y desayunar con tranquilidad.
En los katayunos se practica TDD y se reflexiona sobre la mejor forma o formas de abordar y atacar un problema para encontrar una resolución al mismo, por supuesto, sin que el lenguaje de programación empleado para ello tenga importancia alguna.
¿Qué dinámica se sigue en un katayuno?
La dinámica de los katayunos es muy sencilla:
-
De 9:30 a 10:00 se desayuna con tranquilidad
-
De 10:00 a 10:45 se realiza una primera iteración
-
De 10:45 a 11:30 se realiza una segunda iteración
-
De 11:30 a 12:00 se hace una paradita para el almuerzo
-
De 12:00 a 12:45 se ataca con una tercera iteración
-
De 12:45 a 13:30 se aborda la cuarta y última iteración
Por supuesto en cada iteración, se cambia de pareja e incluso de lenguaje de programación y suite de tests. Por supuesto el código de la kata es también eliminado para comenzar de cero en la siguiente interación.
¿Dónde y cuando se realizan estos Katayunos?
El último katayuno se realizó en Vitoria ayer mismo día 17 de Marzo y además por la tarde hubo un intenso debate en un grupo de estudio donde se discutió sobre la orientación a objetos. Yo solo he asistido a estos katayunos en Euskadi y Navarra, pero también se han realizado otros en tierras extremeñas. Obviamente, el formato es exportable.
¿Existe algún requisito para poder asistir a un Katayuno?
No. A un katayuno puede asistir toda persona que lo desee, además de realizar las katas y mejorar como programadores/as, se conoce a mucha gente y se hace un networking fabuloso con personas que comparten tus mismos intereses y eso no tiene precio.
La Kata
El objetivo no es resolver la kata a toda costa sino aprender a pensar de una forma lógica para resolver los problemas que nos encontramos en nuestra profesión así como aprender a utilizar TDD o nuevas prácticas de otros que tienen más experiencia o conocimientos que nosotros.
Por regla general al Katayuno asisten lo que yo llamo "dinamizadores" que son personas con cierta experiencia en metodologías ágiles y TDD que guían un poco el ejercicio. En el de ayer abordamos la KataPotter que consiste en ordenar en packs o sete una serie de elementos que nos permitan adquirir de la forma más barata un hipotético número de ellos aprovechando una oferta por packs (recomiendo leer la descripción para enterarse bien).
Una cosa muy importante es asegurarse de que hemos entendido bien el enunciado del problema y lo que se pretende resolver antes de empezar la kata, a ser posible, leerlo antes de acudir a la misma para estar familiarizado con él. No importa que nivel de TDD tengamos, lo importante es ir, fallar y aprender y si nos quedamos con hambre, siempre podemos ir por la tarde a un merendojo pero de eso ya hablaremos otro día.
En el repositorio Github de Genbetadev podéis ver mi resolución a la KataPotter en, como no, Python.
Más Información | Katatunos.com Más en Genbetadev | 12 meses 12 katas, Code Kata, mejorando con la práctica