Vesiputousmallia , tai ” vesiputous ” Englanti, on toiminnan järjestämiseen hankkeen muodossa lineaarinen ja peräkkäisiä vaiheita, joissa kukin vaihe vastaa erikoistuminen tehtäviä ja riippuu tulokset edellisen vaiheen. Se sisältää vaatimukset, suunnittelu-, toteutus- ja käyttöönottovaiheet.
Vesiputousmallin on projekti elinkaaren johtuvat tehdasteollisuuden ja rakennusalan sektori , jossa alustava suunnittelu on välttämätöntä, kun otetaan huomioon vahva materiaali rajoitukset ja korkeat kustannukset suunnittelun muutosten tekemisestä. Sitä käytetään erityisesti tekniikan ja ohjelmistokehityksen aloilla .
Ensimmäinen ohjelmistokehityksen vaihemallia kuvaava esitys on Herbert D. Beningtonin "Symposium on Advanced Programming Methods for Digital Computers" -sivustolla. 29. kesäkuuta 1956. Artikkeli laadittiin SAGE- nimisen sotilaallisen järjestelmän kehityksen taustalla . Siinä kuvataan kehitysprosessi, jossa on ylävirran suunnitteluvaihe, useita määrittelyvaiheita, ohjelmointivaihe ("koodaus"), useita peräkkäisiä testausvaiheita ja lopullinen validointivaihe. Artikkeli julkaistiin uudelleen vuonna 1983 Beningtonin esipuheella, jossa täsmennettiin, että erottaminen vaiheisiin vastasi kaupan erikoistumisen logiikkaa ja jossa korostettiin, että hän oli jättänyt toiminnasta prototyypin ennen projektin toteuttamista.
Vesiputousmallin ensimmäisen kuvauksen katsotaan usein olevan Winston W. Roycen artikkeli vuonna 1970. Artikkelissa on graafinen esitys vesiputouksesta käyttämättä kuitenkaan koskaan tätä termiä. Ironista kyllä, Roycen viesti oli kritiikki mallin puutteista. Näin termi tuli yleiseksi.
Termin "temppu" ensimmäinen todistettu lainaus ilmestyi Bell and Thayerin vuonna 1976 julkaisemassa artikkelissa, joka hyvittää Roycen sanan.
Vuonna 1985 Yhdysvaltain puolustusministeriö otti käyttöön kaskadilähestymistavan standardissa DOD-STD-2167A, jossa määritetään suhteet ohjelmistokehityksen alihankkijoihin ja jossa todetaan, että "urakoitsijan on toteutettava ohjelmistokehitysjakso, joka sisältää seuraavat kuusi vaihetta : esisuunnittelu, yksityiskohtainen suunnittelu, ohjelmointi, yksikötestaus, integrointi ja testaus ”. Tämä standardi korvataan vuonna 1994 MIL-STD-498-spesifikaatiolla, jossa ei enää viitata vesiputouksen malliin, vaan edistetään evoluutiohankintaprosessia sekä iteratiivisia ja inkrementaalisia kehitysmenetelmiä.
Vesiputousmalli sisältää seuraavat vaiheet ja suoritteet:
Jokainen vaihe alkaa vasta, kun edellisen vaiheen tulokset on vahvistettu. Tämän lähestymistavan vahvana puolena on varmistaa hyvin jäsennellyn dokumentoinnin olemassaolo.
Mallista on olemassa useita muunnelmia, mukaan lukien alkupään suunnitteluvaiheen lisääminen, prototyypin alustava valmistus, validointivaiheen hajoaminen ja paluu edellisiin vaiheisiin, jos alavirrassa havaitaan vikoja.
Ohjelmistokehityksessä suunnitteluvaihe määrää järjestelmän arkkitehtuurin , toteutus vastaa ensisijaisesti ohjelmointitoimintoja , ja validointivaihe sisältää suurelta osin testauksen.
WW Royce kritisoi perimmäisessä artikkelissaan vesiputousmallia. Hän toteaa, että jokaisen vaiheen on välttämättä pystyttävä palaamaan edelliseen vaiheeseen, jos vikoja havaitaan alavirtaan (esimerkiksi testien aikana havaitun virheen sattuessa on palattava ohjelmointivaiheeseen). Hän toteaa lisäksi, että vaatimukset ja suunnittelu vaikuttavat kaikkiin loppupään vaiheisiin, joten paluu näihin vaiheisiin on usein tarpeen. Lopuksi hän suosittelee esisuunnittelun käyttöä. Sen uudistettu malli on kuitenkin edelleen lähellä alkuperäistä mallia.
Vesiputousmalli perustuu projektin alussa ilmaistuihin vaatimuksiin. Vaatimukset ja tarpeet voivat kuitenkin olla puutteellisia tai heikkolaatuisia (epäselvyys, epäjohdonmukaisuus jne.). Lisäksi asiakas ei välttämättä ole täysin tietoinen vaatimuksistaan, ennen kuin hän näkee ohjelmiston toimivan. Tämä voi johtaa ohjelmiston uudelleensuunnitteluun, osan kehittämiseen uudelleen ja tuotteen testaamiseen uudelleen ja siten kustannusten kasvamiseen. Siksi vesiputousmalli soveltuu erityisesti hankkeisiin, joiden vaatimukset ovat hyvin ymmärrettyjä ja vankkoja ja jotka toteutetaan hyvin hallitulla tekniikalla.
Vesiputousmallin suosittelemien vaiheiden jäsentäminen erikoistumalla toimintaan on jäykkyys työn organisoinnissa, ei edistä riittävästi asiakkaan osallistumista koko projektin ajan ja estää muutosten huomioon ottamista. Tämä viimeinen kohta selittää inkrementaalisen lähestymistavan kehittymisen 1980-luvulla.
V-syklin käyttää vaiheen hajoaminen samalla kaskadi, mutta vahvempi validointi. Tämä tapahtuu useissa erillisissä vaiheissa, joista kukin tarkistaa asianmukaisilla testeillä yhden alkupään vaiheen vaatimustenmukaisuuden. Mallin graafinen esitys edustaa sitten V: tä, kun validointivaiheita verrataan validoituihin vaiheisiin.
Laatijat Unified Process tunnistaa edun peräkkäisen vaiheistus projektin. Mutta sen sijaan, että keinotekoisesti erotettaisiin toiminnot vaiheittain, ne kannattavat integroituja toimintoja vaiheissa, jotka on järjestetty tuotteen kypsymisasteen mukaan: luominen (englanninkielinen " alku "), kehitys, rakentaminen ja siirtyminen sekä katkaistava nämä vaiheet useissa iteraatioissa. .