Soldat's log

Simplemente otro blog personal

Entradas etiquetadas ‘cadt

Metodología de desarrollo CADT

con un comentario

Leyendo Building Scalable Web Sites de Cal Henderson, un libro bastante curioso por cierto, encontré una referencia a la metodología de desarrollo CADT o “Cascade of Attention-Deficit Teenagers” de Jamie Zawinski.

La idea fundamental radica en “ignorar los bugs abiertos contra una funcionalidad”, es decir, los errores prácticamente no se resuelven.

El artículo del señor Zawinski se basa en un caso real ocurrido con los errores reportados contra los programas de GNOME 1.4 que fueron completamente ignorados hasta la versión 2.0 en la que se consideró que los bugs habían sido solucionados automáticamente.

El objetivo básico de esta metodología es mantener al programador lo más “contento” posible. Esto se traduce en que el programador se dedica a implementar nuevas funcionalidades y no peleándose con extraños errores.

Las ventajas son evidentes:

  1. Es mucho más sencillo planificar el tiempo necesario para implementar cierta funcionalidad que estimar la cantidad de horas que se van a invertir en solucionar un error.
  2. “Crear” nuevas funcionalidades es una actividad creativa más reconfortante que la depuración, que tiende a ser repetitiva y poco gratificante.
  3. No hay gasto en el cambio de contexto. No es necesario sacar al programador de su contexto de trabajo para llevarlo a un trabajo que realizó hace unos meses para solucionar un problema.

Las desventajas: evidentemente esto no es serio. No podemos aplicar esto a un desarrollo de aplicaciones críticas o a clientes que exijan parámetros de calidad estrictos.

A primera vista podría pensarse que es más una broma que una metodología, y no sería un pensamiento desacertado… Ahora bien, conociendo la vida real en la que los programadores con tal de eliminar un bug asignado son capaces de recurrir al “if (error) return 0;” o relanzar la excepción hacia arriba no está tan mal. Al menos ya sabes que la calidad va a dejar mucho que desear :-)

Llevar a cabo esta metodología es muy sencillo, simplemente se habilita un issue-tracking que contabilice el número de bugs abiertos contra cierta funcionalidad. Cuando se alcanza el valor umbral la funcionalidad se reimplementa desde cero.

El resultado es que el programador siempre está pasando un buen rato creando software y los usuarios son sorprendidos con nuevas funcionalidades cada cierto tiempo.

Como menciona el señor Henderson es la estrategia que muchos sitios “Web 2.0″ están siguiendo más o menos oficialmente. Esta metodología merece un poco de reflexión, nunca se sabe.

Escrito por chernando

2007/12/02 a 13:58

Escrito en Desarrollo Software

Etiquetado con

Seguir

Get every new post delivered to your Inbox.