Cómo convertimos una idea en un producto icónico.
Cuatro patrones que funcionan juntos. Ninguno es nuevo. Lo que sí lo es: la disciplina de usarlos juntos en cada producto que construimos.
Cuatro patrones. Una forma de entregar.
La mayoría de los equipos eligen un patrón, ignoran los demás y se preguntan por qué el producto resulta frágil. Nosotros usamos cuatro, combinados a propósito, porque cada uno resuelve un problema que los otros no pueden. Esta es la maquinaria detrás de cada producto de Leanicon.
- Domain-Driven Design: mantiene el producto fiel al negocio.
- SOLID: mantiene el código fiel a sí mismo.
- Spec-Driven Development: decide qué construir antes de que exista el código.
- Programación agéntica: deja a las personas solo el trabajo que deben hacer las personas.
Construir alrededor del lenguaje del negocio.
Los productos de IA fracasan de dos maneras: entregan rápido lo que no era, o entregan lo correcto de una forma que no puede evolucionar. DDD evita ambas. Al modelar el dominio de forma explícita —entidades, contextos delimitados, lenguaje ubicuo— el producto sigue siendo legible para producto, para ingeniería y para los agentes que integramos en el flujo de trabajo.
- Todo producto empieza con un mapa de dominio, no con un esquema de base de datos.
- Los contextos delimitados son de primera clase. Ningún servicio acaba siendo el cajón de sastre.
- El lenguaje ubicuo vive en el código, en las especificaciones y en el contexto de los agentes.
- Evita: modelos anémicos, servicios enredados y productos que nadie sabe explicar.
Cinco reglas para que el código sobreviva a la segunda funcionalidad.
Los productos de IA iteran más rápido que los tradicionales: los modelos cambian, los prompts evolucionan, las integraciones se multiplican. SOLID es la diferencia entre un código que se dobla y uno que se rompe. Y es la base que hace segura la programación agéntica.
- Responsabilidad única: cada módulo hace una sola cosa.
- Abierto/cerrado: se extiende componiendo, no reescribiendo.
- Sustitución de Liskov: las interfaces significan lo que dicen.
- Segregación de interfaces: contratos pequeños y hechos a medida.
- Inversión de dependencias: la lógica de alto nivel nunca depende de los detalles.
- Evita: la reescritura, la refactorización de toda la plantilla y la conversación de «se han roto seis cosas».
La especificación es la fuente de la verdad.
El mayor coste del software no es escribir código: es escribir el código equivocado. Spec-Driven Development separa las dos cosas que nunca deberían confundirse: decidir qué construir y decidir cómo construirlo. Cuando la especificación es rigurosa, ingeniería avanza rápido. Cuando no lo es, no hay metodología que te salve.
- Las especificaciones se escriben en un lenguaje que el negocio puede validar.
- Se revisan antes de que empiece cualquier trabajo de ingeniería. Sin excepciones.
- Definen comportamiento y criterios de aceptación, no implementación.
- Las desviaciones se detectan en la revisión, no en el lanzamiento.
- Evita: el «yo entendí que…» y la funcionalidad a medias que nadie aprueba.
El desarrollador como arquitecto y revisor. El agente como implementador.
La economía de construir software ha cambiado. Tratar a un desarrollador sénior como mecanógrafo ya no se sostiene. La programación agéntica replantea el papel: las personas diseñan sistemas y revisan resultados, los agentes implementan bajo supervisión. La velocidad sube. La calidad también, si el resto de la metodología está en su sitio.
- Los desarrolladores actúan como arquitectos y revisores, no como implementadores.
- Los agentes trabajan contra la especificación, anclados en el modelo de dominio.
- Cada cambio lo revisa una persona antes de salir. Siempre.
- Los agentes se encargan de: andamiaje, pruebas, refactorizaciones y código de pegamento.
- Evita: quemar a ingenieros sénior en trabajo que puede hacer un agente y entregar código que nadie entiende.
Cuatro patrones. Un solo ciclo.
Los patrones no son un menú. Son un sistema. Cada uno hace que funcione el siguiente. Quita uno y los demás se debilitan.
DDD le da a la especificación algo honesto que describir.
Sin un modelo de dominio real, las especificaciones describen detalles de implementación en vez de comportamiento de negocio. Acaban siendo un documento técnico que nadie del negocio puede validar.
Spec-Driven Development le da al agente algo inequívoco que construir.
Un agente con una especificación vaga improvisa. Un agente con una especificación rigurosa produce resultados consistentes y revisables. La especificación es el contrato del agente.
SOLID hace que lo que construye el agente sea fácil de revisar y de cambiar.
El código generado por agentes y revisado contra las restricciones de SOLID produce una base de código que las personas pueden recorrer y actualizar. Sin SOLID, lo que se gana en velocidad se convierte en deuda técnica.
La programación agéntica es lo que hace que todo el ciclo sea lo bastante rápido como para importar.
DDD, las especificaciones y SOLID crean las condiciones para una programación agéntica segura. La programación agéntica es lo que hace real la ventaja de velocidad en la capa de entrega.
El stack del que parte cada producto de Leanicon.
Nunca empezamos un producto desde un repositorio vacío. Tres piezas internas pasan de un proyecto al siguiente, y por eso una primera versión tarda semanas. No están a la venta. Son la razón por la que podemos prometer lo que prometemos.
Biblioteca de UI
Una biblioteca de componentes hecha para productos de IA y para las superficies de marketing que los rodean. Cada producto hereda una interfaz coherente desde el primer día en vez de diseñarla desde cero.
Módulos SaaS
Autenticación, organizaciones, facturación, multi-tenant, notificaciones, enrutado de modelos. La fontanería que todo producto necesita y por la que no se recuerda a ninguno.
Base de conocimiento para agentes
Nuestra metodología codificada como contexto para los agentes que implementan. Es lo que mantiene cuatro patrones consistentes en cuatro bases de código.
¿Quieres que apliquemos esto a tu idea?
La metodología no es un curso. Es cómo construimos, y viene incluida en cada proyecto.