Uno scheletro ambulante, in un contesto di sviluppo software, è un'implementazione iniziale minima dell'architettura di un'applicazione che include e collega i componenti di base del sistema. Come suggerisce il nome, la struttura è a posto e funzionale in modo rudimentale, ma il sistema non è arricchito e non fornisce il livello di servizio richiesto al prodotto finale. I sottosistemi sono incompleti ma collegati insieme.
Gli scheletri ambulanti sono comunemente usati nello sviluppo basato su test (TDD), in cui il test unitario viene ripetutamente eseguito sul codice sorgente. Dopo ogni test, il codice viene riformattato e ritestato fino a quando ogni unità funziona secondo le specifiche desiderate.
Uno scheletro ambulante deve essere in grado di svolgere le funzioni di base richieste al sistema finale, come interrogare fonti di dati, richiedere servizi e condurre funzioni. Qualsiasi automazione, come la gestione delle eccezioni e l'integrazione continua (CI), dovrebbe anche essere in atto e tutti i componenti implementati dovrebbero essere testati per garantire, ad esempio, che una query restituisca dati. Una volta dimostrato che tutti i componenti essenziali del sistema funzionano, il ciclo TDD può iniziare e l'architettura e la funzionalità dell'applicazione possono essere sviluppate in parallelo.
Alistair Cockburn, uno scienziato informatico americano e pioniere dello sviluppo agile, ha coniato il termine scheletro ambulante quando un progettista ha spiegato come il concetto era stato applicato in un progetto precedente.