Rediseño del módulo de facturación con fecha límite fija
Un equipo de 6 desarrolladores mantiene un sistema de facturación con 14 años de antigüedad. El área fiscal exige que el 1 de octubre el sistema emita un nuevo complemento de pago; faltan 9 semanas. El módulo actual no tiene pruebas automatizadas y su única documentación es el código. El equipo propone reescribir el módulo completo en un framework moderno antes de octubre. En las últimas 3 iteraciones, el equipo entregó en promedio 60% de los puntos comprometidos porque cada cambio revela dependencias ocultas con otros 5 módulos. Dos desarrolladores son los únicos que entienden el cálculo de impuestos y ambos están asignados a tiempo completo al rediseño. El negocio no puede permitir que la facturación se detenga ni un día.
1. ¿Debe aprobarse la reescritura completa antes de la fecha límite? Justifica con los datos del caso y propón una alternativa de entrega.
Read the worked answer
No. La reescritura completa es incompatible con la fecha límite por tres razones cuantificables:
- Capacidad real vs. comprometida: el equipo entrega ~60% de lo comprometido, es decir, su velocidad efectiva es 0.6× su estimación. Planear 9 semanas de trabajo nuevo asumiendo 100% de capacidad repite el error que ya causó los incumplimientos.
- Riesgo concentrado: los 2 únicos expertos en impuestos estarían dedicados al rediseño, dejando sin respaldo el cálculo que sí debe salir el 1 de octubre.
- Dependencias ocultas: 5 módulos acoplados implican que una reescritura toca más superficie de la que se estimó; el descubrimiento tardío de dependencias es justo lo que explica el 60%.
Alternativa: entregar el complemento como una ruta delgada sobre el sistema actual (cambio mínimo en el punto de emisión, con pruebas de caracterización alrededor del cálculo de impuestos para congelar su comportamiento), y posponer la modernización a un esfuerzo posterior con presupuesto propio. Mantener a un experto en impuestos en el sistema legado y al otro en la ruta nueva reduce el riesgo de punto único de falla. La reescritura se justifica solo si se financia como proyecto separado con su propio calendario.
2. El equipo insiste en que sin reescribir, la deuda técnica hará imposible el siguiente cambio regulatorio. ¿Cómo estructurarías la decisión para atender ambos intereses sin comprometer la entrega de octubre?
Read the worked answer
Separar la decisión en dos horizontes con criterios distintos:
- Horizonte de octubre (obligatorio): alcance mínimo para cumplir la norma, con pruebas de caracterización que documenten el comportamiento actual del cálculo de impuestos. Esto convierte el código legado en algo medible y reduce el costo del siguiente cambio, aunque no lo modernice.
- Horizonte posterior (estratégico): un plan de modernización por estrangulamiento (strangler), extrayendo primero los módulos con menor acoplamiento y mayor dolor operativo, no el módulo fiscal. Cada extracción debe dejar el sistema funcionando y con pruebas.
Criterios de decisión explícitos: (a) ninguna reescritura avanza sin pruebas que la respalden; (b) los expertos en impuestos rotan, no se asignan en exclusiva; (c) la velocidad usada para planear es la observada (60%), no la ideal. Así se reconoce la deuda técnica como riesgo real sin apostar la obligación regulatoria a un proyecto de alto riesgo y plazo fijo.