Data

Data

Por Manuela Larrea – Líder de Data y Ops

Hover Image

La deuda técnica silenciosa en proyectos de datos: cómo evitar el caos antes de que escale

Cuando hablamos de "deuda técnica" en ingeniería de software, casi siempre imaginamos código sin testear, decisiones rápidas que nos ahorran tiempo hoy pero cuestan el triple mañana, o sistemas que funcionan "mientras nadie los toque". Pero en el mundo de los datos, esta deuda puede ser aún más silenciosa, más fácil de ignorar... y más costosa.

Es como una tubería mal soldada en una casa recién construida: todo parece estar bien, hasta que un día el agua se filtra por la pared del cliente más importante.

¿Qué es la deuda técnica en proyectos de datos?

En los proyectos de datos, la deuda técnica se acumula en capas menos visibles: pipelines sin monitoreo, scripts desordenados, ausencia de versionado, uso excesivo de notebooks como producción, nombres de columnas sin sentido, y configuraciones que solo vive en la cabeza del analista que ya no está en el equipo.

A diferencia de la deuda en software tradicional, donde los errores se manifiestan con bugs, aquí los errores pueden pasar inadvertidos por meses y producir decisiones equivocadas, dashboards rotos o modelos entrenados con datos sucios.

¿Cómo se acumula esta deuda sin que nos demos cuenta?

Falta de linters o validaciones de código: Cuando los pipelines de datos son una secuencia de notebooks o scripts copiados de un repo antiguo sin revisión.

  • Falta de linters o validaciones de código: Cuando los pipelines de datos son una secuencia de notebooks o scripts copiados de un repo antiguo sin revisión.


  • Ausencia de pruebas: ¿Quién testea un join? ¿Quién valida si una transformación cambió la cardinalidad? Sin pruebas unitarias o tests de regresión, cada cambio puede romper algo.

  • Nombres poco semánticos: Columnas como col1, varA, resultado_final_bueno_OK son pequeñas bombas de tiempo.


  • Procesos sin versionado ni trazabilidad: Sin control de versiones, sin MLflow, sin metadata... todo es frágil y difícil de reproducir.

  • Gobernanza sin gobernante: Nadie sabe qué dataset es "la verdad", ni quién es responsable de cada tabla.


Es como construir una ciudad sin plano urbanístico: al principio todo avanza rápido, pero luego nadie sabe qué calle lleva a dónde, ni dónde pasa el acueducto. Hasta que un día, todo se tranca.

Las consecuencias: caos, desconfianza y parálisis

  • Una tabla se actualiza mal y nadie lo nota hasta que un cliente se queja.

  • Un pipeline falla en producción y hay que revisar 8 notebooks sin documentación.

  • Los científicos de datos gastan más tiempo limpiando y entendiendo datos que modelando.


  • El equipo de DevOps recibe alertas pero no sabe si debe reiniciar o escalar.

Y cuando eso ocurre, la confianza se erosiona. En el equipo, en los datos y en las decisiones que se toman con ellos.

¿Cómo prevenir (o pagar) esta deuda técnica?

Aquí no hay una solución mágica, pero sí principios claros que puedes aplicar desde ya:

1. Aplica principios DevOps en tus pipelines de datos

  • Usa control de versiones (Git) incluso para notebooks.


  • Automatiza despliegues con CI/CD (ej. GitHub Actions, Azure DevOps, GitLab CI).

  • Versiona datasets y modelos: MLflow, DVC, o hasta fechas en nombres de archivo si es necesario.

2. Integra pruebas, así sea poco a poco

  • Pruebas unitarias para funciones de transformación (pandas, PySpark, etc).

  • Pruebas de regresión de resultados.

  • Validaciones de schema con herramientas como Great Expectations o Pandera.

3. Define convenciones de nomenclatura

  • Que cada nombre de variable, función, tabla o columna tenga semántica y consistencia.

4. Incluye observabilidad desde el día uno

  • Logs estructurados.

  • Dashboards de ejecución y tiempos.

  • Alertas para fallos silenciosos (sincronizaciones incompletas, NaNs inesperados, etc).

5. Documenta lo mínimo viable, pero documenta

  • Qué hace cada pipeline.

  • Dónde se ejecuta.

  • Qué tablas o archivos genera.

¿Vale la pena?

Sí. Porque prevenir esta deuda es más barato que vivir con ella. Y porque construir proyectos de datos sólidos no es solo una cuestión técnica, sino una cuestión de confianza. En los datos, en el equipo, y en las decisiones que se derivan de ellos.

Y si lideras un equipo, tu trabajo no es solo entregar resultados, sino también crear un entorno donde esos resultados sean sostenibles.



VOLVER AL BLOG