«Me da paz mental» no es una respuesta válida

Sí, lo sé. Las últimas semanas te he pegado buena chapa con el tema de patrones de diseño, automatista.

Pero no te miento si te digo que le metí +20h. preparar esa formación en las últimas semanas. Tengo a Claude y a ChatGPT fritos iterando, afinando y peloteando ideas.

Así que cuando terminé el jueves el taller (casi tres horas y media salieron 🤯), les pasé la transcripción para que me dieran feedback.

Y ChatGPT me la devolvió en forma de bonito guantazo:

Touché, Chaty.

Este apunte se refiere a una pregunta que me hizo Marga, alumna de LVL2 en la academia, sobre cuándo usar o no sub-escenarios en Make y dónde están los límites.

Marga necesitaba un criterio que pudiera aplicar a sus automatizaciones. Y con «mi paz mental» tampoco podía hacer gran cosa.

Así que voy a intentar explicarlo mejor.

¿Qué es un subescenario en Make?

Por si estás fuera de juego: un subescenario en Make es una automatización que puede ser utilizada por otras automatizaciones.

Hay un escenario «padre» que llama a un escenario «hijo». En el escenario padre, eso se pinta como la pelotita central, con un «call a scenario»:

Y ese subescenario, tiene esta pinta:

¿Para qué usas un subescenario?

Para encargarle un trabajo concreto de manera sencilla. Le pasas unos datos, hace lo que tenga que hacer y, cuando lo necesitas, te devuelve un resultado.

Por ejemplo, lo de arriba: «Te doy la url de una imagen para que la subas a Slack y tú me devuelves el file_id de Slack listo para usar».

Dentro del subescenario puede puede haber búsquedas, comprobaciones, una tabla para traducir países y varias llamadas a una API. A quien lo utiliza le basta con conocer qué tiene que darle y qué va a recibir.

Hasta ahí, la definición. Lo interesante es lo que eso permite.

Cambiar una cosa en un único sitio.

En el taller enseñé dos automatizaciones que reciben pagos por caminos distintos, pero necesitan resolver prácticamente lo mismo: buscar o crear al cliente, preparar los productos y generar la factura.

Las dos llaman a las mismas piezas.

Si cambia la forma de buscar al cliente, actualizo esa pieza una vez. Me ahorro tener dos copias de la misma lógica y acordarme de tocar las dos.

Que hoy te acuerdas, lo sé. Dentro de ocho meses ya veremos.

(Aquí hay mucho automatista que prefiere lo de pan para hoy… y repito el escenario 3 veces si hace falta).

Entender el proceso sin abrir todas sus tripas.

Cuando vuelvo a una automatización, quiero poder leer algo parecido a:

Busca al cliente → prepara los productos → genera la factura.

Cada una de esas acciones puede llevar unos cuantos módulos por dentro. Tenerlas separadas me permite entender primero el proceso y entrar en el detalle de la parte que necesito revisar.

Eso también ayuda cuando la automatización la tiene que mantener otra persona.

Acotar lo que tengo que revisar cuando algo falla.

Si falla la generación de la factura, tengo una pieza concreta que recibe unos datos concretos y hace un trabajo concreto.

Puedo revisar qué recibió, qué hizo y dónde se atascó. Y, si está preparada para repetirse sin duplicar resultados, volver a ejecutar esa parte.

Separarla no resuelve los errores por arte de magia pero sí que me facilita (y MUCHO) trabajar con ellos.

Preparar un cambio que ya veo venir.

Uno de los subescenarios que enseñé tiene un solo módulo: enviar un mensaje por Slack. Uno. Lo tengo separado así porque lo llaman varias automatizaciones (unas 10) y porque es bastante probable que ese cliente cambie de herramienta de comunicación.

Cuando ocurra, prefiero cambiar el destino en una pieza a buscar todos los sitios donde habíamos puesto un módulo de Slack.

Ahí el tamaño del subescenario importa bastante poco. Lo que importa es dónde va a tocar hacer mantenimiento.

Todo esto tiene un precio, claro.

Más escenarios que localizar. Más historiales que revisar. Entradas y salidas que mantener claras. Más sitios entre los que moverte cuando estás investigando un fallo.

Por eso, poder separar algo en un subescenario no debería ser razón suficiente para hacerlo.

Si recibes un formulario y guardas una fila, llevártelo a tres subescenarios probablemente te añada más trabajo del que te quita.

Elige tu propia aventura

Antes de extraer una pieza, intenta terminar esta frase:
«La voy a separar porque así…».
A. …cambio esta regla una sola vez.
B. …puedo utilizarla desde varios procesos.
C. …entiendo mejor qué hace cada parte.
D. …puedo revisar y recuperar este trabajo por separado.

Si consigues concretarlo en una de estas, ya tienes una razón que puedes discutir y valorar. Si te salen 2 o más, subescenario de cabeza.

Visto así, ahora entiendo mejor de dónde sale mi «paz mental»: de tener menos sitios que tocar, menos lógica repetida y menos cosas que recordar.

La próxima vez que me salga esa respuesta, me tocará explicar también todo lo que viene detrás.

Hasta la siguiente, automatista
Santi 🫡

¿Tu primera vez por aquí?

Cada jueves envío un e-mail con un consejo accionable para mejorar tu relación con el tiempo y que puedas dedicárselo a lo que realmente importa.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *

Estás a punto de reservar tu plaza...

📩 ¿A qué e-mail te mando el acceso al curso?

Resumen de privacidad

Como la mayoría de sitios web, utilizamos cookies propias y de terceros para fines analíticos y para mostrarte publicidad personalizada o a partir de tus hábitos de navegación.
Por lo general, la información no lo identifica directamente, pero puede proporcionarte una experiencia web más personalizada. Ya que respetamos tu derecho a la privacidad, puedes escoger no permitirnos usar ciertas cookies. Sin embargo, el bloqueo de algunos tipos de cookies puede afectar tu experiencia en el sitio y los servicios que podemos ofrecer.
Para más información, puedes leer nuestra política de cookies.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Cookies analíticas

Estas cookies nos permiten contar las visitas y fuentes de circulación para poder medir y mejorar el desempeño de nuestro sitio. Nos ayudan a saber qué páginas son las más o menos populares, y ver cuántas personas visitan el sitio. Toda la información que recogen estas cookies es agregada y, por lo tanto, anónima.