❯ cat /work/enterprise-crm-modernization.case
Modernización de CRM Enterprise
WinForms legacy + stored procedures → .NET Web API + React, para una gran empresa logística de EE.UU.
stack: .NET · C# · React · SQL Server · LINQ · Azure DevOps · LaunchDarkly
situación
Una empresa logística de EE.UU. opera su gestión de clientes sobre una aplicación WinForms con décadas de antigüedad, respaldada por cientos de stored procedures sin documentar. La lógica de negocio existe solo como comportamiento en producción: no hay especificaciones ni autores originales. El mandato: reconstruirla como una plataforma moderna .NET Web API + React sin regresar un solo flujo del que depende el negocio.
evidencia
- Exhibit 1
- 6+ releases trimestrales
cadencia sostenida de entrega con ownership de punta a punta: diseño SQL, API, UI en React, soporte de releases
- Exhibit 2
- timeouts visibles al usuario
pantallas críticas de clientes expiraban con datasets grandes antes de optimizar queries y endpoints
- Exhibit 3
- capa de servicios fragmentada
capas de auth redundantes y payloads en base64 acumulados tras años de servicios parchados
diagnóstico
El riesgo nunca fue el stack nuevo: fue el drift silencioso de comportamiento. Los stored procedures legacy codificaban reglas de negocio que nadie podía enumerar. Cada módulo migrado necesitaba que su comportamiento legacy fuera reverse-engineered, caracterizado y probado como equivalente antes de poder retirar la versión WinForms.
intervención
- 01
Ingeniería inversa de stored procedures sin documentar y reconstrucción de módulos de gestión de clientes (workflows de aprobación, clasificación, pantallas de facturación y pagos) como APIs .NET + React, con paridad de funcionalidad.
- 02
Lideré la migración de stored procedures a LINQ y consolidé servicios fragmentados en una sola experience API, eliminando capas de auth redundantes y overhead de base64.
- 03
Optimicé SQL y endpoints de producción: pantallas críticas pasaron de timeouts visibles al usuario a respuestas sub-segundo; resolví fallas recurrentes de cold-start y paginación en datasets grandes.
- 04
Líder de soporte de release en ciclos trimestrales: cola de incidentes de producción, cherry-picks de hotfixes a ramas de release, coordinación de aprobación de cambios.
- 05
Construí servidores MCP a la medida (Python + Playwright) que extraen tickets del ITSM y generan artefactos de change management, recortando horas de papeleo por ciclo de release.
- 06
Definí una metodología forense de investigación en 6 fases (data-first, refutación obligatoria) que hoy se usa para diagnosticar y documentar incidentes de producción.
resultado · verificado
- Exhibit 1
- < 1s
tiempo de respuesta en pantallas críticas que antes expiraban
- Exhibit 2
- 0 regresiones
flujos legacy reemplazados con paridad a lo largo de releases
- Exhibit 3
- horas/release
ahorradas con papeleo de change management automatizado vía MCP
- Exhibit 4
- ratio de defectos estable
a lo largo de releases con revisión obligatoria por pares + IA
Identificadores del cliente e internos reservados bajo NDA. Alcance y resultados tal como aparecen publicados en mi CV.