Posteado por: israelantezana | 24 - marzo - 2009

¿Te Lavas las manos antes de programar?

En su articulo “Profesionalismo y Desarrollo Dirigido por Pruebas”, Robert Martin toma el ejemplo de Ignaz Semmelweis, quien en 1847 logró reducir dramáticamente la tasa de mortalidad de una maternidad haciendo simplemente que los doctores se laven las manos antes de examinar a las mujeres embarazadas.  Semmelweis  se topó con resistencia que incluían quejas de que lavarse las manos antes de atender a cada mujer embarazada sería mucho trabajo y los doctores no tenían tiempo suficiente para eso.

Los desarrolladores que conocen o han escuchado hablar del desarrollo dirigido por pruebas,  TDD (Test Driven Development), pueden darse cuenta que esta técnica representa muchos beneficios para incrementar la calidad del software y por ende mejorar el nivel de profesionalismo del desarrollador.   ¿Te parece que puedes incrementar el nivel  de calidad de una aplicacion de software si más del 90% del código de producción se encuentra cubierto por pruebas automatizadas que puedes ejecutar en cualquier momento?. Si es así, esta comprobado que te das cuenta  de algunos de los beneficios de TDD. 

Sin embargo, es frecuente escuchar de muchos desarrolladores que dicen que escribir pruebas antes del código de producción puede ser mucho trabajo o tomar mucho tiempo. Ahí es donde la analogía de Robert Martin viene muy bien:  ¿ No te parece entonces importante lavarte las manos antes de programar?.  Claro que TDD no es una bala de plata y no tiene una implicación tan grande como lavarse las manos para los doctores, pero si tiene una connotación destacable en cuanto a tu responsabilidad y compromiso con tu profesión.  Si es que, como los doctores hace varios años,  aun muchos desarrolladores no usan TDD como parte habitual de su trabajo puedo citar una frase que la aplico con frecuencia:  “Algunas veces tienes que hacer lo que esta bién y no lo que hacen los demás”.

Anuncios

Responses

  1. Perfecto pensamiento! ótimo post.

  2. Isra, Google no me bota ningún resultado del libro de Robert Martin que mencionas. ¿Podrías confirmar si es el correcto o mejor aún pasar un enlace en amazon?
    Saludos, e impactante primer párrafo.

    • Ubaldo, no es un libro sino este artículo al que hago referencia. Sin embargo, si te interesa algun libro de Robert Martin, el más reciente es: Clean Code.

  3. Saludos, desde hace algun tiempo hago pruebas unitarias, que según he visto son las mas sencillas, ahora he comenzado a realizar pruebas funcionales y luego probare pruebas de integración. Cuesta aprender pero al fín estoy entendiendo como aplicar el TDD, mejor dicho el BDD en mi caso que es casi lo mismo sino que se tiene mas claro cuales son las caracteristicas que se van a implementar en el sistema. Saludos

    • Boris,

      De acuerdo, muchas prácticas ágiles como TDD requieren de disciplina para convertirlas en tus propias prácticas (hábitos). Yo veo a esto como algo bueno, una persona responsable con su profesión debe ser disciplinada.

      Tu comentario me inspiró a escribir este nuevo post, más comentarios ahi.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: