jueves, 5 de enero de 2012

Checklists

Las checklists (o listas de control, nombre con el que aparece en algunos sitios web), suponen una herramienta fundamental en el mundo del desarrollo software.

¿Que qué son?
  • Son como los puntos de control de un coche: una lista de verificaciones a realizar,  de acciones a llevar a cabo para un fin único. Cuando llevas el coche a arreglar, sabes qué le van a hacer (o mejor aún, según cuánto pagues, sabes cuántas cosas van a comprobar). Si queremos verificar un vehículo, lo más fácil es coger una lista, y seguirla: neumáticos, aceite, etc, etc. Pueden extenderse fácilmente para cualquier cosa: lista de la compra, lista de cosas para  un viaje, etc.
  • Ocurre lo mismo cuando queremos verificar algo en el mundo del software. ¿Cómo saber que lo hacemos bien? En el mundo del software son vitales ya que permiten aprovechar la experiencia de las personas, y resumirla en acciones concretas para tareas de control o verificación.

¿Que porqué son una ayuda fundamental?
  • Son sencillas de usar.
  • Disminuyen los errores en las cosas que hacemos.
  • Homogeneizan las tareas (sabes que todo el mundo van a seguir la misma secuencia de cosas)
  • Te permiten justificar ante el cliente u otra persona, qué has hecho exactamente. Si conforme hacemos las tareas de la checklist, rellenamos un S/N, o ponemos un comentario, quedará constancia de lo que se ha hecho y su resultado. Esto evita muchos problemas, y da una imagen de seriedad y profesionalidad.
  • Facilitan su uso por personal menos experimentado o junior.
  • Son fáciles de implementar como métricas (ejemplo: ¿cuántos puntos de control han fallado de los N de la checklist?)
  • Permiten hacer fácilmente comparaciones: si un software ha fallado el 20% de las pruebas de la checklist, puede usarse para compararlo con las mismas pruebas en otros productos software.
  • Se aplica a productos software, a sistemas, a documentación, a procesos, ... a cualquier cosa.
Las checklists son la auténtica prueba de madurez, un nivel superior de hacer bien las cosas. Ya no tenemos el conocimiento en nuestra cabeza, sino que los pasos/acciones a realizar, los compartimos en una checklist para que el resto del equipo pueda realizar las mismas tareas y llegar a conclusiones similares.

¿Y ejemplos concretos de ésto?
  • Pues cuando vayamos a subir algo a producción, podemos tener una checklist de pasos/pruebas a realizar. Pueden ser pasos previos (verificación de que está todo lo necesario, personas, equipos, etc.). También estarían los pasos a realizar para la propia subida a producción. Finalmente, se incluirían las tareas posteriores: verificar que todo está ok, borrar los ficheros temporales, hacer logoff con el usuario utilizado, enviar un correo de notificación de éxito, etc, etc.
  • También, antes de cada entrega de un documento al cliente, sería interesante tener una checklist del estilo: ¿tiene el formato adecuado (S/N)? ¿se ha utilizado la plantilla correcta (S/N)? ¿el contenido ha sido revisado (S/N)? ¿Se ha versionado correctamente (S/N)? ¿Se ha enviado a todos los destinatarios adecuados (S/N)?
  • Etc, etc
Así que ya sabéis. Poned más checklists en vuestra vida.

No hay comentarios:

Publicar un comentario