08
Lezione otto · ~30 min

Dipendenze e contesti

Due meccanismi che separano un sistema di task "elenco" da un sistema di task "operativo": il grafo delle dipendenze e i contesti che ti aiutano a non distrarti.

Teoria

Grafi di dipendenze e ambiti di lavoro

Un task può dipendere da uno o più altri task. Finché i "predecessori" non sono completati, il task è in stato BLOCKED (tag virtuale) e non appare in task ready. È il modo per rappresentare "non posso fare X finché non ho fatto Y".

I contesti sono filtri impliciti applicati globalmente finché non li disattivi. Una volta attivato il contesto work, ogni task list filtra automaticamente solo i task di lavoro. Cambi contesto, cambi vista: lavoro al mattino, personale la sera, viaggio durante il weekend.

Insieme, dipendenze e contesti trasformano la to-do list in qualcosa più simile a un sistema operativo della tua attenzione: vedi solo quello che è pertinente, quando è pertinente, e nell'ordine in cui è eseguibile.

Pratica

Costruire un workflow reale

~/dipendenze
# Tre task di un piccolo progetto $task add "Progettare API" project:app # → 10 $task add "Implementare backend" project:app # → 11 $task add "Test integrazione" project:app # → 12 # Implementazione dipende dalla progettazione $task 11 modify depends:10 # Il test dipende dall'implementazione $task 12 modify depends:11 # task ready mostra solo i task eseguibili adesso $task ready 10 Progettare API # 11 e 12 sono BLOCKED, nascosti

Ora i contesti:

~/contesti
# Definire due contesti $task context define work project:lavoro or project:app $task context define home project:casa or project:famiglia # Attivare il contesto lavoro $task context work Context 'work' set. Use 'task context none' to remove. # Adesso ogni comando filtra automaticamente $task list # vede solo i task di lavoro # A fine giornata cambi contesto $task context home # O lo disattivi $task context none
Trucco

Disegna le dipendenze come uno scrum master, non come un programmatore

Le dipendenze sono potentissime ma seducenti: c'è la tentazione di "modellare la realtà" creando catene complesse. Resisti. La regola che funziona davvero: usa depends: solo quando il task B è veramente impossibile prima di A, non quando è semplicemente più comodo farli in quell'ordine.

Se ogni cosa dipende da ogni cosa, finisci con grafi ingestibili che nascondono task che potresti tranquillamente fare. Meglio sequenze brevi (2-3 task) e parallele che catene lineari di 10. task ready diventerà uno dei tuoi report preferiti: ti dice esattamente cosa puoi attaccare adesso, senza pensare.