cursos:sdd:opinion
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| cursos:sdd:opinion [2026/11/09 01:19] – El artículo «La factoría la crea uno mismo» tal cual, solo con formato DokuWiki claude | cursos:sdd:opinion [2026/11/09 11:39] (actual) – [La arquitectura también se descubre] Lorenzo | ||
|---|---|---|---|
| Línea 3: | Línea 3: | ||
| //Lo que aprendí construyendo una aplicación Angular sin escribir una sola línea de código// | //Lo que aprendí construyendo una aplicación Angular sin escribir una sola línea de código// | ||
| - | ===== 1. La promesa ===== | + | ===== La promesa ===== |
| Cuando empecé a usar agentes de IA para programar, la idea que tenía en la cabeza era la que se ve en todos los vídeos: la software factory. Uno describe los requisitos de la aplicación, | Cuando empecé a usar agentes de IA para programar, la idea que tenía en la cabeza era la que se ve en todos los vídeos: la software factory. Uno describe los requisitos de la aplicación, | ||
| Línea 11: | Línea 11: | ||
| Así que me puse a montar la fábrica. No a hacer la aplicación: | Así que me puse a montar la fábrica. No a hacer la aplicación: | ||
| - | ===== 2. El intento ===== | + | ===== El intento ===== |
| Empecé por donde empiezan los vídeos: agentes especializados. Un arquitecto, un programador de Angular, un experto en Material, un revisor. Cada uno con su prompt, sus referencias y su papel. La idea era que yo hablara con el arquitecto, el arquitecto repartiera y los demás ejecutaran. Le dediqué mucho esfuerzo, bastante más del que me habría costado programar las primeras pantallas a mano. | Empecé por donde empiezan los vídeos: agentes especializados. Un arquitecto, un programador de Angular, un experto en Material, un revisor. Cada uno con su prompt, sus referencias y su papel. La idea era que yo hablara con el arquitecto, el arquitecto repartiera y los demás ejecutaran. Le dediqué mucho esfuerzo, bastante más del que me habría costado programar las primeras pantallas a mano. | ||
| Línea 25: | Línea 25: | ||
| Y en ese punto, paradójicamente, | Y en ese punto, paradójicamente, | ||
| - | ===== 3. El primer choque ===== | + | ===== El primer choque ===== |
| Lo primero que noté al trabajar así es que ya no estaba usando agentes. Estaba usando un teclado muy listo. La IA hacía exactamente lo que yo le pedía, y lo hacía bien, pero yo le pedía las cosas una a una. Crea este servicio. Ahora una interfaz para cada vista que devuelve el API. Ahora un componente que pinte una ficha. Ahora refactoriza esto para que el componente de tabla reciba las columnas como configuración. Paso a paso, con la precisión de quien tiene el diseño en la cabeza y solo necesita que alguien lo escriba. | Lo primero que noté al trabajar así es que ya no estaba usando agentes. Estaba usando un teclado muy listo. La IA hacía exactamente lo que yo le pedía, y lo hacía bien, pero yo le pedía las cosas una a una. Crea este servicio. Ahora una interfaz para cada vista que devuelve el API. Ahora un componente que pinte una ficha. Ahora refactoriza esto para que el componente de tabla reciba las columnas como configuración. Paso a paso, con la precisión de quien tiene el diseño en la cabeza y solo necesita que alguien lo escriba. | ||
| Línea 33: | Línea 33: | ||
| La tentación en ese momento era pensar que había dado un paso atrás. Que me había rendido con la fábrica y había vuelto a lo de siempre con una herramienta mejor. Pero ya sabía lo que pasaba al soltar la correa: código coherente, razonable y genérico. Funcionaba. Y no se parecía en nada a lo que yo quería. | La tentación en ese momento era pensar que había dado un paso atrás. Que me había rendido con la fábrica y había vuelto a lo de siempre con una herramienta mejor. Pero ya sabía lo que pasaba al soltar la correa: código coherente, razonable y genérico. Funcionaba. Y no se parecía en nada a lo que yo quería. | ||
| - | ===== 4. Lo que la IA no podía saber ===== | + | ===== Lo que la IA no podía saber ===== |
| Ahí empecé a entender dónde estaba el problema, y no era de capacidad. Era de información. | Ahí empecé a entender dónde estaba el problema, y no era de capacidad. Era de información. | ||
| Línea 43: | Línea 43: | ||
| Pedirle a la IA que acertara la arquitectura de detalle era como pedirle a un arquitecto junior excelente que adivinara cómo quiero mi casa sin haber hablado conmigo. Puede proponer una casa estupenda. No puede proponer la mía. | Pedirle a la IA que acertara la arquitectura de detalle era como pedirle a un arquitecto junior excelente que adivinara cómo quiero mi casa sin haber hablado conmigo. Puede proponer una casa estupenda. No puede proponer la mía. | ||
| - | ===== 5. La curva que no esperaba ===== | + | ===== La curva que no esperaba ===== |
| Seguí trabajando paso a paso, resignado a que así era como funcionaba esto. Y entonces apareció un fenómeno que no había previsto: cada vez iba más rápido. | Seguí trabajando paso a paso, resignado a que así era como funcionaba esto. Y entonces apareció un fenómeno que no había previsto: cada vez iba más rápido. | ||
| Línea 53: | Línea 53: | ||
| Cada vez que tenía que intervenir en una pantalla, anotaba qué había tenido que decir y lo añadía a la skill. Unas pantallas después, dejé de intervenir. | Cada vez que tenía que intervenir en una pantalla, anotaba qué había tenido que decir y lo añadía a la skill. Unas pantallas después, dejé de intervenir. | ||
| - | ===== 6. El cambio de perspectiva ===== | + | ===== El cambio de perspectiva ===== |
| Fue en ese punto cuando el pensamiento se me dio la vuelta. Durante semanas había sentido que estaba lejos de la software factory porque tenía que guiar la arquitectura a mano. Y de repente vi que no estaba lejos. Estaba dentro. Lo que había estado haciendo todo ese tiempo no era construir la aplicación. Era construir la fábrica. | Fue en ese punto cuando el pensamiento se me dio la vuelta. Durante semanas había sentido que estaba lejos de la software factory porque tenía que guiar la arquitectura a mano. Y de repente vi que no estaba lejos. Estaba dentro. Lo que había estado haciendo todo ese tiempo no era construir la aplicación. Era construir la fábrica. | ||
| Línea 61: | Línea 61: | ||
| Las demos de agentes autónomos que había visto funcionaban por una razón que entonces no supe ver: la arquitectura ya venía decidida. Proyectos nuevos, stack estándar, convenciones del framework por defecto, cero legado. Ahí la IA no decide nada, solo instancia los patrones de Angular tal como vienen. La fábrica la había construido otro, el que diseñó el framework. En mi caso, con un backend propio, un CSS propio y una forma concreta de hacer las cosas, la fábrica la tenía que construir yo. | Las demos de agentes autónomos que había visto funcionaban por una razón que entonces no supe ver: la arquitectura ya venía decidida. Proyectos nuevos, stack estándar, convenciones del framework por defecto, cero legado. Ahí la IA no decide nada, solo instancia los patrones de Angular tal como vienen. La fábrica la había construido otro, el que diseñó el framework. En mi caso, con un backend propio, un CSS propio y una forma concreta de hacer las cosas, la fábrica la tenía que construir yo. | ||
| - | ===== 7. ¿Se puede delegar la construcción de la fábrica? ===== | + | ===== ¿Se puede delegar la construcción de la fábrica? ===== |
| La pregunta natural es si ese trabajo también se puede automatizar. Si la IA puede, a partir de los requisitos, crear no solo la aplicación sino la arquitectura de detalle que la sostiene. | La pregunta natural es si ese trabajo también se puede automatizar. Si la IA puede, a partir de los requisitos, crear no solo la aplicación sino la arquitectura de detalle que la sostiene. | ||
| Línea 75: | Línea 75: | ||
| Alguien me sugirió que en vez de dictar la arquitectura paso a paso podría pedir a la IA que la propusiera y limitarme a criticarla. Lo pensé y no lo compro. Criticar es más rápido que dictar solo cuando no sabes qué quieres y necesitas ver opciones. Yo, en cada paso, sabía lo que quería. En ese caso, dictar es más rápido. El coste real no estaba en pensar ni en revisar. Estaba en transmitir, en contarle a la IA un diseño que yo ya tenía. | Alguien me sugirió que en vez de dictar la arquitectura paso a paso podría pedir a la IA que la propusiera y limitarme a criticarla. Lo pensé y no lo compro. Criticar es más rápido que dictar solo cuando no sabes qué quieres y necesitas ver opciones. Yo, en cada paso, sabía lo que quería. En ese caso, dictar es más rápido. El coste real no estaba en pensar ni en revisar. Estaba en transmitir, en contarle a la IA un diseño que yo ya tenía. | ||
| - | ===== 8. Reducir el coste de contar ===== | + | ===== Reducir el coste de contar ===== |
| Si el coste es la transmisión, | Si el coste es la transmisión, | ||
| Línea 83: | Línea 83: | ||
| Eso no elimina el trabajo de arquitecto. Elimina la fricción de contarlo dos veces. | Eso no elimina el trabajo de arquitecto. Elimina la fricción de contarlo dos veces. | ||
| - | ===== 9. La idea central ===== | + | ===== La idea central ===== |
| Si tuviera que resumir todo esto en una frase, sería la siguiente: | Si tuviera que resumir todo esto en una frase, sería la siguiente: | ||
| Línea 95: | Línea 95: | ||
| Cuando alguien afirme que su herramienta saca de los requisitos una arquitectura de detalle como la mía, en realidad está vendiendo una de dos cosas: o una arquitectura genérica que no es la mía, o una herramienta en la que otra persona ya escribió su criterio y yo lo heredo. Ninguna de las dos es lo que quería. Lo que quería es lo que tengo ahora: una fábrica que produce exactamente lo que yo habría programado, sin que yo programe. Y esa la tuve que construir yo. | Cuando alguien afirme que su herramienta saca de los requisitos una arquitectura de detalle como la mía, en realidad está vendiendo una de dos cosas: o una arquitectura genérica que no es la mía, o una herramienta en la que otra persona ya escribió su criterio y yo lo heredo. Ninguna de las dos es lo que quería. Lo que quería es lo que tengo ahora: una fábrica que produce exactamente lo que yo habría programado, sin que yo programe. Y esa la tuve que construir yo. | ||
| - | ===== 10. La arquitectura también se descubre ===== | + | ===== La arquitectura también se descubre ===== |
| - | Podría cerrar diciendo que, si volviera a empezar, escribiría toda la arquitectura en un documento el primer día y me ahorraría | + | Podría cerrar diciendo que, si volviera a empezar, escribiría toda la arquitectura en un documento el primer día y me ahorraría |
| - | El componente | + | Cierto |
| Eso es, creo, lo que siempre hemos llamado metodología ágil, aunque aquí no haya sprints ni tableros. Construir algo pequeño que funcione, mirarlo, ver dónde se puede mejorar y mejorarlo. La arquitectura no se diseña entera por adelantado; emerge de los casos de uso ya construidos. La diferencia respecto a antes es que el ciclo de construir, mirar y refactorizar ahora dura minutos en lugar de días, porque la ejecución es de la IA. Lo que sigue siendo mío es mirar y decidir. | Eso es, creo, lo que siempre hemos llamado metodología ágil, aunque aquí no haya sprints ni tableros. Construir algo pequeño que funcione, mirarlo, ver dónde se puede mejorar y mejorarlo. La arquitectura no se diseña entera por adelantado; emerge de los casos de uso ya construidos. La diferencia respecto a antes es que el ciclo de construir, mirar y refactorizar ahora dura minutos en lugar de días, porque la ejecución es de la IA. Lo que sigue siendo mío es mirar y decidir. | ||
| Línea 106: | Línea 106: | ||
| //Lorenzo González// | //Lorenzo González// | ||
| + | |||
| + | //Artículo redactado con IA a partir de mis propias experiencias.// | ||
cursos/sdd/opinion.1794183544.txt.gz · Última modificación: por claude
