Arquitectura de softwareLa noche del examen fue evidencia, no una garantía — NovaCommerce 5
Dos exámenes reales, un error al reducir nodos y un modelo útil. La revisión final separa observaciones, extrapolación, costes y pruebas pendientes.
Una interfaz nueva puede esconder un error de negocio. Descubre riesgos reales, conserva las reglas correctas y migra una capacidad con autoridad clara sobre los datos.
Autor
Anichur Rahaman

La nueva pantalla de devoluciones se ve mejor. Entonces calcula USD 60 donde la factura original admite USD 54: alguien reconstruyó el precio y olvidó repartir el descuento original. Es un ejemplo didáctico, no un cliente real. La parte difícil suele ser la regla que nadie creyó necesario mencionar.
No se trata de conservar todo comportamiento antiguo ni sustituir cada componente. Se trata de operar y cambiar con más seguridad. Parte de evidencia del riesgo actual, acuerda las reglas deseadas y transfiere una responsabilidad acotada sin crear dos verdades competidoras.
Un sistema antiguo soportado y probado puede ser más fácil de cambiar que uno reciente sin documentación. Pregunta qué no puedes hacer de forma fiable: restaurar pedidos, corregir facturas, revocar accesos, conciliar proveedores o publicar sin cierto contratista. Son capacidades a investigar, no prueba de que todo sistema viejo deba sustituirse.
Comprueba soporte de las versiones exactas de runtime, framework, plugins y despliegue. La tabla actual de PHP ofrece un ejemplo: al 5 de noviembre de 2026, PHP 8.2 mantiene soporte de seguridad hasta el 31 de diciembre de 2026, aunque terminó el activo. No recibir correcciones ordinarias, no tener soporte upstream y disponer de soporte comercial son hechos distintos. Runtime soportado tampoco certifica seguridad de la aplicación.
Reúne operaciones, finanzas y mantenimiento. Para cada riesgo registra escenario, evidencia, proceso/datos afectados, controles actuales, impacto, probabilidad y horizonte estimados, confianza, responsable y acción. Lo desconocido pide investigación, no probabilidad inventada. Un compromiso activo confirmado puede exigir contención inmediata, no esperar al trimestre siguiente.
NIST recomienda valorar riesgo con sus incertidumbres. Puedes usar categorías consistentes o una escala 1–5 de priorización, pero multiplicar puntuaciones ordinales no produce probabilidades ni pérdida monetaria. Una celda roja no predice el próximo incidente. No existe un umbral universal de 15 que determine lo que cualquier negocio debe resolver este trimestre.
| Riesgo | Evidencia que revisar | Acción útil |
|---|---|---|
| Soporte | Versiones, fechas del proveedor y parches | Plan aprobado de actualización/soporte |
| Dependencia personal | ¿Otra persona restaura y publica? | Ensayo real con runbook |
| Pruebas débiles | Recorridos críticos exitosos y fallidos | Reglas previstas y regresiones |
| Escrituras sin fronteras | Scripts, tablas, triggers y responsables | Un dueño y frontera controlada |
| Control/seguridad | Credenciales, alcance, sesiones y denegaciones | Contener exposición y verificar controles |
| Datos contradictorios | IDs, saldos y autoridad de origen | Conciliar valores y definir dueño |
| Integraciones frágiles | Lag, reintentos, efectos desconocidos y alertas | Recuperación limitada con responsable |
| Límite de capacidad | Esperas bajo demanda representativa | Resolver restricción demostrada |
| Privacidad/auditoría | Acceso, eventos y retención aplicable | Documentar alcance, dueño y recuperación |
| Salida/licencias | Exportaciones, adjuntos y contrato | Ensayar exportación utilizable y dependencias |
Conserva y opera capacidades sanas con riesgo aceptable. Actualiza por una ruta soportada, refactoriza una frontera, sustituye tras comprobar encaje o retira trabajo innecesario. Cambiar plataforma puede mejorar soporte y arrastrar los mismos defectos comerciales. Comprar módulos estándar no demuestra que impuestos, inventario, nómina, exportación e integraciones encajen.
Una sustitución completa acotada puede ser sensata en un sistema pequeño y comprendido, con corte ensayado. Una reescritura grande acumula reglas ocultas y feedback tardío. Ni “las reescrituras suelen fallar” ni “lo incremental siempre gana” es una estadística universal defendible. Compara convivencia, plazos, equipo, acceso a datos y recuperación.
Usa pedidos representativos, pagos fallidos, devoluciones, entregas parciales, redondeos, zonas horarias y límites de permisos. Los tests de caracterización muestran cambios respecto al comportamiento actual; el responsable comercial distingue reglas válidas de errores existentes. Una corrección intencional necesita resultado esperado acordado, no promesa de copiar el error para siempre.
Pedido ilustrativo: dos unidades a USD 50 antes de impuestos, descuento de USD 10 repartido por igual, sin envío ni otros cargos e impuesto supuesto del 20% sobre el neto descontado. Neto 90 + impuesto 18 = pagado 108. Según la regla proporcional acordada, devolver una unidad es neto 45 + impuesto 9 =USD 54. Precio completo con impuesto sería USD 60,USD 6 de más bajo estos supuestos. Verifica asignación, redondeo y obligaciones fiscales reales; no es una fórmula universal.
Una comparación en sombra utiliza cálculos seguros o fixtures protegidos. No envíes el mismo reembolso, movimiento de stock, nómina o reserva de mensajería reales a los dos sistemas. Desactiva efectos externos antes de reproducir entradas. Llamar “test” a la pantalla no hace seguro ejecutarlas dos veces.
El patrón Strangler Fig sustituye responsabilidades acotadas mientras continúa el resto. Una fachada de routing puede ser una frontera, no una obligación de crear microservicios. Puede bastar una aplicación modular, adaptador o integración existente. Revisa disponibilidad, rendimiento y seguridad de la fachada: otro gateway también puede fallar.
Elige una frontera valiosa, con dependencias comprendidas y relevo recuperable. Stock y pedidos pueden estar muy acoplados y ser malas primeras opciones. Define identificadores, autoridad, significado de campos, transiciones y quién escribe cada hecho en cada etapa. Una capa anticorrupción traduce modelos; no exime de control de acceso.
La autorización debe seguir en el registro y acción reales. Mantén empresa/tienda, campos restringidos, atribución de auditoría e identidad de servicio por ambos caminos. Una feature flag selecciona ruta: no concede permiso ni revierte automáticamente datos nuevos.
Si puedes modificar la transacción antigua, un outbox transaccional guarda cambio comercial e intención de publicación juntos. El relay puede repetir, retrasar o desordenar; consumidores necesitan identidad estable de evento/operación, deduplicación segura, reglas de versión/orden y conciliación. No convierte dos bases o un reembolso externo en una sola transacción atómica.
Si no puedes añadirlo, evalúa API, exportación o captura de cambios soportadas y sus límites. Cambios de tablas no explican automáticamente su significado comercial. Define snapshot inicial, recuperación del desfase, borrados, correcciones históricas, schema y paradas. Vigila lag y fallos; usa reintentos acotados con espera progresiva, aísla mensajes problemáticos y asigna pendientes en vez de repetir eternamente. Protege payloads sensibles dentro del alcance autorizado.
Antes de cambiar autoridad, concilia IDs, valores reales, saldos, estados y referencias externas en un checkpoint definido, no solo totales de filas. Prueba motor real y restricciones similares a producción. Verifica denegaciones, eventos repetidos/desordenados, importaciones interrumpidas, dependencias ausentes y backups restaurados. Scripts de migración/datos de referencia deben repetirse sin sobrescribir decisiones del usuario.
En el corte, detén o coordina escrituras antiguas, captura/vacía cambios hasta la frontera, alcanza el estado acordado, valida y habilita al nuevo dueño. Observa resultados y excepciones en una cohorte limitada cuando sea seguro. Que una pantalla devuelva 200 no prueba coherencia del libro, stock y pagos. Compara latencia, errores y esfuerzo manual de conciliación antes y después, además de resultados. Da errores legibles y localizados sin exponer detalles internos; un resultado externo desconocido no debe convertirse en falso fallo seguido de una acción duplicada.
Si el nuevo sistema aceptó escrituras, volver a la ruta antigua puede abandonarlas en otra base o repetir efectos. Recuperar puede exigir sincronización inversa probada, reparación hacia delante o pausa/conciliación, no solo cambiar una flag. Define estado compatible, responsable, criterios de parada y tratamiento de acciones externas ya completadas. Consulta la guía de despliegue seguro.

Busca informes, jobs, webhooks, scripts de proveedores, soporte, credenciales, licencias y lectores históricos. Conserva solo datos/software necesarios para fines operativos, contractuales y legales aplicables, con acceso controlado y recuperación verificada. No guardes todo dato personal para siempre ni borres automáticamente toda evidencia financiera al recibir una petición. Confirma retención, privacidad y términos de salida.
StoreConsole puede evaluarse como candidato. Comprueba versión exacta, módulos activos, contratos de integración, herramientas de migración, permisos y recuperación en piloto. La lista de módulos no demuestra adopción independiente ni controles completos. El video existente es demostración, no certificación de que cada módulo registra toda acción, exige segundo factor o cierra riesgos desde el primer día.
Acuerda un periodo corto de descubrimiento, no una transformación universal de 30 días. Entrega registro con responsables, evidencia de recuperación, ejemplos de reglas críticas y piloto acotado con aceptación y recuperación. Contén exposición urgente primero. La primera migración puede esperar si dependencias o calidad de datos siguen sin entenderse.
Vuelve al reembolso de USD 54. El valor no es que la nueva pantalla copie la vieja: la regla de descuento está escrita, la cuenta comprobada, solo un sistema emite el reembolso y alguien autorizado sigue el resultado real. Esa es una base más sólida para el siguiente cambio.
Revisado el 5 de noviembre de 2026. Anichur Rahaman es el creador de StoreConsole. Escenas de reembolso/migración ilustrativas, sin resultados de clientes ni plazos universales.
Sobre el autor
Anichur Rahaman
Seguir Leyendo