Tools
Taiga and GitHub, set up properly from day one
They are the two tools checked at every delivery. Set them up well at the start and you will save work (and points) for the whole course.
Taiga, step by step
- Create the project with the Scrum template (PES does not use Kanban) and make it public.
- Add every member in Settings → Members.
- Modules (Settings → Project → Modules): turn on Epics, Scrum, Issues and Wiki. Under Scrum, set 3 expected sprints and, if you have it, the total points.
- Attributes (Settings → Attributes): statuses, points, priorities, types and tags, as you like. The custom fields are required, though.
- Epics: identify a few, each with its own colour.
- Product backlog: each story uses the As a… I want… so that… template, is linked to an epic (required), has points and has numbered acceptance criteria (1., 2., 3.). In the product backlog the criteria may still be empty.
- Sort the backlog by priority.
- Sprint: Add sprint with its dates, drag the stories in and open the Sprint taskboard.
- Tasks: inside each story, with estimated hours (Estimated Effort), assigned as they get picked up.
- Close tasks by dragging them to Closed and fill in the actual hours (Actual Effort). When every task is closed, the story closes itself and the burndown updates.
Required custom fields
Settings → Attributes → Custom fields.
| Where | Field | Type |
|---|---|---|
| User story | Priority | Dropdown: Low, Medium, High |
| User story | Acceptance Criteria | Rich text |
| Task | Estimated Effort | Number (hours) |
| Task | Actual Effort | Number (hours) |
You can add more if they help, but explain them in the documentation.
Recommendations
- Set the number of sprints and the expected points so that Taiga draws the backlog chart properly.
- Customise story and task statuses to match your definition of done.
- Integrations (GitHub, webhooks) and plugins are optional: try them once the project is running.
How to hand in Taiga at each Fag
The teachers do not grade the project you work on every day, but a frozen copy of how it looked at the end of the sprint.
- When the sprint ends, Settings → Project → Export: a copy of the project is downloaded.
- New project → Import project → Taiga with that copy, with a name that says which sprint it is (e.g. BiciVerda sprint 1).
- Share the restored project with the teachers.
- Never touch it again: delivered projects must stay unchanged. Keep working on the original.
Before exporting
GitHub, step by step
- Your lab group's organisation already exists and follows the pattern
pes2627q1-<group>-gei-upc(e.g.pes2627q1-11-gei-upc). Ask your teacher to add every member. - Create the repository inside the organisation (New repository). Public or private, as you prefer.
- Add the team: Settings → Collaborators → Add people, with the Write, Maintain or Admin role.
- One person creates the project locally with the framework's command (
flutter create,npm create vite,django-admin startproject...) and pushes it. - Everyone else clones it and you can start working on branches.
If the tool already created the .git folder:
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
If there is no .git folder:
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
The rest of the team:
git clone https://github.com/pes2627q1-11-gei-upc/bici-verda-app.git
cd bici-verda-app
git switch -c feature/34-sign-up
Replace the group and the repository name with yours.
Try it
Commit message checker
Every commit must carry the Taiga task id, and everyone should commit often and evenly, even when you code in pairs. Type a message and see which rules it follows.
Gitflow or GitHub Flow?
Pick one, write it down in the project report and stick to it. Both work for PES.
Gitflow
main holds delivered versions, develop is for integration, plus feature/*, release/* and hotfix/* branches. It fits planned deliveries such as sprint ends.
GitHub Flow
Only main and short branches: create the branch, commit, open a pull request, get a review, test and merge. Ideal if you have continuous integration and deployment.