Metodika vodopádu vs. RUP
V softvérovom priemysle sa dnes používa množstvo rôznych metodológií vývoja softvéru. Metóda vodopádového vývoja je jednou z prvých metód vývoja softvéru. Metodológia vývoja softvéru Waterfall je sekvenčný model, v ktorom je každá fáza dokončená v plnom rozsahu a nasleduje v pevnom poradí. RUP (Rational Unified Process) je adaptabilný procesný rámec iteračných metodík vývoja softvéru. RUP reaguje na niekoľko kritík vývoja Waterfall, ako je tuhosť.
Čo je metodika vodopádu?
Metodika vodopádu je jedným z prvých modelov vývoja softvéru. Ako už názov napovedá, ide o sekvenčný proces, v ktorom pokrok prechádza niekoľkými fázami zhora nadol, podobne ako vodopád. Fázy modelu Waterfall sú analýza požiadaviek, návrh, vývoj, testovanie a implementácia. Obchodní analytici (alebo samotní programátori, ak ide o malú organizáciu) vykonávajú fázu analýzy získaním systémových a obchodných požiadaviek od zákazníka projektu. Potom softvéroví architekti (alebo starší vývojári softvéru) prídu s návrhovými dokumentmi zobrazujúcimi štruktúru a komponenty navrhovaného systému. Potom junior vývojári vykonajú kódovanie pomocou návrhových dokumentov. Po ukončení vývoja je produkt odovzdaný testovaciemu tímu na testovacie a overovacie procesy. Nakoniec je produkt implementovaný (alebo integrovaný) u zákazníka a projekt je odpísaný. Dôležité je poznamenať, že každá fáza je úplne dokončená pred prechodom na ďalšiu fázu. Tento model bol priamym výsledkom jednoduchého prispôsobenia hardvérovo orientovanej vývojovej metódy (nájdenej vo výrobnom a stavebnom priemysle), v tom čase neexistoval žiadny formálny model pre vývoj softvéru.
Čo je RUP?
RUP patrí do rodiny iteračných metodík vývoja softvéru. Bol vyvinutý spoločnosťou Rational Software Corporation (z IBM) v roku 2003. Ide vlastne o adaptabilný procesný rámec (nie jeden konkrétny proces), ktorý si môže vývojová organizácia prispôsobiť podľa svojich potrieb. Mierne podobný vodopádu, má pevné fázy ako vznik, vypracovanie, výstavba a prechod. Ale na rozdiel od vodopádu je RUP iteratívny proces. Tri stratégie zachytené RUP sú prispôsobiteľný proces, ktorý vedie vývoj, automatizované nástroje na urýchlenie procesu a služby, ktoré pomáhajú rýchlejšie prijať proces a nástroje. Tieto stratégie stážistov zachytávajú šesť najlepších postupov softvérového inžinierstva (opakovaný vývoj, riadenie požiadaviek, architektúra založená na komponentoch, vizuálne modely softvéru, nepretržité overovanie a riadenie zmien).
Aký je rozdiel medzi metodikou vodopádu a RUP?
Hoci metodika Waterfall a RUP definovali pevné fázy, medzi týmito dvoma modelmi sú kľúčové rozdiely. Hlavná devíza spočíva v tom, že zatiaľ čo metodika Waterfall je jednoznačne sekvenčný proces s predpísanými krokmi, v ktorých je súčasná fáza dokončená pred prechodom do ďalšej fázy, RUP je iteratívny proces. Na rozdiel od vodopádovej metodiky RUP vyvíja produkt v niekoľkých fázach na základe spätnej väzby od akcionárov. Pretože každá iterácia RUP vytvára spustiteľné vydanie, zákazníci si výhody uvedomia oveľa skôr ako Waterfall. Napokon, metodológia Waterfall je normatívny konkrétny proces, zatiaľ čo RUP je adaptabilný rámec softvérových procesov.