Skip to main content

Walking Skeleton

Letteralmente "scheletro che cammina", è solo un "termine contenitore" atto ad individuare una soluzione a vari problemi comuni nello sviluppo software; non mi riferisco quindi necessariamente al concetto riconosciuto nelle scienze dell'informazione da molto tempo, anche se sono applicabili le prime definizioni che comparivano negli studi del 1975 di Basili, V.R. e Turner, A.J. DOI: 10.1109/TSE.1975.6312870 che potete leggere nel seguente pdf.

A walking skeleton animated gif by Mantas Bačiuška
Il minimo per andare avanti; signori e signore: lo scheletro che cammina!

Cosa intendo?

L'insieme degli step tecnici (senza valore per il cliente finale), necessari ad avere un un sistema complesso interconnesso senza implementazioni reali al suo interno. E' la struttura minima necessaria per identificare i futuri contenitori di logica.

 

Ha un valore business?

E' a tutti gli effetti l'inizio del nostro discorso col consumatore. Ha dei costi facilmente identificabili che influenzano il valore finale. Il valore business intrinseco può essere minimale, ma ignorare quel valore può avere costi superiori: ad esempio modifiche sulla struttura necessarie solo alla fine del progetto, dopo le implementazioni.

 

Perché è importante?

Questa struttura, pur essendo vuota, ha degli evidenti costi di setup, che possono essere migliorati se affrontati in maniera strutturata. Permette, prima di cominciare lo sviluppo, di evidenziare i bisogni di manutenzione ed orchestrazione. Aiuta ad individuare gli endpoint che identificano il primo contratto verso i nostri utilizzatori/clienti. E' l'insieme minimo riconoscibile necessario ad automatizzare il ciclo di vita e sviluppo dell'applicazione. Aiuta ad identificare/palesare i vincoli strutturali iniziali della soluzione.


Cosa vuol dire farne a meno

Il setup evidenzia il fatto che spesso è relegato alle conoscenze dei singoli, spesso disarticolate in vari task non correlati tra loro che fanno aumentare i problemi di context switching, che non richiedono competenze/capacità elevate se prese singolarmente, impattando le performance del team e rendendo le persone con le competenze i colli di bottiglia.

 

Come riconoscere il bisogno del walking skeleton

  • Avete progetti funzionanti che non sono usciti mai dalla macchina fisica o virtuale dello sviluppatore.
  • Dovete aspettare la fine del progetto per conoscere le chiamate minime ai sistemi o per fare i test end to end.
  • Dovete impostare i sistemi di monitoring/profilazione alla fine del progetto, obbligando chi di dovere a riprendere le conoscenze di tutte le funzionalità prima implementate.
  • Avete in generale troppi cambiamenti necessari alla fine dello sviluppo.

 

Predisporsi alle migliorie iterative

Considerare il walking skeleton un elemento distinto nel vostro ciclo di sviluppo software permette di migliorare iterativamente la creazione dello stesso, minimizzandone l'impatto.
Vi permette di affrontare (e parallelizzare) fin dall'inizio del progetto il maggior numero di azioni possibili, che poi rimarrebbero valide per il resto dello sviluppo, e possono essere migliorate ulteriormente.
Permette la verticalizzazione per funzionalità di prodotto delle azioni da compiere, favorendo lo scambio di conoscenze all'interno del team e diminuendo il context switching di chi le sviluppa.

 

Ok, non lo sapevo, mi hai convinto

Se vuoi approfondire, da qui in poi è tutto in inglese.
Ecco alcuni prodotti utili per fare walking skeleton di api:
Un esempio di prodotto che permette di velocizzare la creazione del db:
Un libro utile:
Ed ecco le fonti che ho usato per questo articolo:

Comments

Popular posts from this blog

Finalmente Notepad++ Plugin Manager x64

Arriva infine su windows il plugin manager a 64 bit di notepad++! Vi siete trovati senza plugin quando per errore avete installato la versione a 64 bit del miglior editor open source di testo per windows ? Eravate rimasti sgomenti dal fatto che nell'installer il plugin manager non è più incluso? Nella versione 7.4.2 il plugin manager non è ancora presente Non sapevate più come indentare i vostri JSON e XML, come decodificare l'encoding delle URL o come confrontare in velocità due files? Beh ecco a voi come ripristinare il plugin manager!

Imparare a scrivere al PC

Salve a tutti! Oggi un post su richiesta: una breve guida sul come iniziare a scrivere al computer senza guardare la tastiera e usando dieci dita; insomma una mini guida per imparare a scrivere al PC. Io ho imparato circa 2 anni fa, in un paio di mesi, vediamo quanto ci mettete voi!