Shu Ha Ri

Hoy empezamos una nueva serie de posts donde los desarrolladores de Negonation hablarán de su experiencia en Tractis. Su lista de correo se ha convertido en un lugar que hierve de actividad con enlaces, metodologías, enfoques, ideas valiosas que merece la pena compartir.

El enfoque de los posts es práctico pero la intención no es comentar líneas de código sino reflexiones sobre nuestra búsqueda constante de la eficiencia en un entorno descentralizado y deslocalizado. Queremos hablar sobre lo que creemos que verdaderamente hace triunfar o fracasar un proyecto de desarrollo de software y a lo que la mayoría de las empresas no presta atención: agilidad, motivación, afán de superación, barreras de comunicación, claridad en los objetivos, aplicación de metodologías genéricas a equipos de individuos únicos, decisiones de programación que impactan en la estrategia y el negocio.

Y con la difícil tarea de abrir fuego tenemos a Luismi Cavallé, uno de los últimos negonators en apuntarse y que con más ganas y fuerza ha entrado. Prueba de ello es la mención especial que recibió en los últimos Premios Glider a pesar de ser un recién llegado. Te dejamos con él. Si te gusta lo que ves, echalé un ojo a su blog “Putting it together” (RSS), lleno de “deliciosos” posts sobre el arte de la programación.

Shu Ha Ri es un término japonés que describe tres etapas en el aprendizaje de un arte marcial.

Shu significa mantener, proteger, obedecer. En esta primera etapa, el alumno sigue las enseñanzas del maestro de forma rigurosa. El objetivo es conseguir reproducir de manera precisa la técnica del arte, sin preocuparse por entender la teoría subyacente. Es importante no mezclar estilos o variantes en este momento. Esta es la etapa en la que se establecen los cimientos para el resto del aprendizaje.

Los que hemos practicado algún arte marcial reconocemos esta primera fase donde el objetivo es, a base de repetición, corrección y constancia, conseguir ejecutar los movimientos y técnicas de manera correcta.

Ha significa separar, liberarse, romper. Una vez que la técnica se ha interiorizado el alumno debe comenzar a preguntarse “¿Por qué?”. En esta fase el alumno comienza a comprender los principios teóricos de la técnica, y comienza a aprender de otros maestros variantes de la misma. Todo ello se integra en su conocimiento y en la práctica del arte marcial.

Ri significa ir más allá,trascender. En esta etapa el alumno deja de serlo ya que no aprende de otros sino de su propia técnica. El arte se hace personal y se exploran nuevos enfoques, variaciones sobre las técnicas adaptadas a las circunstancias propias.

Alistair Cockburn (firmante del Manifiesto Ágil y creador de la metodología Crystal Clear), en su libro Agile Software Development, introduce el concepto del Shu Ha Ri para referirse al aprendizaje de técnicas y metodologías en el desarrollo de software. Para Cockburn, las metodologías ágiles con nombre (Extreme Programming, Scrum, Crystal Clear) proporcionan el punto de partida, tanto a nivel Shu como a nivel Ha, para que cada equipo de desarrollo consiga alcanzar su propio Ri. Entendiendo que la mejor metodología es no seguir una metodología y que el proceso de desarrollo que tiene éxito es el que no está establecido.

En Tractis esto se entiende bien. Por eso se refactoriza continuamente no solo el código, sino también la metodología, el proceso, la manera de organizarse.

En muchos aspectos probablemente nos encontramos en la etapa del Shu. Hemos elegido ser ágiles y hemos elegido Rails como medios con los que alcanzar nuestros ambiciosos objetivos. Por tanto, estamos tratando de aprender, aplicar e interiorizar las técnicas ágiles (TDD, Refactoring, Integración Contínua, etc.) y la manera-Rails de hacer las cosas, según indican nuestros “maestros”.

Esto va a suponer dedicación y sudor, sin duda, pero hemos de hacer las cosas muy bien en esta etapa porque los retos que afrontamos nos van a llevar a tener que explorar nuevos caminos. Estamos construyendo software en la era post-ágil, en la era post-web2.0, y solo tendrémos éxito si los cimientos son sólidos.

Y en ello estamos.

Por Luismi Cavallé
Guardado en: Programación, Tractis | 4 comentarios » | 16 de Enero de 2007

4 Comentarios en “Shu Ha Ri”

Gravatar de Accesibilidad, Tractis y rails

Accesibilidad, Tractis y rails
17 de Enero de 2007 a las 11:31 am    

[...] Ahora hablo, otra vez, de Tractis y lo bien que en mi opini�n est�n llevando adelante una iniciativa tan complicada como la suya.No solo lo hacen bien sino que encima comparten su experiencia y conocimiento con los dem�s. [...]

Gravatar de Jorge

Jorge
17 de Enero de 2007 a las 11:44 am    

Hola:

Permiteme añadir al Shu Ha Ri una cuarta fase EEEE que significa (Encima Estas En España) donde la dificultad de lograr sacar adelante un proyecto web no solo viene influida por la metodología que sigues.

Por cierto, llevo un año con Rails y aunque ya había pasado a la fase del Ha, desde que ha aparecido The Rails Way he vuelto a la fase del Shu :-)

¿Como es posible que Rails (y Ruby por supuesto) no sea ya la herramienta más extendida para programación web?.

Gravatar de Ernesto Jiménezç

Ernesto Jiménezç
18 de Enero de 2007 a las 1:29 pm    

Jorge, ¿Cómo es posible que Windows e Internet Explorer sigan teniendo la cantidad de usuarios que tienen? ^_^

Además, para la programación web influye mucho también las posibilidades que te den tus proveedores de hosting.

Rails es genial, pero hoy por hoy pocos servicios de hosting lo incluyen, y otros lo incluyen mal.

Pero vamos, yo espero que esto cambie en el futuro ^_^

Gravatar de Negonation at Putting it together

Negonation at Putting it together
19 de Enero de 2007 a las 9:47 pm    

[...] El caso es que he tenido el honor de que me invitasen a colaborar también en su blog, cosa que he aceptado gustoso y el resultado es este primer post Filed under: Talent, Ruby On Rails   |   [...]

Más entradas en Negonation Blog