L’arte di risolvere i problemi

Riccardo Tartaglia
weBeetle
Published in
4 min readAug 24, 2021

Ovvero come puoi semplificare la tua vita approcciando meglio ai problemi.

Parto da un concetto molto semplice: l’uomo gode nel trovare e risolvere problemi.

Sin dall'antichità la razza umana si è posta, e si pone, tantissime domande e, in buona percentuale, trova anche le risposte corrette (o le migliora nel tempo).

Lui risolve problemi, e anche tu

Sono stati proprio questo atteggiamento e questa attitudine che ci hanno permesso di evolvere e di continuare a sopravvivere migliorando, decadi dopo decadi, la nostra civiltà.

Siamo dei naturali risolutori di problemi.

Qui in weBeetle ogni giorno dobbiamo affrontare i problemi più disparati, dal trovare l’icona giusta per i nostri utenti fino al deploy di applicazioni a microservizi.

La prassi lavorativa richiede un confronto continuo e una buona capacità di immedesimazione, fattori che sono alla base del nostro modo di fare problem solving.

Insomma, di sicuro non ci annoiamo.

Ma come si “sopravvive” a questa mole di problemi? (contando anche quelli personali)

Condivido qui l’approccio ai problemi che negli anni ho sviluppato per affrontare quelli che ho nella mia vita privata e in parte anche sul lavoro.

Identifichiamo i problemi

A prescindere dalla complessità, ogni problema può essere catalogato sotto due macro-categorie:

  • Problemi evitabili
  • Problemi non evitabili

Analizziamoli in dettaglio

Problemi Evitabili

I problemi evitabili sono problemi che in realtà non hai ancora e che quindi non vanno risolti! Sono difficili da individuare e sono estremamente insidiosi.

Se stai cercando di risolvere un problema che non hai…beh…non hai un problema!

Non sto dicendo di non pianificare in anticipo, ma puoi evitare di risolvere problemi che non hai e che potrebbero metterti in difficoltà.

Ti faccio un esempio banale, ma che rispecchia una situazione analoga che ho visto nella vita reale:

Luca è un bravissimo sviluppatore, ha deciso di dare lezioni one-to-one ad altri sviluppatori facendosi pagare ad ore.

Decide di costruirsi così la propria piattaforma di video-conference.

Sono passati 2 mesi e la piattaforma di Luca non è ancora pronta! Mancano ancora molte cose ed è decisamente meno performante di soluzioni analoghe.

Alla fine Luca decide di abbandonare il progetto.

In sostanza, Luca aveva trovato una buona idea, ma non è riuscito a realizzarla per colpa di un problema evitabile.

Invece di crearsi la propria piattaforma di video-conference poteva impiegare dei servizi che avrebbero risolto egregiamente quel problema (Google Meet, Zoom, ecc…) e risparmiare 2 mesi di lavoro che avrebbe potuto impiegare per dare valore al suo business, come ad esempio elaborare un corso mirato alle esigenze dei suoi clienti.

Ha perso tempo per generare una soluzione ad un problema complesso che in realtà non aveva.

Evitare i problemi è meglio che risolverli.

Problemi non evitabili

Questa è la categoria più comune, quei problemi quotidiani che proprio non possiamo fare a meno di ignorare, quelli che se li lasci sotto il tappeto crescono sempre di più fino ad ingoiarti.

Ha ragione lui!

Quindi, di fronte a problemi di questa tipologia, dobbiamo per forza rimboccarci le maniche e capire come risolverli nella maniera corretta.

Ti faccio subito un esempio di come NON risolvere un problema

Luca (povero Luca!) deve ristrutturare un database di un cliente ed aumentarne le performance.

Luce deve decidere se impiegare 5 giorni lavorativi per ottimizzare le performance del database esistente o migrare ad una nuova tecnologia in 2 giorni che gli permetterebbe in maniera nativa un aumento di prestazioni e di avere una gestione del dato migliore.

Luca decide di effettuare la migrazione.

Dopo due giorni, il nuovo database ha un problema!

Luca non riesce a dare un supporto pro-attivo perché non conosce a fondo la nuova tecnologia e, quindi, tutto il sistema viene ripristinato alla versione precedente.

Luca aveva risolto il problema di performance attuando una soluzione valida.

Quello che però Luca non sapeva è che quando risolvi un problema, hai una soluzione che devi mantenere, un nuovo status quo.

Detto in parole povere, Luca ha scambiato un problema complesso con un problema molto più grande: la conoscenza di una tecnologia che ti permetta di manutenere la soluzione attuata.

Partendo dall'errore di Luca arriviamo quindi ad una metodologia valida per risolvere i problemi in maniera corretta.

Divide et impera

Dīvĭdĕ et ĭmpĕrā (letteralmente «dividi e comanda») è una locuzione latina secondo cui il migliore espediente di un’autorità qualsiasi per controllare e governare un popolo è dividerlo, provocando rivalità e fomentando discordie.

In informatica però, il termine è più strettamente riconducibile a un algoritmo che divide ricorsivamente un problema in due o più sotto-problemi fin quando questi ultimi diventino di semplice risoluzione.

Logicamente nella vita reale non possiamo applicare al 100% questo paradigma informatico, ma possiamo avvicinarci appropriandoci di un atteggiamento di questo tipo.

L’obiettivo finale è che i nuovi problemi che devi affrontare siano più facili/economici da risolvere rispetto a quelli che avevi prima.

Elimina i grandi problemi in cambio di problemi più piccoli

Conclusioni

Ci sono innumerevoli esempi di strategie per l'eliminazione dei problemi nel corso della storia e in ogni settore che hanno portato la nostra civiltà al raggiungimento di vette sempre più alte.

Ad esempio, Tesla per risolvere il problema dei costi elevati per produrre una sua automobile ha attuato una stampa 3D di tutti i suoi pezzi! (https://new3dworld.altervista.org/tesla-usa-stampanti-3d-per-la-scocca/)

La sfida più grande è fare in modo che la nostra eliminazione dei problemi non crei problemi più grandi.

Se ci riesci, puoi migliorare drasticamente le cose per te stesso e anche per tutti coloro a cui piace ciò che hai creato.

Ora chiudi questo articolo ed elimina i tuoi problemi!

Ah e se ti è piaciuto, prima di andare non dimenticare di lasciare un “clap” e condividerlo con tutti i tuoi contatti!

--

--

Riccardo Tartaglia
weBeetle

Fullstack Web Developer 🦄 Aiuto i professionisti e le aziende a comprendere i meccanismi della digitalizzazione.