Crisis de Reproducibilidad

15 Oct 2018 - Evaristo

Ya le dimos una vuelta a la tuerca. Ahora estamos haciendo nuestros pininos en visualizaciones web e interfaces de línea de comandos (CLI). Incluso ya hemos dado nuestros primeros pasos en programación orientada a objetos y arquitectura de software. Eventualmente empezaremos a implementar bases de datos relacionales y a desarrollar aplicaciones móviles. No me sorprendería que algún día avancemos el tema de aprendizaje automatizado mediante el common task framework. Pero hay que avanzar cuidando la retaguardia.

Reproducibilidad solía ser nuestro único principio; es el principio original. El resto de nuestros principios (puntualidad, transparencia, trabajo colaborativo y estandarización) se identificaron después, cuando ya teníamos la reproducibilidad bajo control.

Actualmente, nos encontramos inmersos en una crisis de reproducibilidad. Me resulta difícil realizar las revisiones post-entrega ya que no puedo reproducir los resultados que debo revisar. Supongo que debería revisar el producto entregado descargándolo desde el Trello, pero me rehúso.

Nuestro “tablero de aeropuerto” solía ser el instrumento que nos permitía a verificar la reproducibilidad de nuestros productos. Cuando dejamos de usar nuestro administrador de tareas ad hoc y empezamos a usar el pizarrón kanban en su lugar, abandonamos el tablero de aeropuerto que se encontraba integrado en el mismo sistema.

Es momento de que retomemos nuestra iniciativa de lograr una integración continua de nuestros productos. Me gustaría usar algún servicio de integración continua como Travis CI, CircleCI o cualquier otro; pero tal vez algunas de nuestras dependencias (e.g. MATLAB) nos obliguen a redescubrir el hilo negro. :facepalm:

Identifico los siguientes elementos: