Manifiesto AIDD

Principios para el buen uso de la IA en el desarrollo de software

El desarrollo de software está experimentando una transformación radical con la llegada de los modelos de IA. Como toda disrupción genera incertidumbres y preocupaciones. En este caso se ha identificado dos muy claras:

Este manifiesto establece dos principios fundamentales para generar confianza en el uso de la IA en el desarrollo de software, que nos lleve a cumplir con los siguientes objetivos:

♻️ Human-In-The-Loop

La IA puede acelerar procesos, sugerir soluciones y detectar errores, pero el rol humano es insustituible. Como desarrollador, tu principal responsabilidad es liderar, colaborar y supervisar. Veamos cómo puedes maximizar este enfoque:

Inicia con Propósito y Objetivos

Antes de utilizar cualquier herramienta de IA, define el “qué” y el “por qué” del proyecto. No basta con pedirle a la IA que “haga algo”; necesitas establecer los cimientos del trabajo.

Tu rol comienza mucho antes de la primera línea de código. Como humano, tienes la capacidad única de:

Aporta Contexto a las Peticiones

La IA trabaja mejor cuando entiendes cómo formular tus requerimientos. Describe claramente el problema, proporciona ejemplos y señala las restricciones. Esa atención al detalle y a eliminar la ambigüedad es lo que retiene tu rol de programador.

La IA es poderosa, pero necesita tu contexto para ser verdaderamente efectiva. Cuando interactúas con ella:

Colabora, Guía y Aprende

Considera a la IA como un compañero de trabajo. Evalúa sus sugerencias, haz preguntas y mejora las respuestas iterativamente. Además, la colaboración con IA te ofrece una oportunidad para aprender nuevas perspectivas y enfoques.

El desarrollo con IA es una comunicación bidireccional. De hecho, se empieza a usar el término Chop: Chat Oriented Programming, para referirnos a esa conversación donde:

Decide con Responsabilidad

La IA no comprende el contexto humano completo, ni las implicaciones éticas o comerciales de sus respuestas. Tú eres quien valida y aprueba el resultado final.

La toma de decisiones final siempre recae en ti, una máquina nunca puede rendir cuentas (IBM dixit). Esto implica:

Confía pero Comprueba

Aunque las herramientas de IA suelen ser precisas, no son infalibles. Siempre revisa el código generado, las sugerencias o los resultados automáticos. Las revisiones rigurosas aseguran la calidad y evitan errores críticos.

La verificación es esencial, ante el no-determinismo de la IA. Aplica el “Confía pero comprueba” (Trust but verify, by R. Reagan). Tu papel incluye:

El humano es estratega, colaborador y responsable.

✅ AI Quality

Los humanos usamos herramientas para acelerar procesos desde el principio de los tiempos. El desarrollo impulsado por IA es otro acelerador. Pero, para aumentar la productividad, no solo debe centrarse en escribir código rápidamente, sino que también sea confiable y escalable. A continuación te desgloso los puntos clave:

Completo y Aplicable a Todo el Ciclo

La IA no solo puede ayudarte en la codificación, sino también en pruebas, documentación y despliegue. Aprovecha su potencial en todas las etapas del ciclo de desarrollo.

El enfoque abarca todo el ciclo de desarrollo:

Kaizen: Refinamiento Iterativo

Adopta la filosofía de mejora continua. Asumen la imperfección como parte del proceso. Cada interacción con la IA es una oportunidad para refinar el producto. Solicita revisiones, itera sobre soluciones y busca constantemente formas de mejorar.

El refinamiento iterativo es clave:

Mantenibilidad: Diseño y Documentación

Cualquier código que hayas escrito hace tiempo, es como si lo hubiera escrito, ¡imagínate si de verdad lo ha escrito otro! Utiliza la IA para generar comentarios, diagramas y guías que hagan tu software comprensible para otros desarrolladores (y para tu “yo” del presente y del futuro).

El código debe ser mantenible desde el primer día, aplica todo el conocimiento sobre diseño y código limpio:

Robustez: Control de Errores y Registro

La IA puede sugerir patrones para manejar errores de forma eficaz o configurar sistemas de registro (logging) detallados. Prioriza un diseño que anticipe fallos y mantenga registros claros para facilitar la depuración.

La prevención y gestión de errores es fundamental:

Fiabilidad: Validación con Testing

Nunca asumas que el código generado por IA está listo para producción. Diseña pruebas unitarias, de integración y de rendimiento para garantizar que tu software cumple con los estándares requeridos.

La validación debe ser rigurosa, pero con las herramientas adecuadas, no debe ser tediosa:

El desarrollo es productivo, mantenible y de calidad.

AIDD Manifesto

🌿 Conclusión: Un Nuevo Paradigma de Desarrollo

El Manifesto AIDD establece un marco para aprovechar lo mejor de ambos mundos: la creatividad, experiencia y juicio del humano, combinados con la eficiencia y capacidades de la IA.

Como desarrollador, tu papel es más importante que nunca. No eres reemplazado por la IA, sino potenciado por ella. Tu responsabilidad es guiar el proceso, tomar decisiones informadas y asegurar que el resultado final cumpla con los más altos estándares de calidad.

La clave del éxito está en mantener un equilibrio entre la eficiencia que aporta la IA y el control de calidad que solo un humano puede proporcionar. Este manifiesto es tu guía para lograr ese equilibrio y crear software excepcional en la era de la IA.

Aplicando los principios del Manifiesto AI-Driven Development lograrás: