Cómo aplicar KISS, YAGNI y DRY al mundo de DATA/AI

Cómo aplicar KISS, YAGNI y DRY al mundo de DATA/AI

Los principios de desarrollo KISS, YAGNI y DRY no solo son válidos para el desarrollo de software moderno y ágil, sino que también son fundamentales cuando hablamos de soluciones en el ámbito de los datos e inteligencia artificial: ingeniería, machine learning y análisis de datos. Sin embargo, en este contexto, estos principios necesitan una pequeña "traducción" para adaptarse a los desafíos específicos del manejo de datos y la infraestructura que implica. Vamos a desmenuzarlos: 🔍



1. KISS (Keep It Simple, Stupid) 😎

Simplicidad. Ese mantra que todos repetimos, pero que a veces olvidamos cuando nos enfrentamos al diseño de pipelines o modelos. En data, KISS significa no perderse en complejidades innecesarias que puedan terminar en dolores de cabeza para el equipo. 💆♂️💆♀️

¿Cómo lo aplicamos?

  • Diseñá modelos y pipelines que cualquier miembro del equipo pueda entender sin pasar horas descifrando transformaciones innecesarias. ¿Hiperparametrización? Solo si es estrictamente necesaria.
  • En procesos ETL o ELT, asegurate de que las etapas sean claras y lógicas. Menos pasos "mágicos", más transparencia.
  • Infraestructura: Si tus requerimientos actuales pueden resolverse con un procesamiento por lotes, no te lances al streaming en tiempo real solo porque suena más "cool".

Pero cuidado: la simplicidad no puede sacrificar escalabilidad. Un diseño súper simple como almacenar todo en CSV puede funcionar ahora, pero convertirse en un cuello de botella a medida que los datos crezcan. Pensá simple, pero con un ojo en el futuro.

Ejemplo de KISS: En lugar de un pipeline lleno de transformaciones intermedias innecesarias, implementá una estructura jerárquica como la clásica: Bronze-Silver-Gold 🥉🥈🥇 en data lakes. Así, el flujo de datos es simple, pero escalable.


2. YAGNI (You Aren’t Gonna Need It) 🛑

Este principio es oro cuando hablamos de diseño en data. A menudo, por miedo a quedarnos cortos, diseñamos pipelines o arquitecturas que están llenas de funcionalidades que nadie ha pedido... ni pedirá. 🤷♂️🤷♀️

¿Cómo lo aplicamos?

  • No diseñes pipelines que soporten análisis que no necesitás ahora mismo. Si solo necesitás informes básicos, dejá de pensar en machine learning avanzado por ahora.
  • Si un modelo predictivo simple cumple con los requerimientos, no te lances a crear una red neuronal compleja. Primero cubrí lo esencial.
  • ¿Cluster distribuido? Solo si lo necesitás. Muchas veces, un servidor local o un entorno pequeño son más que suficientes en las primeras etapas.

Pero cuidado: en data, YAGNI puede ser un arma de doble filo. ⚔️ Hay que evitar caer en la sobreoptimización temprana, pero también diseñar con una base que permita escalar o modificar sin tener que reconstruir todo desde cero.

Ejemplo de YAGNI: Si estás comenzando con reportes básicos, SQL o una herramienta de BI estándar puede ser suficiente. No necesitás un pipeline masivo con Spark y Kafka... aún. 🚀


3. DRY (Don’t Repeat Yourself) 🔁

Este principio es perfecto para mantener soluciones limpias y sostenibles. En el mundo de data, la duplicación de lógica o configuraciones no solo genera trabajo extra, sino que puede llevar a errores difíciles de rastrear. 🚨

¿Cómo lo aplicamos?

  • Centralizá las transformaciones comunes en funciones reutilizables. Por ejemplo, si limpiás nombres de columnas en varios lugares, hacelo con una función compartida.
  • Las métricas de negocio y cálculos críticos deben estar en un lugar centralizado, para evitar inconsistencias en reportes o modelos.
  • Evitá la duplicación de configuraciones como nombres de columnas o rutas de datos: utilizá archivos de configuración o parámetros globales.

Pero cuidado: DRY puede volverse un problema si se lleva al extremo. Abstraer demasiado en pipelines o modelos puede hacerlos difíciles de entender o modificar. Priorizá la reutilización cuando aporte claridad, no cuando complique. ✅

Ejemplo de DRY: Una función que centralice transformaciones comunes, como limpiar columnas o formatear fechas. 📅


Otros principios clave en data

Además de KISS, YAGNI y DRY, hay algunos enfoques adicionales que no pueden faltar:

  • Modularidad: Diseñá pipelines en bloques independientes para que los cambios no afecten todo el flujo. Por ejemplo, separá extracción, transformación y carga en módulos claros.
  • Observabilidad: En data, no podés permitirte un pipeline que falla sin explicaciones. Incorporá logs y métricas desde el día uno.
  • Data as a Product: Tratá tus datasets y pipelines como productos. Esto significa calidad, documentación y facilidad de uso para otros equipos.


Conclusión 🎯

Los principios de desarrollo clásicos como KISS, YAGNI y DRY son perfectamente aplicables al desarrollo de soluciones en el mundo de data. Sin embargo, requieren un toque especial para adaptarse a las peculiaridades del manejo de datos: desde la necesidad de escalar hasta la importancia de la trazabilidad. La clave está en mantener un equilibrio: simplicidad y eficiencia sin caer en la sobreingeniería. Recordá, en data, menos a menudo es más. 🤌

 

¿Qué opinás? 💬


¿Implementás estos principios en tu trabajo o proyecto?        

Y si necesitas asesoría no dudes en mandarnos un mensaje



Podés encontrar más notas del mundo de la tecnología y los datos en nuestro blog.

Contacto

Tekne

Linkedin | Instagram | Whatsapp

info@teknedatalabs.com

Inicia sesión para ver o añadir un comentario.

Otros usuarios han visto

Ver temas