Development: the recursion of tasks
Think of it like a game: killing the boss requires smaller tasks; each task, even smaller tasks. Work and development break down recursively — the same form at different scales (a fractal). Break it down until each piece has a clear “done”.
1. The recursion of work
Objetivo → Metas (SMART) → Épico (user story) → DoD (Dado/Quando/Então) → tarefa
Each level is a smaller objective with its own definition of done. Stop when the task has a binary DoD (done / not done). See Objectives and the board.
2. The recursion of development
The code history has the same tree:
Versão (release) → commits → diffs → linhas
Each commit is a task with a DoD (the criterion met). The type of commit tells the story — it’s what we write in the authentication study.
Conventional Commits — real examples from this universe
| Type | What it is | Example (from this project) |
|---|---|---|
feat | new feature | feat(i18n): espelho EN + seletor PT/EN |
feat | new feature | feat(quadro): kanban nativo com filtro por missão |
fix | fixes a bug | fix(i18n): links de PDF apontavam para /en/ (404) |
fix | fixes a bug | fix(quadro): pipe de wikilink quebrava a tabela |
docs | documentation | docs(diario): nota da reunião 25 jun |
chore | maintenance/config | chore(deploy): pipeline assemble+traduz+build |
SemVer — the ruler (MAJOR.MINOR.PATCH)
feat→ bumps MINOR (new capability, compatible).fix→ bumps PATCH (fix, compatible).- incompatible breaking change → bumps MAJOR.
The changelog (Changelog) is the readable projection of that history: Added (feats), Fixed (fixes), Changed, with a link to each commit. Conciseness = only what changes for the reader; completeness = nothing relevant left out.
3. Why this closes the method loop
The same recursion of method, in two languages:
| Work | Development |
|---|---|
| Objective (vision, broad) | MAJOR (the big change) |
| Goal / Epic (deliverable) | feat → MINOR |
| Adjustment / fix | fix → PATCH |
| DoD (Given/When/Then) | the tests/criteria that say the commit is ready |
Subjectivity lives in the objective’s metric; objectivity, in the commit’s DoD. Breaking things down well means going deep enough that “done” stops being an opinion and becomes a verification.