Full stack on tietojärjestelmien kehittämisen osa-alueita yhdistelevä lähestymistapa, joka liittyy käyttäjäkokemuksen suunnitteluun[1], järjestelmäkehittäjien työnkuviin[2] ja osaamiseen [3] sekä kehitystyön tekniseen ympäristöön. Teknisenä käsitteenä full stack voi viitata yksinkertaisimmillaan järjestelmän rakenteen jaotteluun asiakas- ja palvelinosiin[4]. Full stack voidaan nimetä lyhenteellä, joka muodostetaan siinä keskeisten välineiden nimistä (esim. LAMP = Linux, Apache, MySQL, Perl).[5]
Termi full stack perustuu teknisten järjestelmien kuvaamisessa käytettyyn pinon (engl. stack) käsitteeseen, jolla tarkoitetaan järjestelmän arkkitehtuurin kerroksittaista rakennetta. [6] Rakenteessa kullakin kerroksella on oma tehtävänsä ja määritellyt rajapinnat toisiin kerroksiin.
Full stackin synonyyminakin käytetty termi solution stack (kirjaimellisesti suomentaen "ratkaisupino") viittaa nimettyihin ohjelmistotuotteisiin ja/tai laitteisiin, joista kokonaisuutena katsotaan muodostuvan palveluarkkitehtuuri (Service Oriented Architecture, lyhennettynä SOA).[7]