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.
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.
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:
![]() |
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
Post a Comment