Il codice? È un fastidioso contrattempo.

Tra le pagine del gruppo SIAgile, che da poco più di un anno si impegna a diffondere la cultura agile nella Svizzera italiana, mi è capitato di incontrare il concetto di Behavior Driven Development, inteso come un estensione del Test Driven Development che arriva perfino a mettere in secondo piano gli stessi test, pur conservandone – inevitabilmente direi – l’indispensabile utilità.

Questa visione dei test come side effect di una tecnica di design – Test Driven Dev… Design – mi ricorda un mio vecchio post in cui sostenevo la maggiore importanza della manovrabilità delle specifiche rispetto al codice sorgente, relegando quest’ultimo al ruolo di mero strumento. Ovviamente la decentralizzazione del software che ho sostenuto in quell’occasione e in molte successive non ha nulla a che vedere con una presunta dequalificazione del codice stesso, che anzi, essendo espressione efficace dei nostri obiettivi, deve essere garantito di qualità eccellente. Nel corso dell’ultimo anno però ho potuto riflettere parecchio sul legame tra (sviluppo) software e user experience e sono quindi giunto ad una conclusione ulteriore, che integra quelle precedenti, estendendole.

Io credo che l’intero concetto di software sia in realtà un concetto collaterale. Noi sviluppatori vendiamo sì manovrabilità, ma non per ottenere software come prodotto finale. L’elevata qualità del nostro prodotto, il codice – che a questo punto scopriamo essere un semilavorato – serve infatti a garantire il successo del prodotto finito vero e proprio: la user experience. Il flusso di cassa diventa positivo nel momento esatto in cui il primo utente vive con successo l’esperienza che il nostro software contribuisce a realizzare. Non un solo attimo prima.

Una prova del 9 semplice semplice? Prova a sviluppare del software e a non farlo usare mai a nessuno. Pensi possa valere qualcosa? :P

January 06 2010 02:00 am | Visione agile

8 Responses to “Il codice? È un fastidioso contrattempo.”

  1. Luca Mascaro on 06 Jan 2010 at 10:08 #

    Mi fai tornare in mente una discussione che ho avuto nel 2001 con un esperto di processi industriali che quando cercavamo allora di chiarire i requisiti di flessibilità/scalabilità della tecnologia mi rispondeva che non gli interessava esporli perchè dal suo punto di vista era il valore aggiunto era dato processo finale vissuto dagli utenti nell’ottica degli obiettivi di business, dunque il software in se era una pura commodity.

    La relazione è fine ma anche lui dal suo punto di vista semplicistico (ma da qualche anno di esperienza su grossi sistemi bancari) non identificava il codice in se come un valore ma semmai il funzionamento del codice globale come valore.

    my 2 cents :)

  2. Alessandro Nadalin on 08 Jan 2010 at 13:59 #

    Secondo me sbagli nella prova del 9 jacopo: anche la gioconda se non fosse stata mostrata a nessuno sarebbe stata fine a se stessa…

  3. Jacopo Romei on 08 Jan 2010 at 14:31 #

    Infatti a questo punto ti chiedo di argomentare il senso intero dell’arte disaccoppiata dall’esistenza di un pubblico. Considerato che anche fare qualcosa per sé di fatto ci mette in condizioni separate di artefice e pubblico in due momenti diversi, tutta l’arte contemporanea è talmente consapevole di questo che si tratta quasi sempre di opere da “vivere” e non da guardare solamente.

    Cioè in sostanza credo che la tua provocazione sia più che solo una provocazione: senza pubblico la Gioconda sarebbe stata fine a sé stessa.

    Finché si parla di arte trovo sia tutto da discutere e decidere; ma il software è il costituente di strumenti e niente più e questo rende ancora più stretto il raggio di opinabilità: uno strumento non usato effettivamente non è nulla.

  4. alessandro on 09 Jan 2010 at 11:26 #

    peccato che non c’è la funziona “avvisa se commentan dopo di te” qui… :-)

    Non era una provocazione jacopo, è un affermazione per riflettere bene sul fatto che secondo me, qualsiasi entità, in assenza di fruitori, non ha valore.

    Che sia un’opera d’arte, un software, una persona, una verità, una proprietà…

    Anche il codice mette l’artefice dalla parte del pubblico: in fondo apprezzare ciò che si è scritto è parte integrante della quotidianità di un buono e onesto sviluppatore, non trovi?

  5. Jacopo Romei on 09 Jan 2010 at 17:41 #

    Mi sembra di scorgere due sostanziali ‘corridoi dialettici’: in uno siamo d’accordo nell’altro no.
    Siamo d’accordo dicendo che

    qualsiasi entità, in assenza di fruitori, non ha valore

    Siamo in disaccordo nel ritenere tanto rilevante, discutendo di software produttivo, la sua buona fattura a prescindere dalla sua produttività, appunto. È senz’altro vero che

    in fondo apprezzare ciò che si è scritto è parte integrante della quotidianità di un buono e onesto sviluppatore

    ma non credo che gli sviluppatori vengano pagati essenzialmente per questo.
    Che dici? Mi interessa.

    p.s. sto cercando un plug-in per seguire i commenti… ;)

  6. Alessandro Nadalin on 09 Jan 2010 at 22:40 #

    ok, almeno concordiamo sul fatto che l’affermazione finale del post è fuorviante perchè applicabile ad ogni cosa… lì sembra che solo il codice godesse di questa proprietà negativa… :)

    Sulla seconda parte io non volevo focalizzarmi sul fatto che uno sviluppatore venga pagato per sollazzarsi col suo codice o che sia più rilevante il design della produttività, volevo farti notare che effettivamente non solo un pittore, ma anche un programmatore, può compiacersi della sua opera :D

    p.s. per WP? mi sa che l’hai trovato :P

  7. Lean e-xtrategy | Sviluppo Agile on 31 Jul 2010 at 02:19 #

    [...] Interessante a dir poco, in un’azienda che passa la gran parte del tempo a scrivere codice PHP per consegnare siti web più o meno complessi, l’attività di scrivere PHP risulta essere fra le meno rilevanti per il cliente finale, quindi fra le meno dense dal punto di vista del valore consegnato. In sostanza una prova a posteriori di quanto sostengo da un bel po’: il codice è un mezzo, mai l’obiettivo. [...]

  8. campo scuola metodologie agili 2010 | eventi | e-xtrategy on 27 Sep 2010 at 13:27 #

    [...] consegnato. In sostanza una prova a posteriori di quanto sostengo da un bel po’: il codice è un mezzo, mai [...]

Trackback URI | Comments RSS

Leave a Reply