El desarrollo de aplicaciones en la actualidad es una lucha. Desde los años 60 en el que se comenzaron a realizar aplicaciones informáticas, se detectó que existen una serie de problemas derivados del proceso: retrasos en la entrega, resultados poco satisfactorios para el cliente, aparición de fallos en las aplicaciones, desmotivación de los programadores.
En la actualidad esos problemas se agravan por el acortamiento del ciclo de vida del Software, y la necesidad de sacar nuevas versiones y funcionalidades continuamente.
Así pues, el desarrollador software de hoy en día se enfrenta a una batalla continua. Y como los guerreros Samurais, debe entrenar duramente en los Dojos, los Coding Dojo.
Un Coding Dojo es un encuentro de desarrolladores para practicar técnicas de programación. Es un desafío para poner a prueba sus habilidades y adquirir y compartir conocimientos entre los asistentes.
La practica a realizar se denomina Kata. La Kata en las artes marciales es una exhibición técnica en la que los alumnos demuestran su habilidad. Estas Katas les capacitan para afrontar situaciones de combate.
Se desarrolla con distintas mecánicas pero sus características comunes son:
- Hay que realizarla en publico, ayudándose de recursos como un proyector, trabajando en pareja,…
- Se procura que trabajar en periodos de tiempo cortos, para favorecer la concentración y la agilidad en la ejecución. Usualmente se usa la técnica pomodoro, que se esta extendiendo en muchos entornos para la organización del tiempo y el aumento de la productividad.
- Se aplican practicas de Extreme Programming (XP) y metodología Ágil, en especial Test Driven Development (TDD), en la que al revés del modelo tradicional de desarrollo se escribe la prueba antes del programa.
- Se procura que sea una actividad no competitiva, entretenida y que favorezca la colaboración y el trabajo en equipo.
Para participar en un Coding Dojo, no es necesario ser un experto programador. Basta con tener unos conocimientos básicos de programación, en cualquier lenguaje y estar dispuesto a aprender. Es muy interesante para los estudiantes, ya que pueden adquirir conocimientos y habilidades que les permita en un futuro desarrollar su trabajo en las empresas mas importantes del sector, como Google o Facebook.
Para favorecer la practicas de Katas, se ha promovido desde España este año la iniciativa “12 Meses 12 Katas”, en la que se propone una Kata mensual y una serie de sitios web donde publicar la soluciones de estas Katas. En estas Webs, los mejores programadores de España comparten su conocimiento con toda la comunidad, lo que esta impulsando el crecimiento del movimiento Ágil en nuestro país. En paralelo se desarrollan Coding Dojos en distintas ciudades como por ejemplo Valencia, Madrid, San Sebastian, Salamanca, Teruel,…
Segovia ha sido pionera en la celebración de este tipo, celebrando el año pasado un “Code Retreat”, evento similar a los “Coding Dojo” pero de mas larga duración. La comunidad Ágil de Castilla y León (Agile-cyl) es una de las mas activas del país, promoviendo distintas Iniciativas y asistiendo a eventos nacionales e internacionales. Actualmente están trabajando en la iniciativa “All toghether now” en la que durante un fin de semana desarrollaran una aplicación informática que ira destinada a una ONG.
En definitiva actividades y eventos de este tipo, favorecen compartir conocimiento, son innovadores, ofrecen alternativas de desarrollo sostenible e impulsan el necesario cambio en una sociedad que precisa de nuevas y mejores formas de hacer las cosas.