Un'appendice pratica: come configurare e usare Taskwarrior nello scenario reale di chi fattura a ore, gestisce più clienti in parallelo, vive di richieste che arrivano via mail e Slack, e ha bisogno di sapere a fine mese dove sono andate le sue ore. Cinque scenari concreti più un setup di partenza.
Prima dei task, l'impalcatura: come strutturare progetti, contesti, UDA e tag in modo che il sistema rispecchi davvero il modo in cui lavori.
Le scelte sotto sono una proposta concreta, non un dogma. L'idea è darti una base ragionevole su cui partire e che puoi raffinare nelle settimane successive.
Progetti — uno per cliente, sottoprogetti per ingaggio. Il punto come separatore gerarchico ti permette di filtrare a qualsiasi livello.
Contesti — separare lavoro retribuito da tutto il resto. Due contesti bastano. Eventualmente un terzo per la vita personale.
UDA — i campi che ti servono davvero come freelance. Tre UDA cambiano l'esperienza:
Tag operativi. Pochi, ma usati con disciplina:
+bug · +feature · +chore — categorie di sviluppo
+blocca-fattura — non posso fatturare il mese finché questo non chiude
+attesa-cliente — è in mano al cliente, non a te
+quick-win — fattibile in meno di 15 minuti
Hai appena firmato un'offerta per un sito vetrina a 6 sezioni. 40 ore preventivate, 45 €/h, consegna tra 4 settimane. Come la fai entrare in Taskwarrior in modo che si "gestisca da sola"?
Risultato: in due minuti hai un progetto pienamente strutturato. Le ore
preventivate (estimate) ti permetteranno di confrontarle col
tempo reale tracciato da Timewarrior (vedi scenario 3). I tag e i
kind ti permetteranno di sezionare il consuntivo
("quante ore di design vs dev su questo ingaggio?").
Promemoria amministrativi del progetto. Aggiungi anche i task non operativi ma fondamentali:
Il wait: qui è fondamentale: la fattura di saldo non deve
comparire nelle viste prima del deploy, e la richiesta di testimonial deve
spuntare automaticamente una settimana dopo. Hai appena creato tre
promemoria che arriveranno da soli al momento giusto.
Un cliente ti scrive che il form di contatto non invia. Hai bisogno di catturare in 5 secondi, senza perdere il flusso, e di poter riprendere il task quando avrai finito quello in corso.
Il pattern: cattura subito, classifica dopo. Una riga e via.
Adesso un alias di shell dedicato a questa cattura per ridurre l'attrito
a zero. Aggiungilo a .zshrc o .bashrc:
Il triage al ritorno. Quando finisci il task in corso, rivedi i bug accumulati e decidi quando attaccarli:
La domanda più importante per chi fattura a ore. Con l'integrazione Taskwarrior + Timewarrior, la risposta è un comando.
Prerequisito: aver installato Timewarrior e copiato l'hook ufficiale
on-modify.timewarrior in ~/.task/hooks/ (vedi
lezione 10). Da quel momento ogni task start avvia anche il
timer.
Report di fine mese per cliente. Timewarrior eredita automaticamente tag e progetto dal task, quindi puoi interrogarlo per cliente:
Confronto stima vs consuntivo. Una piccola query Taskwarrior + un calcolo: per ogni task chiuso ti dice quanto avevi stimato. L'ora reale la prendi da Timewarrior. Dopo 3-4 progetti vedrai un pattern, e potrai correggere le stime future di un coefficiente realistico (di solito tra 1.4× e 2× per chi inizia).
Hai inviato le mockup, hai chiesto l'OK al cliente, e adesso che cosa? Il follow-up è la zona grigia che fa morire la metà dei progetti freelance.
Il pattern: ogni volta che la palla passa al cliente, crei subito un task
di follow-up con wait: sulla data in cui ricomincerai a
rompergli le scatole se non risponde.
Un report dedicato ai task che stagnano. Aggiungi questo
al .taskrc:
Vedere "14 giorni" vicino a un task è il momento in cui decidi se insistere, sollecitare per telefono, o mettere il progetto in pausa ufficialmente. La cosa importante è che non te ne dimentichi.
Due abitudini brevi cambiano completamente la sensazione di controllo sui progetti. Una review chiude la settimana, un plan la apre.
Venerdì — review. Cosa è stato chiuso? Cosa è in ritardo? Cosa si è insabbiato?
Lunedì — plan. Una "morning view" pensata per un freelance: cosa è già scaduto (panico controllato), cosa devo fare oggi, cosa ho in attesa di risposta, e i prossimi 3 task per urgenza.
Quattro blocchi, tre minuti di lettura, e sai esattamente come deve essere costruita la giornata. È poco, ma fatto ogni lunedì cambia letteralmente quanto bene riesci a tenere insieme tre o quattro clienti in parallelo senza che nessuno si senta abbandonato.
I cinque scenari coprono il 90% della giornata di un freelance che sviluppa per il web: onboarding, cattura veloce, tracking del tempo, follow-up clienti, rito settimanale. Tutto il resto sono varianti.
Non importa quanto sia raffinato il setup il primo giorno. Importa che parta — e che ogni mese aggiungi una piccola cosa: un alias che ti serviva, un report che ti faceva comodo, un hook che ti toglie un click. In sei mesi avrai uno strumento che sembra costruito sulla tua testa, perché lo è.