Saltar al contenido

Blog técnico | La práctica importa

Origami

Recientemente di una presentación titulada “Lo que aprendí sobre el desarrollo de software a partir del origami”. Originalmente iba a ser una forma divertida de combinar dos intereses míos aparentemente no relacionados. Pero terminé obteniendo un valioso aprendizaje de ello.

Compartí muchas fotos de origami, pero la imagen de abajo terminó siendo clave para la presentación.

Blog técnico | La práctica importa
Blog técnico | La práctica importa

Notarán que esta foto tiene dos cajas de origami. La de la derecha tiene unos pliegues bastante rectos y parece bastante cuadrada. La de la izquierda tiene pliegues que parecen menos rectos y menos cuadrados. Sigue siendo una caja, pero la de la derecha definitivamente se ve más como una caja.

Entonces, ¿cuál es la diferencia entre estas dos cajas de origami? Ambas fueron hechas con el mismo tamaño y tipo de papel. Ambas fueron hechas usando el mismo juego de instrucciones. La diferencia entre las dos cajas no está en qué pliegues se hicieron, sino más bien cómo se hicieron esos pliegues.

Pero la forma en que se hacen los pliegues en el origami puede tener más impacto que el aspecto del modelo de origami resultante. Veamos otra imagen.

En el caso de la copa de origami (un modelo de origami relativamente simple), si los pliegues no son exactamente rectos y perfectamente nítidos, entonces la copa probablemente saldrá bien de todos modos. Sin embargo, en el caso del origami Yoda (un modelo de origami mucho más complicado), si los pliegues no son bastante exactos, entonces el favorito de todo el mundo, el que usa la fuerza verde y corta, podría parecer deforme e irreconocible. Si los pliegues están lo suficientemente lejos del ideal, puede que ni siquiera puedas completar el modelo. En este caso, la calidad de los pliegues podría determinar no sólo lo bien que se ve el modelo de origami al final, sino también qué modelos de origami son posibles.

¿No es este post sobre la práctica?

Entonces, ¿qué tiene que ver todo esto con la práctica? De los ejemplos de origami anteriores podemos concluir anecdóticamente que la calidad de los pliegues puede determinar tanto la calidad del modelo de origami como qué modelos de origami son posibles. Entonces, ¿cómo se aprende a hacer mejores pliegues? Con la práctica, por supuesto.

Otra de las imágenes que compartí fue un ejemplo de lo que sucede cuando tus pliegues no son de alta calidad. Cuando estaba doblando el modelo para tomarle una foto, fue en realidad uno de los modelos más desafiantes que hice para toda la presentación. ¿Por qué? Porque no practico hacer pliegues de origami de forma deficiente. Sólo practico haciéndolos bien. Así que hacer los pliegues mal fue un desafío.

¿Qué pasa con el desarrollo de software?

Este es un blog técnico sobre el desarrollo de software, y hasta ahora en este post todo lo que he hablado es sobre el origami. ¿Cómo se relaciona todo esto con el desarrollo de software? En mi presentación comparé el origami con el desarrollo de software. En el origami es importante qué pliegues se hacen, pero también lo es cómo se hacen esos pliegues. En el desarrollo de software lo que hacemos es importante, pero también lo es cómo lo hacemos.

¿Qué quiero decir cuando digo “cómo hacemos software”? Me refiero a cosas como:* ¿Escribimos pruebas automatizadas para nuestro software? * ¿Escribimos esas pruebas usando desarrollo dirigido por pruebas? * ¿Nos esforzamos por escribir nuestro software de una manera que sea fácil de leer y mantener en el futuro? * ¿Integramos los cambios que hacemos en nuestro software con los cambios que otras personas hacen en ese software frecuentemente (idealmente al menos diariamente)?

La lista exacta de las prácticas que definen el “cómo” en la forma en que escribimos el software está ciertamente sujeta a debate. Pero yo diría que, al igual que con el origami, el “cómo” no sólo influye en la calidad del resultado final, sino que también influye en los resultados finales que podemos lograr.

Volver a la práctica

En el origami, un par de buenas maneras de practicar y mejorar son doblar los mismos modelos muchas veces, y aprender a hacer nuevos modelos que no se hayan hecho antes. ¿Hay formas de practicar el “cómo” del desarrollo de software como podemos practicar el “cómo” del origami? ¡Claro que las hay!

El Día Mundial del Tratamiento con Códigos se aproxima. Si no estás familiarizado con la idea de un tratamiento con códigos, esta descripción de coderetreat.org puede ayudar.

Habrá notado que la palabra “práctica” o “practicando” aparece en cada frase de esa descripción. Eso parece sugerir que la idea de práctica es importante en un tratamiento de codificación. ¿Qué tipo de cosas practica la gente durante el Día Mundial del Cibertratamiento? Practican cosas como TDD, emparejamiento y escritura de código limpio. El objetivo del Día Mundial del Tratamiento contra el Cáncer es específicamente practicar el “cómo” del desarrollo de software.

Te animo a participar en el Día Mundial del Tratamiento con Códigos, especialmente si no lo has hecho antes. Pero tal vez los tratamientos en código no son lo tuyo. Está bien. Hay otras formas de practicar también. Me gusta usar katas de código para practicar cosas como TDD y código limpio. Usar un código de katas con el que ya estás familiarizado también puede ser una gran manera de practicar el aprendizaje de un nuevo lenguaje de programación o de aprender más sobre una característica de tu lenguaje de programación actual. Me gusta usar pequeños proyectos paralelos para practicar cosas como la construcción automatizada de tuberías y despliegues. Está bien si no practicas de la misma manera que yo. Pero encuentra maneras de practicar. Encuentra tiempo para practicar deliberadamente. Y como con el origami, estar dispuesto a aprender cosas nuevas para que puedas aprender nuevas formas de practicar.

El Maestro Yoda tenía razón. Las guerras no hacen a uno grande. Pero la práctica podría.

Categorías: artesaníaTags: mejora continua