18.07.2018

Lo Sviluppo Software e l'arte del Viaggio con la Bicicletta

18.07.2018

Lo Sviluppo Software e l'arte del Viaggio con la Bicicletta

Come ultimo evento prima della pausa estiva nel nostro user group Trevigiano MUG abbiamo voluto proporre un intervento un po' fuori dagli schemi, più ricreativo e informale, con un retrogusto filosofico. "Lo Sviluppo Software e l'arte del Viaggio con la Bicicletta", previsto per il prossimo venerdì 20 luglio 2018 (qui i biglietti su eventbrite), sarà prima di tutto una serata in compagnia dove ci godremo la bellissima ciclabile sul fiume Sile. Il talk si terrà all'aperto sulle panchine del porto di Casier in pieno accordo con lo spirito e il contenuto del talk.

La domanda della serata è: "cosa accomuna cose così diverse come una lunga avventura in bicicletta e lo scrivere codice?" Niente in apparenza. Vivendoli insieme da qualche anno non ho potuto fare a meno di maturare la convinzione che viaggiare in bici non significa semplicemente pedalare: sei costretto a ripensare la tua bici, il tuo equipaggiamento e la tua strategia, per ogni viaggio, in funzione della tua meta. Inoltre tutte queste cose vengono quotidianamente rimesse in discussione da un cambiamento imprevisto (tempo atmosferico, guasti, etc etc). Da entrambi i lati c'è una tecnologia (bici e codice) da adattare a un contesto complesso e delle scelte da fare per raggiungere un obiettivo. Insomma  è senza dubbio un parallelismo calzante.

Durante il talk offrirò una serie di principi e ragionamenti che ho maturato viaggiando in bici e che riguardano quel contesto ma che, nella mia esperienza, hanno migliorato la figura professionale di sviluppatore. I temi non saranno ovviamente tecnici ma riguarderanno la pianificazione, la gestione degli imprevisti e la decisionalità. Tutti temi comunque impattanti sullo sviluppo software. 

L'intervento si basa su 5 principi che spiegherò in maniera approfondita durante il talk ma che espongo in anteprima. Ognuno di essi nasce non solo dalla mia esperienza diretta ma anche dalla discussione con altre persone e dalla lettura di racconti altrui.

 

1. Conosci la tua bici

La bici "giusta" in viaggio è la bici di cui ho piena consapevolezza. Piena consapevolezza significa che quando ho un problema meccanico sono in grado di identificarlo, capendo quale o quali componenti hanno problemi e risolvendo tutto in autonomia. Per quanto sia costosa e fashion, la vostra bici non vi servirà a nulla se è rotta e non sapete ripararla. In questo senso una scelta di componenti più "semplice" aiuterà ad avere sempre la situazione meccanica sotto il controllo e a superare indenni la maggior parte dei problemi. Questo è uno dei motivi per cui chi viaggia in bici opta spesso per scegliere uno ad uno i componenti, piuttosto che comprare un modello out-of-the-shelf. Questo principio sulla consapevolezza nelle scelte tecnologiche ha contribuito a stimolare i ragionamenti fatti sul frameworkless movement.

2. Non riempire la bici di paure

"Don’t pack for your fears" è uno degli assiomi che si imparano per primi. Ogni accessorio che metto sulla mia bici e non uso è uno spreco e un peso inutile di cui mi pentirò amaramente. Scegliere cosa portare o non portare è la chiave di ogni viaggio in bici. Ogni cosa che ti porti dietro è insieme un debito che dovrai ripagare con la fatica e un investimento perché ti potrà togliere dai guai. Occorre non fare assunzioni o congetture su quello che serve. Se non si è sicuri al 100% dell'utilità di uno strumento, lo si deve lasciare a casa. Questo principio assomiglia molto allo YAGNI nel mondo dello sviluppo.

3. Pianifica il "fallimento"

Per viaggiare è indispensabile avere un piano (traccia gpx sul proprio navigatore con altimetrie e kilometraggi, conoscenza dei posti attraversati dove si protrà rifornirsi). Il piano si fa con le informazioni che si hanno per poi adattarlo non appena le condizioni mutano (tempo atmosferico e guasti meccanici cambiano spesso le carte in tavola). Ovviamente è più difficile cambiare il piano quando si sta pedalando, poca lucidità e connessioni incerte non aiutano. È più facile farlo quando abbiamo già raggiunto un posto sicuro vicino a una zona antropizzata e non abbiamo guai meccanici da risolvere. È importante quindi che il nostro piano di viaggio non tenga conto solo del best case ma anche di uno o più fall back a cui fare riferimento se le cose non dovessero andare per il verso giusto. Se siamo nel mezzo di una vigna ma sappiamo che tra meno di 10km c’è un posto dove rifornirsi e fermarsi per qualche ora, possiamo fermarci e spendere 3 ore per riparare la bici evitando che il viaggio prenda pieghe poco desiderabili.

4. Abbraccia l'incertezza

È complementare al terzo principio. Molto spesso mi sono creato falsi alibi: non faccio questo viaggio perché non sono abbastanza allenato, non ho il sacco a pelo abbastanza caldo, non ho l'esperienza, etc etc. Non c'è un momento migliore per fare qualcosa, quel momento è adesso. Se da un lato è giusto pianificare, dall'altro non si può pretendere di avere tutto sotto controllo, altrimenti non si farà mai niente. L'incertezza è una condizione che deve essere accettata da chi viaggia in bici tanto quanto da chi scrive codice. L'importante è isolare gli elementi di incertezza ed esserne consapevoli.

5. Il valore di confrontarsi con gli altri

Anche quando si parte da soli, non si può fare a meno di incontrare altre persone, viaggino esse in bici o meno. Parlare e condividere le proprie esperienze ha sempre un valore inestimabile. Una sfida complessa non è solo una questione di knowing ma anche e soprattutto di feeling. Il viaggio non è solo percorrere la traccia fino alla fine. Entrare in sintonia con altre persone, confrontandosi e aiutandosi, moltiplicherà il valore umano di quello che stato facendo e cambierà completamente la vostra prospettiva del viaggio (e anche quella degli altri) anche se il risultato all'atto pratico sarà lo stesso.

 

 

* foto nell'header di Andrea Bruschettini