Vesiputousmenetelmä vs. RUP
Ohjelmistoteollisuudessa käytetään nykyään useita erilaisia ohjelmistokehitysmenetelmiä. Vesiputouskehitysmenetelmä on yksi varhaisimmista ohjelmistokehitysmenetelmistä. Waterfall-ohjelmistokehitysmenetelmä on peräkkäinen malli, jossa kukin vaihe suoritetaan kokonaan ja sitä seurataan kiinteässä järjestyksessä. RUP (Rational Unified Process) on iteratiivisten ohjelmistokehitysmenetelmien mukautuva prosessikehys. RUP käsittelee useita vesiputouskehityksen kritiikkejä, kuten jäykkyyttä.
Mikä on vesiputousmenetelmä?
Vesiputousmenetelmä on yksi varhaisimmista ohjelmistokehitysmalleista. Kuten nimestä voi päätellä, se on peräkkäinen prosessi, jossa eteneminen virtaa useiden vaiheiden läpi ylhäältä alas, samanlainen kuin vesiputous. Waterfall-mallin vaiheet ovat vaatimusten analysointi, suunnittelu, kehittäminen, testaus ja toteutus. Liiketoiminta-analyytikot (tai ohjelmoijat itse, jos se on pieni organisaatio) suorittaa analysointivaiheen hankkimalla järjestelmän ja liiketoiminnan vaatimukset projektin asiakkaalta. Sitten ohjelmistoarkkitehdit (tai vanhemmat ohjelmistokehittäjät) laativat suunnitteludokumentit, jotka kuvaavat ehdotetun järjestelmän rakennetta ja komponentteja. Sitten nuoremmat kehittäjät tekevät koodauksen suunnitteluasiakirjojen avulla. Kehityksen päätyttyä tuote luovutetaan testausryhmälle testausta ja todentamista varten. Lopuksi tuote toteutetaan (tai integroidaan) asiakaspaikkaan ja projekti allekirjoitetaan. Tärkeää on huomata tässä, että jokainen vaihe on suoritettu loppuun ennen siirtymistä seuraavaan vaiheeseen. Tämä malli oli suora seuraus yksinkertaisesti laitteistokeskeisen kehittämismenetelmän mukauttamisesta (löytyy valmistus- ja rakennusteollisuudesta), aikoinaan ei ollut virallista mallia ohjelmistojen kehittämiselle.
Mikä on RUP?
RUP kuuluu iteratiivisten ohjelmistokehitysmenetelmien perheeseen. Sen on kehittänyt Rational Software Corporation (IBM) vuonna 2003. Se on itse asiassa mukautuva prosessikehys (ei yksittäinen konkreettinen prosessi), jota kehitysorganisaatio voi mukauttaa tarpeidensa mukaan. Hieman samanlainen kuin vesiputous, sillä on kiinteät vaiheet kuten aloittaminen, laatiminen, rakentaminen ja siirtyminen. Mutta toisin kuin vesiputous, RUP on toistuva prosessi. RUP: n kaapatut kolme strategiaa ovat muokattava prosessi, joka ohjaa kehitystä, automatisoidut työkalut prosessin nopeuttamiseksi ja palvelut, jotka auttavat omaksumaan prosessin ja työkalut nopeammin. Nämä strategiat sisältävät kuusi parhaita ohjelmistosuunnittelukäytäntöjä (iteratiivinen kehitys, vaatimusten hallinta, komponenttipohjainen arkkitehtuuri, visuaaliset ohjelmistomallit, jatkuva tarkistus ja muutosten hallinta).
Mitä eroa on vesiputousmenetelmän ja RUP: n välillä??
Vaikka Waterfall-menetelmä ja RUP ovat määritellyt kiinteät vaiheet, näiden kahden mallin välillä on keskeisiä eroja. Päähäiriö on, että vaikka Waterfall-menetelmä on selvästi peräkkäinen prosessi, jossa on määrätyt vaiheet, joissa nykyinen vaihe saadaan päätökseen ennen seuraavaan vaiheeseen siirtymistä, RUP on iteratiivinen prosessi. Toisin kuin vesiputousmenetelmät, RUP kehittää tuotetta useissa vaiheissa osakkeenomistajien palautteen perusteella. Koska jokainen RUP-iterointi tuottaa suoritettavan version, asiakkaat saavat hyötyä hyödyistä paljon aikaisemmin kuin Waterfall. Lopuksi, Waterfall-menetelmä on määräävä ja konkreettinen prosessi, kun taas RUP on mukautuva kehys ohjelmistoprosesseille.