Auditoría de Deuda Técnica — LeadFlow

SaaS B2B · Automatización de ventas · Stack Python/FastAPI + React · 6 devs

En análisis activo
Generado: 12 jun 2026
Items de deuda
122
en 3 archivos escaneados
↑ +18 vs. baseline ene.
Alta prioridad
3
complejidad crítica
Sin critical severity
Esfuerzo estimado
1.251
horas totales de remediación
≈ 94 sprints al ritmo actual
Impacto velocidad
-40%
caída dev velocity
↓ Reduciría a -12% en 3 sprints
Densidad deuda
40.7
items / 100 líneas
↑ Alta — acción urgente
🥧 Distribución por prioridad
122 items
Alta severidad 3 (2.5%)
Media severidad 78 (63.9%)
Baja severidad 41 (33.6%)
📊 Deuda por categoría
Código duplicado
68
Sin docstrings
22
TODO comments
17
Rutas hardcoded
5
Alta complejidad
3
Funciones largas
2
Muchos parámetros
2
Catch vacío / líneas largas
3
💊 Health score (histórico)
87.3
/ 100 — Tendencia: mejorando ↑
81.8
Calidad
72.7
Mantenibilidad
38.2
Riesgo técnico
0
Score actual
🎯 Backlog priorizado — Top 10 items (framework WSJF)
ID Tipo Archivo Descripción Severidad Score WSJF Esfuerzo (h) Coste de demora/día Tags
DEBT-0001 alta complejidad payment_processor.py Función process_payment con ciclomatic complexity 28 Alta
9.8
32 h € 18.4 blocker-salesforce
DEBT-0002 alta complejidad user_service.py handle_user_auth con 6 bloques if anidados Alta
9.4
24 h € 14.2 blocker-salesforce
DEBT-0003 alta complejidad frontend.js renderLeadCard() — 4 callbacks asíncronos sin manejo de errores Alta
8.7
18 h € 11.6 quick-refactor
DEBT-0004 rutas hardcoded payment_processor.py /var/www/leadflow/uploads hardcoded en línea 47 Media
7.1
4 h € 5.8 quick-win
DEBT-0055 código duplicado frontend.js Bloque duplicado en 2 archivos — línea 99 Media
6.9
15 h € 4.8 quick-win
DEBT-0008 sin docstring user_service.py 22 funciones públicas sin documentación Media
6.3
11 h € 3.1 onboarding-impact
DEBT-0022 TODO comment payment_processor.py TODO: validar webhook Stripe antes de launch — sin ticket Media
5.8
8 h € 4.2 blocker-salesforce
DEBT-0034 catch vacío frontend.js except: pass en llamada a API de scoring Media
5.6
3 h € 3.9 quick-win
DEBT-0041 función larga user_service.py sync_leads_to_crm() — 312 líneas, violación SRP Media
4.9
20 h € 2.8 srp-violation
DEBT-0060 muchos params user_service.py create_lead(name, email, phone, src, score, tags, owner, pipeline) — 8 params Baja
3.2
6 h € 1.4 refactor
🏃 Plan de sprint — próximas 3 iteraciones
Sprint 1 — Estabilización crítica 20 pts · 74 h
DEBT-0001 proceso pago DEBT-0002 auth user DEBT-0022 TODO Stripe
Deuda crítica eliminada
0% → 100%
Sprint 2 — Quick wins alto impacto 20 pts · 40 h
DEBT-0003 frontend async DEBT-0004 rutas config DEBT-0034 catch vacío DEBT-0055 deduplicar
Reducción densidad
40.7 → 32 items/100L
Sprint 3 — Documentación + refactor 20 pts · 37 h
DEBT-0008 docstrings DEBT-0041 sync_leads split DEBT-0060 create_lead DTO
Mantenibilidad
72.7 → 85+
📈 Tendencias (ene→feb)
Health score
+3.7 ↑
Densidad deuda
-0.31 ↑
Impacto velocidad
-2.9% ↑
Riesgo técnico
-47.5 ↑
Calidad código
-3.9 ↓
Pronóstico a 30 días
Health score: 91.0/100
Densidad: 0.5 items/archivo
Impacto velocidad: 9.4% (vs. actual -40%)
💡 Recomendaciones clave
🔴
Bloqueo lanzamiento Salesforce
3 items críticos en payment_processor y user_service deben resolverse antes de la integración enterprise. Riesgo reputacional alto.
68 duplicados = ganancia inmediata
El 55.7% de los items son código duplicado. Un refactor de extracción de helpers reduciría la deuda a la mitad en 1 sprint.
📝
17 TODOs sin ticket de Jira
Convertir TODOs a issues antes del sprint de integraciones. Incluye validación crítica del webhook de Stripe.
📋
Añadir deuda al DoD
Incluir "sin nuevos items high severity" en la Definition of Done para no acumular más deuda de aquí al lanzamiento.