Investigación aplicada · Itemlet

Una incidencia.
Tres lecturas útiles.

El laboratorio estima Story Points, sugiere una prioridad histórica y clasifica la complejidad del proceso. Cada resultado se acompaña de la evaluación que permite interpretarlo con cautela.

  • 727.280incidencias únicas
  • 108variables auditadas
  • 3modelos predictivos
Entrada analizada JOBLIB ACTIVO
DEV · Bug Fix login error when saving a form 34 caracteres
SP≈ 2.4Ridge
PRMediaSGD
CPMediaSGD

Ejemplo de lectura. La prueba interactiva utiliza los artefactos actuales.

01 · Recorrido

Cómo utilizar la aplicación

La prueba requiere tres datos disponibles antes de comenzar el trabajo. La longitud del título se calcula automáticamente.

  1. 01
    Describe la incidencia

    Escribe un título concreto, como se registraría en Jira. Evita palabras sueltas o información sensible.

  2. 02
    Busca proyecto y tipo

    El buscador muestra el nombre oficial del proyecto y conserva su clave de forma interna para los modelos.

  3. 03
    Ejecuta el análisis

    El servidor carga los archivos .joblib y entrega las tres salidas en una sola solicitud.

  4. 04
    Revisa la evidencia

    Contrasta la estimación con sus métricas. Las salidas apoyan una decisión; no sustituyen el criterio del equipo.

02 · Funcionamiento

De una incidencia a una decisión informada

La aplicación transforma los tres datos escritos en representaciones numéricas y ejecuta tres modelos especializados. Cada salida responde una pregunta distinta del proceso de planificación.

ENTRADASe describe la incidencia

El título, el proyecto y el tipo aportan el contexto disponible antes de iniciar el trabajo.

PREPARACIÓNSe transforma la información

TF-IDF representa el texto; la codificación categórica procesa proyecto y tipo; además se calcula la longitud.

INFERENCIASe ejecutan tres modelos

Los archivos joblib conservan exactamente las transformaciones y estimadores evaluados en los notebooks.

DECISIÓNSe interpretan las salidas

El equipo contrasta Story Points, prioridad y complejidad con las métricas y con su conocimiento del proyecto.

ESTIMACIÓN

Story Points

Para qué sirve: propone una primera medida de esfuerzo relativo para conversar durante la planificación.

Por qué importa: aporta un punto de partida uniforme y permite detectar tareas que necesitan dividirse o aclararse.

Se utiliza antes de comprometer una tarea con un sprint.
PRIORIZACIÓN

Prioridad histórica

Para qué sirve: sugiere qué incidencias requieren atención primero según patrones observados en Itemlet.

Por qué importa: ayuda a ordenar el trabajo pendiente cuando existen muchas solicitudes simultáneas.

Se revisa junto con impacto, urgencia y criterio del responsable.
CLASIFICACIÓN

Complejidad del proceso

Para qué sirve: identifica si el patrón histórico de una incidencia corresponde a complejidad baja, media o alta.

Por qué importa: permite anticipar revisión, coordinación o descomposición adicional antes de asignar el trabajo.

Describe el proceso registrado; no calcula complejidad del código fuente.
03 · Modelos

Qué calcula cada modelo

Los tres modelos utilizan texto con TF-IDF, variables categóricas codificadas y la longitud del título. Las métricas corresponden a conjuntos de prueba separados.

01Regresión

Story Points

Estima el esfuerzo relativo que puede asignarse a la incidencia durante la planificación.

Título + tipo + proyecto→TF-IDF + Ridge + log1p→Puntos
MAE conocido
1,88
R² conocido
0,412
Funciona mejor en historias pequeñas y medianas. Tiende a subestimar las grandes.
02Clasificación

Prioridad histórica

Sugiere urgente, alta, media o baja según patrones de incidencias ya registradas.

Título + tipo + proyecto→TF-IDF + SGD logístico→Nivel
Exactitud
74,2 %
F1 macro
63,3 %
La clase urgente es la más difícil. La prioridad final requiere revisión humana.
03Clasificación

Complejidad del proceso

Clasifica la incidencia como baja, media o alta según patrones históricos del proceso.

Título + tipo + proyecto→TF-IDF + SGD logístico→Nivel
Exactitud
54,1 %
F1 macro
53,6 %
No mide complejidad ciclomática ni examina el código fuente.
Resultado de control Horas registradas: mediana de 4 h

Se conserva como referencia académica. La regresión evaluada no supera esta regla simple y no se ofrece como predicción personalizada.

04 · Artefactos

Cómo utiliza la web los archivos joblib

Joblib permite guardar cada pipeline ya entrenado. La web carga esos artefactos y ejecuta inferencia; no vuelve a entrenar, no modifica el dataset y no cambia los parámetros evaluados.

NOTEBOOKS 07–09Entrenan y evalúan

Se ajustan las transformaciones TF-IDF, la codificación categórica y los estimadores con los conjuntos definidos.

ARTIFACTS/Guardan el pipeline

Cada archivo conserva el preprocesamiento y el modelo como una sola unidad reproducible.

MODELSERVICECarga una sola vez

El servidor usa joblib.load() cuando llega la primera solicitud y mantiene los modelos disponibles en memoria.

/API/PREDICTDevuelve resultados

predict() estima Story Points y clases; predict_proba() entrega la distribución de prioridad y complejidad.

modelo_regresion_story_points.joblib

Transforma la entrada y estima el esfuerzo relativo.

predict
modelo_clasificacion_prioridad.joblib

Clasifica la prioridad histórica y calcula probabilidades.

predict + predict_proba
modelo_clasificacion_complejidad.joblib

Clasifica la complejidad del proceso y calcula probabilidades.

predict + predict_proba
referencia_regresion_horas.joblib

Conserva la mediana de cuatro horas como control no predictivo.

referencia

Comprobando los artefactos disponibles…

FILA CONSTRUIDA POR LA APIissue_summary · issuetype_name · project_key · summary_length

Esta fila utiliza exactamente los nombres de variables esperados por los pipelines guardados.

05 · Inferencia

Prueba una incidencia

Los resultados se generan en el backend Python del equipo de demostración mediante los modelos exportados por los notebooks 07, 08 y 09.

ENTRADATodos los campos son obligatorios
34/500 caracteres · escribe al menos tres letras para buscar títulos reales de Itemlet
Se utiliza el diccionario de 204 proyectos publicado con Itemlet.
La opción elegida coincide con la etiqueta utilizada al entrenar.
Los resultados aparecerán aquí

Se mostrarán Story Points, prioridad, complejidad y las probabilidades de cada clasificación.

06 · Evidencia

Gráficos para interpretar el estudio

Cada visualización indica su población y propósito. Los filtros modifican solo los gráficos descriptivos; las métricas de prueba permanecen fijas.

Cargando resultados de los notebooks…
07 · Trazabilidad

De Itemlet a la página

La web no entrena ni altera los modelos. Consume los artefactos guardados después de evaluar cada experimento.

01Itemlet

727.282 filas y 108 variables originales.

02EDA

Nulos, anomalías, distribuciones y asociaciones.

03Modelado

Entrenamiento, validación, prueba y referencia.

04Joblib

Se guardan transformaciones y estimadores juntos.

05Web local

La interfaz consulta la API de Python, que carga los artefactos y devuelve las inferencias.

Dato ausente ≠ dato inventado

Las etiquetas faltantes no se rellenan. Cada objetivo utiliza solo las incidencias con una respuesta observada y válida.

Cobertura ≠ exactitud

La cobertura indica cuántas filas pueden participar. El acierto se mide en conjuntos de prueba independientes.

Probabilidad ≠ certeza

Las probabilidades expresan preferencia interna del clasificador. No garantizan que la decisión sea correcta.

Proyecto nuevo = mayor cautela

Los resultados disminuyen cuando la prueba contiene proyectos ausentes durante el entrenamiento.