[artesanos-de-software] Nuevo concepto de Kata

51 views
Skip to first unread message

Alberto Peña

unread,
Mar 5, 2011, 10:26:05 PM3/5/11
to artesanos-...@googlegroups.com
¡Buenas! Desde ya os digo que creo que se me ha ido un poco la pinza...

Pensando en ejercicios para reuniones, talleres, etc. se me ha ocurrido llevar la idea de las katas al extremo :D

Actualmente tenemos toda la infraestructura que necesitamos para crear una aplicación web y subirla a internet sin tener que gastarnos un duro. Tenemos hosting para las aplicaciones como heroku y GAE, tenemos hosting para el código como github, google code, etc.
¿Por que no crear unas katas que, en lugar de centrarse únicamente en el código, se centren en todo el proceso de desarrollo?
Podríamos practicar como utilizamos el sistema de control de versiones, podríamos practicar como resolvemos los pasos a producción de nuestras aplicaciones, podríamos practicar el desarrollo iterativo e incremental, podríamos practicar como escribimos el código, los tests, las pruebas de aceptación. Creo que daría lugar a discusiones muy interesantes.
Se que parece una salvajada pero, si encontramos problemas simples (que podamos resolver en 4 o 5 horas como mucho) ¿por qué no hacerlo? Imaginaos una serie de screencasts en las que todo el mundo creara un motor simple para un blog pero con diferentes entornos, practicas, lenguajes, frameworks, etc. Creo que podríamos aprender mucho.

¿Qué os parece? Ya se que no hay mucha diferencia entre esto y un proyecto real :D Pero es ahí donde le veo la gracia, en ver como trabajan los demás en un proyecto "real".

Un saludo

--
Alberto Peña Abril

http://twitter.com/plagelao
http://plagelao.blogspot.com/

José Manuel Beas

unread,
Mar 5, 2011, 10:56:19 PM3/5/11
to artesanos-...@googlegroups.com
¡Qué buena idea, Alberto!

Entiendo que el problema no es tanto el programa en cuestión, que debe ser muy, muy sencillo, sino más la infraestructura de integración continua y despliegue continuo.

Propongo problemas del tipo: una calculadora, un catálogo (para que haya un CRUD sencillo y, sobre todo, una base de datos), un login, un sencillo wiki...

Enrique Comba Riepenhausen

unread,
Mar 6, 2011, 4:15:03 AM3/6/11
to artesanos-...@googlegroups.com
Eso serian "practicas deliberadas" y no "katas".

Una kata es un problema mínimo que se puede solucionar en cuestión de minutos (5-10).

Cuando se hacen practicas deliberadas se atacan problemas mucho mayores (clásico ejemplo, yo a mis aprendices les suelo hacer programar un wiki desde 0 sin librerías externas).

Lo de hacer practicas deliberadas me parece una idea muy buena, Alberto, pero tenéis que tener en cuenta en cada practica que es lo que se va a aprender realmente, cual es la meta, y como valorar lo bien que se ha realizado la practica.

Un abrazo,

-- 
Enrique Comba Riepenhausen
http://ecomba.org
@ecomba

Leo Antoli

unread,
Mar 6, 2011, 5:19:38 AM3/6/11
to artesanos-...@googlegroups.com
Una cosa que pensaba relacionado con irse la pinza y llevar un paso
mas allá las katas (o practicas deliberadas) era hacer un servidor de
pruebas de katas (parecido al servidor de torneos). Con un interfaz
tipo rest/json por ejemplo una Kata, p.e. Roman numerals podría pedir
tests a un servidor en gae o heroku, mandarle los resultados y le
devuelve si son correctos. Con katas mas complicadas tendría mucho mas
sentido. No se he explicado bien la idea general y si le veis sentido.

Saludos,
Leo


--

--
Leo Antoli
http://twitter.com/lantoli
http://es.linkedin.com/in/lantoli
http://www.agileo.com

José Manuel Beas

unread,
Mar 6, 2011, 5:36:43 AM3/6/11
to artesanos-...@googlegroups.com

Juanjo Falcon

unread,
Mar 7, 2011, 8:11:10 AM3/7/11
to artesanos-...@googlegroups.com
Me parece una muy buena idea, aunque claro que más difícil de llevarla a cabo.

En mi caso lo bueno de 12meses12katas, es en primer lugar sentirme con cierta "obligacion" a realizar la kata, y aprender del proceso, tanto de mis fallos como mis aciertos. En mi caso, algo tan sencillo reafirma mucho la búsqueda de "mi" proceso de resolución. Luego revisando las soluciones de otros en distintos lenguajes, me permite un aprendizaje muy enriquecedor, de distintas formas de abordar el problema, y también de las peculiaridades de distintos lenguajes.

Pero aún así siempre me ha parecido que se queda corto al no abordar algo como una aplicación completa donde hay muchos más elementos que no se incluyen en una kata: presentacion, lógica, datos. Y para ello no tiene que tener una aplicación compleja, sino lo suficiente simple como para centrarse en el proceso más que en el propio contenido. Por ejemplo basta una calculadora, o un ejemplo con CRUD sobre una BD, tal como comenta jmbeas, sería totalmente suficiente.

En cuanto a la solución también podemos tener en cuenta la utilización de maquinas virtuales en caso que sea necesario, sean estas locales, o en la nube. Por ejemplo para establecer un entorno de desarrollo preestablecido.

Reply all
Reply to author
Forward
0 new messages