DISCIPLINA 1
Una Excepción
Sacar a la luz | Avanzar | Resolver | Adoptar
Sacar a la luz
Nombro el caso que la regla no encaja, antes de que llegue
Avanzar
Doy al Ejecutor un camino a través, para que el silencio de la regla nunca lo deje varado
Resolver
Cierro el caso ante mí, manejado como la excepción que es
Adoptar
Pliego el caso que vuelve de regreso a las reglas, hasta que deja de ser una excepción
Una regla es cómo se cumple un requisito en el caso normal. Las Reglas tomaron una sola regla y la mostraron entera, cinco decisiones diseñadas como una, sólida cuando concuerdan. Pero una regla se construye para el caso normal, y no todo caso es normal. Tarde o temprano llega un caso que la regla no encaja, y el Ejecutor que lo encuentra no puede avanzar con la regla, porque para este caso la regla no tiene nada que decir. Ese caso es una excepción, y este volumen trata de él: cómo se encuentra, cómo se lleva al Ejecutor a través de él, y cómo, con el tiempo, se hace desaparecer.
Empieza por lo que la excepción no es. No es una regla rota, ni una regla mal hecha. Una regla sólida, diseñada con todo cuidado, aun así encuentra casos para los que no fue construida, porque ninguna regla puede prever toda forma que el trabajo tomará. La excepción no es un fallo de la regla; es su borde, el lugar donde el caso normal termina y empieza algo que la regla no anticipó. Así que la existencia de excepciones no es señal de mal diseño. Todo diseño tiene bordes. Lo que separa el buen diseño del malo no es si las excepciones existen, sino si el Ejecutor que encuentra una queda varado o es llevado a través, y si a la excepción se le permite repetirse para siempre o se diseña para que desaparezca.
El Ejecutor está en el centro de esto, y vale ser claro sobre por qué. Cuando un caso que la regla no encaja llega al Ejecutor, está atascado de una manera particular: el trabajo no puede continuar, y nada le dice qué hacer. Puede adivinar, y arriesgarse a hacer daño. Puede quedarse en silencio, y dejar al cliente a oscuras. O puede tomar un camino a seguir que el diseño preparó de antemano. Todo este volumen es el esfuerzo del diseñador por asegurar que ese tercer camino siempre exista, que cuando la regla calle, el diseño no lo haga. Una excepción es, antes y después de todo, un momento en que una persona necesita saber qué hacer, y el diseño ya debe haber respondido.
El estándar más alto posible es tratar cada excepción como un caso que la regla no encaja y una persona que necesita un camino a través, ni un defecto del que avergonzarse ni una rareza que ignorar, sino un borde del diseño a prever, manejar y, con el tiempo, eliminar.
Conclusión clave: Una regla se construye para el caso normal, y no todo caso es normal; el caso que la regla no encaja es una excepción, donde el Ejecutor no puede avanzar porque la regla no tiene nada que decir. Una excepción no es una regla rota sino el borde de una, el lugar donde el caso normal termina; todo diseño tiene bordes, y lo que separa el bueno del malo no es si las excepciones existen sino si el Ejecutor queda varado o es llevado a través, y si la excepción se repite para siempre o se diseña para que desaparezca. En su centro una excepción es una persona que necesita saber qué hacer, y el diseño ya debe haber respondido.
Una excepción es un caso que la regla no encaja, y un Ejecutor que necesita un camino a través donde la regla ha callado.
MarvinPro · PROCESS · Aquí es Cómo Construir · Diseño · Excepciones · Disciplina 1: Una Excepción · Sección: El caso que la regla no encaja
MarvinPro | Junho 2026
marvinpro.com
Pregunta qué es una excepción, y la mayoría de las respuestas vienen del mundo de los sistemas. Allí, una excepción es un fallo, un error lanzado cuando un programa encuentra un estado que no puede manejar, capturado y gestionado por una maquinaria construida para ello. La palabra carga ese peso: algo ha ido mal, ha sonado una alarma, un gestor debe capturarlo. Este es un sentido verdadero de la palabra, y no es el sentido que este libro quiere decir. La excepción aquí no es un error en una máquina. Es un caso en el trabajo que la regla no anticipó, encontrado por una persona, no por un programa.
Así que deja de lado el sentido de la máquina y toma el más llano. Una excepción es una respuesta diseñada a una condición definida bajo la cual la regla normal no aplica, un caso donde la regla se descarta intencionadamente, se cumple de otra manera, o se lleva a alguien que pueda decidir. La condición es lo que marca el caso como excepcional, este no es el caso normal, la regla no encaja aquí. La respuesta es lo que el diseño hace al respecto. Y por debajo, en la mayoría de las excepciones, el requisito sigue en pie. El cliente aún debe ser informado, el registro aún debe estar bien; solo que la regla normal para cumplir el requisito no encaja en este caso, así que el requisito se cumple de otra manera. De vez en cuando un requisito se descarta deliberadamente para un caso definido, al cliente que pidió no ser contactado, correctamente, no se le contacta, pero mucho más a menudo el requisito sobrevive y la excepción es simplemente un camino distinto al mismo fin.
Por esto una excepción se diseña, no se improvisa. La máquina del mundo captura un error después de ser lanzado; el diseñador, en cambio, prevé el caso antes de que llegue y construye la respuesta de antemano. Una excepción, en este libro, no es algo que te ocurre. Es algo que diseñas, una respuesta preparada a un caso que sabías que podía venir, para que cuando venga, el Ejecutor no quede a inventar una respuesta en el momento. La diferencia entre una excepción capturada y una excepción diseñada es la diferencia entre un proceso que se las arregla y un proceso que fue construido para sostenerse.
El estándar más alto posible es entender por excepción no el error de una máquina capturado después del hecho, sino una respuesta diseñada a un caso previsto que la regla no encaja, preparada de antemano para que el requisito aún se cumpla y el Ejecutor nunca quede a improvisar.
Conclusión clave: El sentido común de excepción viene de los sistemas, un fallo lanzado y capturado por una maquinaria; este libro quiere decir otra cosa, un caso en el trabajo que la regla no anticipó, encontrado por una persona. Una excepción es una respuesta diseñada a una condición definida bajo la cual la regla normal no aplica: la condición marca el caso como no normal, la respuesta es lo que el diseño hace, y por debajo el requisito suele seguir en pie y se cumple de otra manera, aunque de vez en cuando se descarta deliberadamente. La excepción se diseña de antemano, no se improvisa en el momento, la diferencia entre un proceso que se las arregla y uno construido para sostenerse.
Una excepción no es el error de una máquina capturado después del hecho, sino una respuesta diseñada a un caso previsto que la regla no encaja.
MarvinPro · PROCESS · Aquí es Cómo Construir · Diseño · Excepciones · Disciplina 1: Una Excepción · Sección: Lo que el mundo llama una excepción, y lo que es
MarvinPro | Junho 2026
marvinpro.com
Hay una tentación, habiendo aprendido a manejar bien las excepciones, de enorgullecerse de cuántas se pueden manejar. Resístela. La medida de un diseño no es cuán ricamente maneja excepciones sino cuán pocas tiene. Cada excepción es un lugar al que las reglas no llegaron, un caso que el diseño normal no logró cubrir. Manejarla bien es necesario, el Ejecutor debe ser llevado a través, pero manejar es una reparación, no un triunfo. Un proceso cargado de excepciones es un proceso cuyas reglas están incompletas, por muy elegantemente que cada excepción se gestione.
Así que este volumen sostiene dos fines a la vez, y el segundo gobierna al primero. El primer fin es manejar: cuando llega una excepción, dar al Ejecutor un camino sancionado a seguir, nunca varado. El segundo fin es eliminar: diseñar la excepción para que desaparezca, de modo que con el tiempo el trabajo necesite cada vez menos de ellas. No están en tensión; son una secuencia. Manejas la excepción hoy porque está aquí y el Ejecutor necesita un camino a través. La eliminas mañana plegando el caso recurrente de vuelta a las reglas, para que deje de ser una excepción del todo. Un buen diseñador hace ambas, y nunca confunde la primera con el trabajo entero. Manejar una excepción y dejarla en pie para siempre es gestionar una fuga en vez de repararla.
Este es el hilo que recorre cada disciplina que sigue. Cuando sacas una excepción a la luz, estás encontrando un vacío en las reglas. Cuando das al Ejecutor un camino a seguir, estás manejando ese vacío con cuidado. Y cuando pliegas el caso recurrente de vuelta a las reglas, estás cerrando el vacío, para que la excepción no se necesite más. El fin, sostenido firmemente desde el primer qué pasaría si hasta el último pliegue, es un diseño con tan pocas excepciones como sea posible, donde casi cada caso que el trabajo encuentra es, una vez más, un caso que las reglas ya encajan.
El estándar más alto posible es sostener, a través de todo el trabajo que sigue, que manejar bien una excepción es necesario pero nunca el objetivo, y que el objetivo es siempre un diseño con tan pocas excepciones como sea posible, cada recurrente plegada de vuelta a las reglas.
Conclusión clave: La medida de un diseño no es cuán ricamente maneja excepciones sino cuán pocas tiene; cada excepción es un lugar al que las reglas no llegaron, y manejarla es una reparación, no un triunfo. El volumen sostiene dos fines, y el segundo gobierna al primero: maneja la excepción hoy, porque el Ejecutor necesita un camino a través, y elimínala mañana, plegando el caso recurrente de vuelta a las reglas para que deje de ser una excepción. Manejar una excepción y dejarla en pie para siempre es gestionar una fuga en vez de repararla.
Manejar bien una excepción es necesario pero nunca el objetivo; el objetivo es un diseño con tan pocas excepciones como sea posible.
MarvinPro · PROCESS · Aquí es Cómo Construir · Diseño · Excepciones · Disciplina 1: Una Excepción · Sección: Tan pocas como sea posible
MarvinPro | Junho 2026
marvinpro.com
Vuelve a la empresa de software, a través de la lente de la excepción. La mayor parte de lo que el Ejecutor encuentra es una incidencia conocida: un problema que la empresa ha visto antes, con una plantilla lista y un camino a seguir escrito. La regla encaja, y el Ejecutor avanza. Este es el caso normal, y la mayoría de los casos son normales, lo cual es el diseño funcionando como debe.
La excepción es la incidencia desconocida, el problema sin plantilla, porque nadie aún lo entiende lo bastante para escribir una. Aquí la regla no encaja. El Ejecutor se enfrenta a un cliente con un problema y no tiene nada escrito que enviar, ninguna instrucción que seguir. No puede avanzar con la regla, porque para este caso no hay regla. Y esto no es una regla rota ni una descuidada; es el borde de un diseño sólido, el lugar donde lo conocido termina y empieza algo nuevo. Ningún conjunto de plantillas, por completo que sea, podría haber previsto cada problema que el software podría algún día producir. La incidencia desconocida es el borde del diseño, y encontrarla no es un fallo sino una inevitabilidad.
Lo que separa este diseño de uno pobre es lo que ocurre después. El Ejecutor no queda a inventar una respuesta ni a caer en silencio. Un camino a seguir se construyó de antemano, la vía de escalado, que lleva el caso a quienes pueden trabajarlo, con actualizaciones moldeadas para mantener al cliente informado mientras tanto. Y la excepción no dura: una vez que el problema se entiende y se resuelve, se convierte en una guía de resolución y plantillas, y lo desconocido se vuelve conocido, plegado de vuelta a las reglas para que el próximo Ejecutor simplemente avance. La excepción se maneja hoy y se elimina mañana. Eso es todo este volumen, visto en un caso: un Ejecutor llevado a través del borde del diseño, y el borde mismo, con el tiempo, diseñado para desaparecer.
Una excepción es el borde de un diseño sólido, un caso que la regla aún no encaja, encontrado con un camino a seguir hoy y plegado en las reglas mañana.
MarvinPro · PROCESS · Aquí es Cómo Construir · Diseño · Excepciones · Disciplina 1: Una Excepción · Un ejemplo real
MarvinPro | Junho 2026
marvinpro.com
Una regla es cómo se cumple un requisito en el caso normal, pero no todo caso es normal. El caso que la regla no encaja es una excepción, y el Ejecutor que lo encuentra no puede avanzar con la regla, porque para este caso la regla no tiene nada que decir. Una excepción no es una regla rota ni una descuidada; es el borde de un diseño sólido, el lugar donde el caso normal termina y empieza algo que la regla no anticipó. Todo diseño tiene bordes, así que la existencia de excepciones no es vergüenza alguna. Lo que separa el buen diseño del malo es si el Ejecutor que encuentra una es llevado a través o queda varado, y si a la excepción se le permite repetirse para siempre o se diseña para que desaparezca.
El sentido común de la palabra en el mundo viene de los sistemas, un fallo lanzado y capturado por una maquinaria. Este libro quiere decir otra cosa: un caso en el trabajo que la regla no anticipó, encontrado por una persona. Una excepción, aquí, es una respuesta diseñada a una condición definida bajo la cual la regla normal no aplica, la regla descartada intencionadamente, cumplida de otra manera, o llevada a alguien que pueda decidir. La condición marca el caso como no normal; la respuesta es lo que el diseño hace al respecto; y por debajo, en la mayoría de las excepciones, el requisito sigue en pie y simplemente se cumple de otra manera, aunque de vez en cuando se descarta deliberadamente. La excepción se diseña de antemano, no se improvisa en el momento, una respuesta preparada a un caso que sabías que podía venir.
Y el objetivo, sostenido desde la primera disciplina hasta la última, es necesitar tan pocas como sea posible. La medida de un diseño no es cuán ricamente maneja excepciones sino cuán pocas tiene, porque cada excepción es un lugar al que las reglas no llegaron. Así que el volumen sostiene dos fines, el segundo gobernando al primero: maneja la excepción hoy, para que el Ejecutor nunca quede varado, y elimínala mañana, plegando el caso recurrente de vuelta a las reglas hasta que deje de ser una excepción. Manejar una excepción y dejarla en pie para siempre es gestionar una fuga en vez de repararla.
Esto es lo que las disciplinas que siguen construirán. Sacarás excepciones a la luz preguntando a los Ejecutores sus qué pasaría si, mucho antes de que el trabajo entre en funcionamiento. Las triarás, incorporando lo que puedas y aparcando honestamente el resto. Darás al Ejecutor un camino a seguir, escrito donde se pueda y escalado donde se deba. Y plegarás las recurrentes de vuelta a las reglas, hasta que el trabajo, una vez más, encuentre casi cada caso con una regla que encaja. Una excepción es un caso que la regla no encaja y una persona que necesita un camino a través; la tarea del diseñador es ver que el camino a través esté siempre ahí, y que la excepción, al final, no lo esté.
Una excepción es un caso que la regla no encaja y un Ejecutor que necesita un camino a través; el diseño debe responder donde la regla calló, y luego cerrar el vacío para que no calle más.
MarvinPro · PROCESS · Aquí es Cómo Construir · Diseño · Excepciones · Disciplina 1: Una Excepción · Resultado del Capítulo
MarvinPro | Junho 2026
marvinpro.com
Piensa Simple.