Pojam “Walking Skeleton” definirao je Alistair Cockburn – jedan od pionira razvoja softvera i jedan od izvornih potpisnika sveopće poznatog Agile Manifesto. Njegovim riječima Walking Skeleton je minimalna implementacija sustava koji izvršava minimalnu, ali cjelovitu, funkciju (end-to-end). Razvijena funkcija ne mora nužno koristiti konačnu arhitekturu, ali mora povezivati sve arhitekturalne komponente. Tada se omogućava da se i arhitektura i funkcionalnosti razvijaju paralelno.
Walking Skeleton nema nikakvu vrijednu funkcionalnost već demonstrira ispravnu interakciju ključnih komponenata sustava koji se gradi. Vezanje ključnih komponenata koji se grade, a žele se demonstrirati, prezentiraju se minimalnom implementacijom funkcionalnosti koja koristi sve potrebne komponente. Komponente nisu završene u punom opsegu ali su u interakciji i mogu izvršiti definiranu minimalnu funkcionalnost (npr dohvatiti podatke iz baze podataka, odgovoriti na API sučelju, itd.). Također, sve popratne aktivnosti, poput implementacije CI/CD pipeline i testova, su implementirane.
Ukratko: Walking Skeleton je “kostur” produkta na koji se potom dodaje “meso” produkta.
Walking Skeleton nalazi se, u vremenskoj osi, odmah iza Mock faze a prije MVP (Minimum Viable Product) faze.
Zašto uopće Walking Skeleton princip i koja je vrijednost tog koncepta. Više je razloga:
- Minimiziranje rizika – umjesto velikih investicija (financijskih, ljudskih, vremenskih) ulaže se minimalan napor u cilju dokazivanja hipoteze ciljanog produkta
- Fokusiranjem na minimalan set funkcionalnosti, točnije jednu funkcionalnost, smanjuje se kompleksnost te se osigurava stabilan “kostur” konačnog produkta
- Procjena utroška resursa u konačan produkt je vrlo zahtjevna i, vrlo često, netočna. Smanjenjem opsega na jednu funkcionalnost – procjena utroška resursa je vrlo egzaktna
- Pozitivan utjecaj na moral tima kako se u vrlo kratkom roku, uz minimalan rizik, isporučuje potpuna funkcionalnost
Za one koji žele znati više
[1] Alistair Cockburn homepage, https://alistaircockburn.com/
[2] Agile Manifesto, https://agilemanifesto.org/
[3] 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts, Richard Monson-Haefel, O’Reilly Media, https://www.goodreads.com/book/show/5487765-97-things-every-software-architect-should-know
[4] Agile Technical Practices Distilled, Pedro Moreira Santos, Marco Consolaro, Alessandro Di Gioia, Packt Publishing, https://www.goodreads.com/book/show/41758433-agile-technical-practices-distilled
[5] Using A ‘Walking Skeleton’ To Reduce Risk In Software Innovation, Forbes, https://www.forbes.com/sites/forbestechcouncil/2020/01/02/using-a-walking-skeleton-to-reduce-risk-in-software-innovation/?sh=4c7cbfa83b1c