Proyecto principal · Automatización interna

Workforce Planner

Sistema web desarrollado durante mi etapa como becario en NTT Data para centralizar y estandarizar la gestión de ausencias, jornadas, solicitudes, rentabilidad y auditoría entre NTT Data y BBVA.

Impacto principal

Una gestión única, trazable y preparada para escalar.

01Estandarización nacional

Base común para unificar la gestión interna dentro de NTT Data España, evitando que cada jefe de proyecto trabaje con su propio Excel, criterios distintos y cálculos manuales.

02Entrada única de solicitudes

Vacaciones, bajas legales, bajas médicas, formaciones y eliminaciones de ausencia se canalizan mediante formularios, sustituyendo mensajes dispersos por WhatsApp, Teams, correo o conversaciones informales.

03Proceso trazable y auditable

Cada solicitud puede aprobarse o rechazarse, el calendario se actualiza de forma controlada, las horas se recalculan y las acciones quedan registradas en auditoría.

Contexto y valor de negocio

Problema planteado

Antes del proyecto, cada jefe de proyecto podía trabajar con su propio Excel, sus propios cálculos y su propia forma de organizar ausencias, jornadas y rentabilidades. Esto generaba diferencias de criterio, duplicidad de trabajo, poca trazabilidad y riesgo de errores en horas planificadas, ausentes y trabajadas.

Además, las solicitudes internas llegaban por demasiadas vías: WhatsApp, Teams, correo, conversación directa o mensajes informales. El resultado era un proceso difícil de controlar, con información repartida y dependiente de revisiones manuales.

Solución construida

Workforce Planner centraliza la entrada de información mediante formularios y convierte las solicitudes en un flujo estructurado: el trabajador solicita, el administrador revisa, aprueba o rechaza, y el calendario se actualiza de forma controlada.

La herramienta unifica vacaciones, bajas legales, bajas médicas, horas de formación y eliminación de ausencias ya registradas. También permite editar jornadas manualmente para casos excepcionales, separar NTT Data y BBVA, exportar datos a Excel, consultar rentabilidades y revisar un histórico de acciones.

La solución sustituye una gestión fragmentada basada en hojas de cálculo y comunicaciones dispersas por una aplicación común, mantenible y preparada para crecer.

Flujo operativo

FormularioEl trabajador solicita añadir o eliminar una ausencia.
AprobaciónEl administrador valida o rechaza desde el panel de solicitudes.
CalendarioLa ausencia se aplica sobre jornadas NTT Data, BBVA o ambas.
RentabilidadLas horas trabajadas alimentan costes, ingresos y márgenes.
AuditoríaLas acciones quedan registradas para trazabilidad interna.

Demo funcional

Demo del producto: recorrido completo por el flujo principal, desde la solicitud del trabajador hasta la aprobación administrativa, la actualización del calendario, el cálculo de rentabilidad y el registro en auditoría.

Arquitectura y funcionalidades

Modelo de datos

El sistema se apoya en modelos relacionales para trabajadores, asignaciones por empresa, jornadas laborales diarias, ausencias, solicitudes de aprobación, festivos, tarifas de rentabilidad y logs de auditoría.

Jornadas persistidas

Cada trabajador tiene jornadas generadas por día, empresa y año. Cada jornada almacena horas planificadas, horas ausentes, horas trabajadas, tipo de ausencia, comentario y marcas de edición manual.

Reglas de negocio

Las horas trabajadas se calculan restando horas ausentes a horas planificadas. Las vacaciones se aplican como jornada completa y la formación se imputa a una empresa concreta para evitar ambigüedades.

Dos empresas a la vez

Un trabajador puede estar asignado a NTT Data, BBVA o ambas. La aplicación mantiene calendarios, horas y resúmenes separados para evitar mezclar imputaciones y facilitar el análisis por contexto.

Control administrativo

El administrador puede aprobar solicitudes, editar jornadas manualmente, añadir trabajadores, importar festivos, exportar Excel, consultar rentabilidades y revisar la auditoría.

Exportación y compatibilidad

La exportación a Excel permite mantener compatibilidad con procesos tradicionales sin depender de hojas de cálculo como fuente principal de verdad.

Mi rol, stack y privacidad

Mi rol

Desarrollé el proyecto completo: análisis del proceso, diseño funcional, modelado de datos, backend, frontend, lógica de negocio, validaciones, cálculo de horas, sistema de aprobación, calendario visual, rentabilidades, auditoría, exportación a Excel y preparación con Docker.

También tomé decisiones de producto: diferenciar trabajador y administrador, simplificar la entrada de solicitudes, separar NTT Data y BBVA, estructurar el calendario por empresa y conectar la operación diaria con métricas económicas.

Stack

Backend: FastAPI, Python, Pydantic, SQLAlchemy, SQLite.

Frontend: HTML, CSS, JavaScript.

Exportación: OpenPyXL para generación de archivos Excel.

Infraestructura: Docker, docker-compose y variables de entorno.

Limitaciones y privacidad. El proyecto se presenta en portfolio con datos ficticios o anonimizados. En un entorno productivo sería recomendable reforzar autenticación, roles, permisos granulares, cifrado de credenciales, gestión de secretos, CORS, expiración de sesión y migración de SQLite a una base de datos más robusta como PostgreSQL.