El flujo de software no es teatro de procesos
El flujo de software lleva cambios valiosos hasta su uso real sin dejarlos pudrirse en las colas del sistema de desar...
11 min de lectura
11.08.2026, Por Stephan Schwab
La mayoría conoce a Ward Cunningham por una gran invención: el wiki. Los desarrolladores de software quizá también lo conozcan por la deuda técnica, las tarjetas CRC, Extreme Programming y su firma en el Manifiesto Ágil. Esa lista lo hace parecer el prolífico autor de ideas inconexas. Pero no muestra el patrón. Cunningham encontraba una y otra vez formas de sacar la comprensión de la cabeza de un experto y llevarla a un medio que otras personas pudieran inspeccionar, cuestionar y mejorar. Las tarjetas hicieron del diseño de objetos una conversación. El wiki convirtió la publicación en un botón de editar, no en una cadena de permisos. La deuda técnica dio a desarrolladores y responsables del negocio un idioma común para hablar del coste de aprender. El trabajo en pareja y el diseño incremental convirtieron las decisiones en trabajo compartido, en pasos pequeños y reversibles. Nada de eso necesitó un gran programa de transformación. Redujo la distancia entre saber y cambiar. Ese sigue siendo el problema real dentro de muchas empresas. La digitalización, la automatización de flujos, el despliegue de IA y la modernización de procesos pueden venir disfrazados de negocio, pero se convierten en trabajo de software en cuanto las decisiones tienen que sobrevivir al contacto con sistemas y usuarios. El trabajo se atasca cuando la comprensión queda repartida entre tickets, departamentos, proveedores, presentaciones y la única persona que recuerda por qué existe esa parte extraña. La lección de Cunningham es contundente: si el conocimiento importa, no se limite a documentarlo después. Dé al equipo un medio compartido y barato en el que pueda cambiar mientras el trabajo sigue vivo. ¿Dónde vive la comprensión de su equipo y quién puede mejorarla?
A la historia del software le gustan las etiquetas limpias. Inventor del wiki. Creador de la metáfora de la deuda técnica. Creador de las tarjetas CRC. Colaborador de Extreme Programming. Firmante del Manifiesto Ágil.
Todo cierto. También un poco engañoso.
Lo interesante no es que una persona acumulara una lista impresionante de contribuciones. Lo interesante es que esas contribuciones atacan el mismo fallo una y otra vez: la comprensión importante queda atrapada. Se queda en la cabeza de un desarrollador, en un documento que nadie puede editar con seguridad, en un diagrama de arquitectura que ya está mintiendo sobre producción o en un informe de dirección pulido hasta que no sobrevive ninguna incertidumbre.
Cunningham eligió repetidamente otra forma. Haga sencillo el medio. Póngalo entre las personas. Déjelas cambiarlo mientras aún están aprendiendo. Mantenga bajo el coste de corregir.
Eso suena casi pintoresco en una industria fascinada ahora por plataformas, modelos operativos y sistemas de IA que prometen absorber el conocimiento de una organización. Pero la parte cara nunca fue almacenar. Era crear suficiente comprensión compartida para que las personas pudieran tomar la siguiente buena decisión.
En 1989, Cunningham y Kent Beck publicaron A Laboratory for Teaching Object-Oriented Thinking. El artículo presentó las tarjetas CRC: fichas corrientes que contienen el nombre de una clase, sus responsabilidades y sus colaboradores.
No había una suite de modelado. Ni administración de repositorios. Ni una vía de certificación. Una tarjeta no costaba casi nada, podía moverse sobre una mesa, reescribirse, dividirse, agruparse o descartarse sin convocar a un comité de dirección para que aprobara el rectángulo.
Esa simplicidad física importaba. Las tarjetas daban al equipo un vocabulario para hablar de un diseño sin ahogar la conversación en sintaxis. Las personas podían representar un escenario, tomar la tarjeta de un objeto, descubrir que tenía demasiadas responsabilidades y crear un colaborador cuando el diseño lo exigía. Lo desconocido se convertía en lugares vacíos sobre la mesa, no en omisiones embarazosas escondidas en un diagrama pulido.
El método también rechazaba una completitud imaginaria. Beck y Cunningham aconsejaban crear objetos en respuesta a las demandas presentes, no a necesidades futuras míticas. Esa única restricción elimina una cantidad heroica de teatro arquitectónico. Mantiene el diseño conectado con la evidencia y hace reversible la siguiente decisión.
Cunningham describió más tarde las sesiones de CRC como una forma de que las personas trabajaran juntas las decisiones de programación. Esa es la contribución más profunda. El resultado no era el montón de tarjetas. Era el modelo mental compartido que se producía al moverlas.
Cunningham empezó a programar WikiWikiWeb en 1994 y lo puso en línea en marzo de 1995 como parte del Portland Pattern Repository. El diseño era casi ofensivamente permisivo: visite una página, edítela en el navegador, cree un enlace y deje el material mejor de como lo encontró.
Los sistemas corporativos de conocimiento suelen funcionar al revés. Un grupo pequeño publica la verdad oficial. Todos los demás la consumen, detectan los errores, los sortean y al final crean una segunda verdad no oficial en el chat. Para cuando se actualiza el documento oficial, quienes hacen el trabajo ya han dejado de confiar en él.
El wiki redujo la distancia entre lector y autor. Trataba el conocimiento como algo que una comunidad mantiene, no como algo que una autoridad termina. Wikipedia volvió conocido ese modelo en todo el mundo, pero su valor dentro de los equipos de software es igual de importante. Los runbooks, las notas de diseño, los patrones, las decisiones y los descubrimientos operativos mejoran cuando quien encuentra el error puede corregirlo de inmediato.
Esa apertura no era descuido. Era una apuesta por que los cambios visibles y reversibles, junto con la participación activa, producen mejor conocimiento compartido que una cola de publicación. Muchas organizaciones aún prefieren la cola. Se siente controlada hasta que la página hermosamente controlada manda a alguien al interruptor equivocado en producción.
En su informe de experiencia de 1992 sobre el sistema de gestión de carteras WyCash, Cunningham describió un producto desarrollado mediante crecimiento incremental a partir de un prototipo funcional. Los clientes aprendían. El mercado cambiaba. Los desarrolladores revisaban repetidamente las partes maduras del sistema para que el código siguiera reflejando lo que ahora entendían.
La metáfora famosa aparece en ese contexto. Entregar código de primera vez puede acelerar el aprendizaje, como pedir prestado puede acelerar una inversión. El acuerdo solo sigue siendo sensato si el equipo reescribe pronto las partes inmaduras. Déjelas sin consolidar y cada cambio posterior pagará intereses en confusión, especialización y miedo.
La cultura de gestión ha destrozado desde entonces la expresión hasta convertirla en un sustantivo reconfortante. Cada duplicación, dependencia obsoleta, prueba ausente y módulo desagradable acaba en el cubo de deuda técnica. La etiqueta suena financieramente ilustrada, así que el backlog crece con aire de contabilidad responsable.
La versión de Cunningham era más incisiva. La deuda existe porque la implementación se adelantó a la comprensión. Pagarla significa cambiar el software para expresar lo que aprendió el equipo. Eso exige autoridad para volver al código, no solo un panel que calcule cuánto debería sentirse culpable cada cual.
La metáfora también dio a los responsables del negocio y a los desarrolladores un idioma que podían compartir. La velocidad ahora puede ser racional. Negarse a pagar por esa velocidad después no es velocidad. Es una decisión de hacer más difícil cada cambio futuro.
El trabajo de Cunningham con Beck y otros ayudó a dar forma a las prácticas y a la comunidad en torno a Extreme Programming. Ya había experimentado a parejas trabajando en una misma máquina Smalltalk, alternando el control, inspeccionando el mismo problema y tomando juntas decisiones importantes. La colaboración no era un ejercicio de moral. Era un camino de alta capacidad para el criterio.
El mismo patrón aparece en el diseño incremental, la refactorización, la propiedad colectiva, las pruebas automatizadas y la entrega frecuente. Mantenga pequeño el lote. Haga visible el estado actual. Deje que otra persona cuestione la decisión antes de que se endurezca y se vuelva folclore. Cambie el software cuando lo aprendido cambie el modelo.
En 2001, Cunningham se unió a otras dieciséis personas en Snowbird para firmar el Manifiesto para el Desarrollo Ágil de Software. Lo que siguió era previsible: un argumento a favor de las personas, la colaboración y el software funcional se convirtió en una industria de roles, ceremonias, diagramas de escalado y evaluaciones de madurez.
El propio trabajo de Ward es un antídoto útil contra esa deriva. Las tarjetas CRC eran valiosas mientras las personas las movían. Un wiki era valioso mientras las personas lo editaban. La deuda técnica era útil cuando los equipos la pagaban. XP importaba cuando el software llegaba a los usuarios y devolvía la realidad a la siguiente decisión.
Un ritual que ya no cambia el trabajo no es disciplina. Es escenografía.
Aquí es donde el trabajo de Cunningham deja de ser historia del software y se convierte en un problema de dirección.
Una empresa anuncia un proyecto de automatización de flujos. Operaciones conoce las excepciones. Finanzas sabe qué cifras deben cuadrar. Un proveedor conoce la plataforma. Los desarrolladores saben dónde se romperán las integraciones. La dirección conoce el resultado de negocio previsto. Todos tienen una pieza. Nadie posee la conversación que convierte esas piezas en un sistema.
La respuesta habitual son más traspasos. Los requisitos se recogen, normalizan, aprueban, convierten en tickets, implementan, prueban y demuestran. Cada etapa produce evidencia de que su propia etapa ocurrió. La comprensión compartida sigue sin existir.
Las herramientas de Cunningham sugieren una respuesta menos glamurosa: ponga a las personas y al modelo que evoluciona en el mismo lugar. Use un idioma que todos puedan cuestionar. Trabaje con escenarios concretos. Haga visibles las decisiones. Deje que la nueva evidencia cambie el modelo. Mantenga la implementación lo bastante cerca para que la conversación pueda convertirse en software funcional antes de que la memoria institucional edite las partes difíciles.
Por eso el flujo de software no es teatro de procesos. El flujo es el movimiento del aprendizaje a través de decisiones hasta producción. Un tablero lleno de tickets que se mueven puede coexistir perfectamente con conocimiento atrapado en silos.
Cunningham está estrechamente asociado con la disciplina de hacer lo más sencillo que pudiera funcionar. Como era previsible, el eslogan se usa a menudo para excusar un pensamiento superficial.
Su obra apunta en la dirección contraria. La simplicidad dejó espacio para la corrección. Las fichas podían cambiar porque eran baratas. Las páginas wiki podían mejorar porque editarlas era inmediato. El software incremental podía adaptarse porque el equipo consolidaba lo que aprendía. El trabajo en pareja funcionaba porque dos personas se mantenían sincronizadas en el punto de decisión.
El trabajo descuidado esconde complejidad y se la deja a otra persona. El trabajo sencillo expone la decisión esencial y elimina lo que impide al equipo revisarla de nuevo.
Esa distinción importa todavía más con el desarrollo asistido por IA. Generar una implementación plausible es barato. Construir confianza compartida en que expresa la regla de negocio correcta, encaja en el sistema circundante, sobrevive en producción y sigue siendo modificable no lo es. Una producción más rápida aumenta el valor de la vieja pregunta de Cunningham: ¿las personas responsables de este sistema todavía pueden entenderlo y mejorarlo juntas?
La lección duradera de Cunningham no es una herramienta. Los wikis pueden convertirse en cementerios. Las tarjetas pueden convertirse en accesorios de taller. Agile puede convertirse en el teatro de procesos que quería reemplazar. Incluso la deuda técnica puede convertirse en un eufemismo de rendición.
La lección es una prueba de diseño para la colaboración:
Cuando la respuesta es no, otra plataforma no rescatará a la organización. El cuello de botella es permiso, distancia o miedo disfrazado de proceso.
Ward Cunningham siguió haciendo más pequeños esos cuellos de botella. Una tarjeta sobre una mesa. Un enlace de editar en una página. Una metáfora que permitió a dos grupos hablar de la misma consecuencia. Dos desarrolladores en una máquina. Mecanismos pequeños, alcance enorme.
No solo ayudó a los equipos a gestionar el conocimiento. Mostró que la comprensión se vuelve valiosa cuando las personas pueden cambiarla juntas.
Cuénteme qué está pasando. Yo escucho, hago algunas preguntas prácticas y le devuelvo lo que veo: dónde puede estar el riesgo, qué puede estar bloqueando la entrega y qué parece valer la pena revisar después. Sin discurso comercial, sin compromiso. Confidencial y directo.
Iniciar una conversaciónUn desarrollador experimentado para tu equipo
Nuestro Developer Advocate programa código productivo con tu equipo, mejora el pipeline y acelera la entrega. 60-70% código, 30-40% coaching. Un compañero de equipo temporal que entrega desde el primer día.