Para Schneider Electric
Comprar certificados de energía renovable en grupo significa que decenas de empresas comprometen volumen contra un precio, en una ventana que cierra en una fecha. Diseñé y construí la consola que lo corre — incluidas las cinco formas en que puede salir mal.
Lo usan dos lados. EAC Control, el equipo de Schneider que crea la oportunidad, fija el precio techo, la comparte con organizaciones y cierra el trade. Y los buyers, equipos de compras corporativas que comprometen volumen y ven una versión anonimizada de la misma oportunidad. Antes de la consola, el precio se acordaba por mail y los volúmenes se seguían a mano.
La decisión: tratar el cierre del trade como el producto. No la navegación, no el catálogo — el cierre. Hay seis flujos enteros para eso: confirmar al precio mayorista, confirmar con reconciliación, target no alcanzado, cero órdenes, error, y cancelación. Eso no es diseño defensivo. Eso es la feature.
Solo sabés que hay seis desenlaces si sabés qué hace el sistema con la plata. El precio mayorista acordado puede diferir de la suma de las órdenes puestas. Una ventana puede cerrar bajo su target de MWh y aun así ser cerrable. Una ventana puede cerrar con cero órdenes. Y una cancelación significa emitir reembolsos a gente que ya pagó — por eso el buyer ve una razón escrita en la card, no un código de error.
La reconciliación es el nudo, y llegó última. Al momento de la orden el buyer paga contra un costo mayorista. Para la confirmación, el costo acordado con el proveedor puede ser menor. Entonces la pantalla pregunta si cambió y deja al operador ingresar la cifra final — restringida a ser igual o menor a lo que el buyer ya pagó, porque la única dirección legal de ese número es la que le debe plata al comprador. La pila se recalcula delante suyo y el campo responde en vivo.
Encontrarla tarde salió caro. La reconciliación no es una pantalla que enchufás: cambia lo que el paso de confirmación tiene permitido hacer, así que todo el flujo de cierre tuvo una segunda versión. Qué haría distinto: mapear la plata antes que las pantallas. Cada escenario que encontré tarde era una pregunta sobre qué le pasa a un pago, no sobre una UI.
El método fue flujo primero, literalmente. Cada sección del archivo abre con su diagrama de estados antes de una sola pantalla. Una máquina de estados no se diseña en prosa — la dibujás, y ahí aparecen los estados que te faltaban.
Qué no funcionó: el producto no llegó al volumen para el que se construyó. La consola hace lo que tiene que hacer — el cierre corre dentro del producto, los estados están cubiertos — pero la compra agregada de EACs nunca despegó a la escala que la justificaba. El craft está en el trabajo, no en el resultado, y prefiero decirlo así antes que maquillarlo.
Exelobaiza | Design Engineer