KromeBlog

Il Blog di Sergio Longoni

In questo Blog si discute di , , , , e tanto altro

Alla Ricerca di Una Intuizione

Pubblicato il 10-07-2008 da Sergio

Nel processo creativo alla base di un qualunque software la ricerca di una soluzione è la parte più misteriosa e divertente.

Si parte con un problema, o meglio una classe di problemi che il tuo programma si prefissa di risolvere.

Questo problema può essere di vari tipi: si va dal “calcolami il consumo dell’auto per questo tragitto” a “sposta un valore da un server ad un altro”

Insieme al problema naturalmente vengono tutta una serie di regole che la tua soluzione deve rispettare: ad esempio “deve girare su windows” o “deve interfacciarsi con un il database tal dei tali”

Nella maggior parte dei casi non sei il primo programmatore sulla terra ad affrontare il dato problema e quindi puoi cercare una soluzione simile e riadattarla: in molti casi tu stesso avrai già una soluzione simile, e se hai lavorato bene riadattarla è un gioco da ragazzi.

In altri casi non hai la pappa pronta, ma la soluzione del problema è comunque evidente: in questi casi si tratta solo di progettare quello che manca, verificare che tutto fili e passare all’azione (scrivere codice).

Esiste un terzo caso - quello più divertente - dove non hai alcuna idea della soluzione. Il problema appare irrisolvibile ai tuoi occhi: hai probabilmente tentato di abbozzare una soluzione, ma hai miseramente fallito.

Qui comincia la magia del processo creativo: la soluzione è li da qualche parte, ma non esiste un processo che ti possa portare ad afferrarla.

Il mio comportamento in questi casi può variare
Posso rimanere seduto alla scrivania fissando le mie carte e scervellandomi, ma solitamente non vado lontano.
Posso alzarmi e camminare avanti e indietro per la stanza rimuginando mentalmente.
Posso fare altro, solitamente funziona, ma non è facile smettere di pensare e mettersi a fare altro.

In molti casi la soluzione mi appare quando non sono al lavoro: in molti casi ho avuto intuizioni mentre ero alla guida, ma il mio pensatoio migliore rimane la doccia.

Avevo un collega che si appoggia al calorifero quando deve pensare e un altro che gioca con degli videogiochi arcade.

Certamente: non è tutto puramente erratico. Esistono vari metodi e meccanismi per catalizzare questo processo, a partire dal brainstorming, passando per le euristiche e finendo con il pensiero laterale.

Questi processi possono avvenire a consciamente o “in background”. Infatti sembra che in qualche modo il cervello continui a rielaborare i problemi che gli si sottopongono anche mentre si fa tutt’altro.

Ad un certo punto vieni illuminato e il problema irrisolvibile di cui sopra ti appare immediatamente di una banalità sconcertante.

Una volta ottenuta l’intuizione sono due i passi che devo compiere per fissarla e perfezionarla.
Primo: scriverla. Per questo ho sempre con me una Moleskine e una penna, mentre se sono in ufficio spesso mi metto direttamente alla lavagna (penso in grande).

Secondo: spiegarla a qualcuno. Non è importante che il mio interlocutore capisca esattamente quello che sto dicendo a patto che mi presti attenzione, è un po’ lo stesso processo con il quale si cerca di studiare una lezione ripetendo ad alta voce quello che si sta imparando. Si tratta di un modo per tirare fuori l’idea dalla mente e esprimerla con parole semplici.
Spesso in questa fase l’idea viene rielaborata.

Il guaio è che non si può stimare quanto tempo impiegherai per avere l’intuizione necessaria per risolvere il problema: se sei fortunato stimi di spaccarti la testa un pomeriggio e in pochi minuti te la sei cavata, ma se sbagli potresti rimanere a incastrato allo stesso punto per mesi.

In bocca al lupo!


Trackback | | Stampa

6 Commenti

Gianluca ha commentato:

Ma qual’è il problema misterioso che hai affrontato?

Sergio ha commentato:

@Gianluca il problema su cui lavoravo prima di mettermi a scrivere il post è un articolato sistema di autenticazione server/server da usare su una serie di progetti.

Gianluca ha commentato:

Interessante … hai valutato l’uso dei protocolli già esistenti SSL, Basic-Auth, ecc.

Sergio ha commentato:

Si, però il funzionamento è ad un livello diverso: più simile a OpenId o “Windows Live ID Delegated Authentication”.

Cristiano ha commentato:

Non ci crederai, ma la mia esperienza mi porta alla soluzione dei problemi mediante il classico detto “la notte porta consiglio”.
Detto in soldoni, una bella dormita con il quesito stampato nel cervello prima di chiudere gli occhi solitamente mi agevola, il giorno dopo, delle discrete soluzioni.
Non so se funziona anche per altri …

Ti saluto ;-)

Sergio ha commentato:

@Cristiano si funziona anche con me, ma solo se dormo più di un tot numero di ore (8 circa) e dato che ho la pessima abitudine di dormire poco è un sistema che funziona solo nei weekend,

Il meccanismo dovrebbe avere a che fare con le teorie della riorganizzazione dei ricordi durante il sonno REM: in pratica il cervello si deframmenta e si indicizza durante la notte :-)

Riguardo a questo: mai capitato di sognare codice, tabelle, strutture di dati o robe così?

Lascia il tuo Commento