Herramientas
Taiga y GitHub, bien configurados desde el primer día
Son las dos herramientas que se miran en cada entrega. Si las configuráis bien al principio, os ahorraréis trabajo (y puntos) durante todo el curso.
Taiga, paso a paso
- Cread el proyecto con la plantilla Scrum (en PES no se usa la Kanban) y marcadlo como público.
- Añadid a todos los miembros en Settings → Members.
- Módulos (Settings → Project → Modules): activad Epics, Scrum, Issues y Wiki. En Scrum, poned 3 sprints esperados y, si lo tenéis, el total de puntos.
- Atributos (Settings → Attributes): estados, puntos, prioridades, tipos y tags, como queráis. Los campos personalizados sí son obligatorios.
- Épicas: identificad unas cuantas, cada una con su color.
- Product backlog: cada historia con la plantilla Como… quiero… de manera que…, enlazada a una épica (obligatorio), con puntos y con los criterios de aceptación numerados (1., 2., 3.). En el product backlog los criterios todavía pueden estar vacíos.
- Ordenad el backlog por prioridad.
- Sprint: Add sprint con las fechas, arrastrad las historias y abrid el Sprint taskboard.
- Tareas: dentro de cada historia, con las horas estimadas (Estimated Effort) y asignadas a medida que se hacen.
- Cerrad las tareas arrastrándolas a Closed y rellenad las horas reales (Actual Effort). Cuando todas están cerradas, la historia se cierra sola y el burndown se actualiza.
Campos personalizados obligatorios
Settings → Attributes → Custom fields.
| Dónde | Campo | Tipo |
|---|---|---|
| User story | Priority | Dropdown: Low, Medium, High |
| User story | Acceptance Criteria | Rich text |
| Task | Estimated Effort | Number (horas) |
| Task | Actual Effort | Number (horas) |
Podéis añadir más si os son útiles, pero explicadlos en la documentación.
Recomendaciones
- Configurad el número de sprints y los puntos esperados: así Taiga dibuja bien el gráfico del backlog.
- Personalizad los estados de historias y tareas para que encajen con vuestra definición de hecho.
- Las integraciones (GitHub, webhooks) y los plugins son opcionales: probadlos cuando el proyecto ya funcione.
Cómo se entrega Taiga en cada Fag
Los profesores no corrigen el proyecto en el que trabajáis cada día, sino una copia congelada de cómo estaba al acabar el sprint.
- Al acabar el sprint, Settings → Project → Export: se descarga una copia del proyecto.
- New project → Import project → Taiga con esa copia, con un nombre que diga qué sprint es (p. ej. BiciVerda sprint 1).
- Compartid el proyecto restaurado con los profesores.
- No lo toquéis nunca más: los proyectos entregados tienen que quedar inmutables. Seguid trabajando en el original.
Antes de exportar
GitHub, paso a paso
- La organización de vuestro grupo ya existe y sigue el patrón
pes2627q1-<grupo>-gei-upc(p. ej.pes2627q1-11-gei-upc). Pedid a vuestro profesor que añada a todos los miembros. - Cread el repositorio dentro de la organización (New repository). Público o privado, como queráis.
- Añadid al equipo: Settings → Collaborators → Add people, con el rol Write, Maintain o Admin.
- Una persona crea el proyecto en local con el comando del framework (
flutter create,npm create vite,django-admin startproject...) y lo sube. - El resto lo clona y ya podéis trabajar en ramas.
Si la herramienta ya ha creado la carpeta .git:
cd bici-verda-app
git remote add origin https://github.com/pes2627q1-11-gei-upc/bici-verda-app.git
git branch -M main
git push -u origin main
Si no hay carpeta .git:
cd bici-verda-app
echo "# bici-verda-app" >> README.md
git init
git add README.md
git commit -m "First commit"
git branch -M main
git remote add origin https://github.com/pes2627q1-11-gei-upc/bici-verda-app.git
git push -u origin main
El resto del equipo:
git clone https://github.com/pes2627q1-11-gei-upc/bici-verda-app.git
cd bici-verda-app
git switch -c feature/34-registro
Cambiad el grupo y el nombre del repositorio por los vuestros.
Pruébalo
Revisor de mensajes de commit
Cada commit tiene que llevar el identificador de la tarea de Taiga, y todo el mundo tiene que hacer commits a menudo y de forma equilibrada, aunque programéis en pareja. Escribid un mensaje y mirad qué reglas cumple.
¿Gitflow o GitHub Flow?
Elegid uno, escribidlo en la memoria y seguidlo. Los dos funcionan en PES.
Gitflow
main con las versiones entregadas, develop para integrar, y ramas feature/*, release/* y hotfix/*. Encaja con entregas planificadas como los finales de sprint.
GitHub Flow
Solo main y ramas cortas: cread la rama, haced commits, abrid una pull request, recibid revisión, probad y fusionad. Ideal si tenéis integración y despliegue continuos.