Gestor de equipo sobre Azure DevOps
Herramienta interna con la que el equipo gestiona capacidad, sprints y tareas, y crea tickets en Jira y Azure DevOps. FastAPI, Astro y Docker.
Problema
Azure DevOps no cubre el día a día del equipo: la capacidad real restando days off, el alta de tareas en lote, el sprint en una sola vista y el puente con Jira. El trabajo se iba a pestañas, a Excel y a copiar tickets a mano.
Solución
Una aplicación web —FastAPI y Astro/React, levantada con Docker— que habla con las APIs de Azure DevOps y de Jira: capacidad del equipo, grid de sprint, kanban, importación masiva, sync Jira→Azure y automatización de procesos.
Resultados
Azure DevOps y Jira
Integraciones
Día a día del equipo
Uso
Docker Compose
Entrega
Stack tecnológico
- Python
- Astro
- React
- Azure DevOps
- Jira
- Docker
- SQLite
- FastAPI
Herramienta interna que construí para el equipo: el tablero de Azure DevOps no bastaba para el día a día. Aquí se ve la capacidad real, se gestionan sprints y tareas, se dan de alta tickets en Jira y en Azure, y se automatizan procesos que antes eran copiar y pegar.
El repositorio es privado. Esta ficha cuenta lo que hace el producto, no el backlog de Proeduca.
Qué cubre
- Capacidad del equipo. Horas por integrante a partir de Azure DevOps, restando days off, no un número plano de horas/día.
- Sprint. Grid de tareas, kanban, backlog y panel de daily. Filtros de asignado, estado, Area Path y PBI padre.
- Alta de trabajo. Tareas individuales o en lote, PBIs desde cero, importación masiva desde Excel/CSV y actualización masiva.
- Jira ↔ Azure. Sync desde proyecto, dashboard o issue: preview, detección de conflictos y ejecución. También se pueden crear tickets en ambos lados.
- Procesos. Evidencias de cierre, despliegues ligados a tags, búsqueda global de work items y vault de secretos.
El backend es FastAPI; el frontend, Astro con islas React. Docker Compose la levanta en local sin instalar Python ni Node en la máquina.
Por qué existe al lado del caso de expedientes
El dominio de expedientes y títulos es el producto. Esta herramienta es cómo el equipo lo entrega: sin ella, capacidad, sprint y Jira viven en tres sitios distintos. Las dos fichas se leen juntas a propósito.
Galería
Qué aprendí
- → La capacidad que cuenta es la que resta los days off. Un número de horas/día sin calendario miente.
- → Jira Cloud no expone el filtro de un dashboard de forma estable: hay que resolverlo desde las propiedades de los gadgets.
- → Azure DevOps sigue siendo la fuente de verdad del trabajo del equipo. Lo local (evidencias, kanban personal) vive en SQLite a propósito, no al revés.
- → Una herramienta interna se sostiene si el equipo la abre cada sprint. El resto es inventario.