Agilný vs vodopád
Stal sa z neho veľmi rýchly svet a spoločnosti zapojené do vývoja softvéru musia rýchlo reagovať na meniace sa potreby a priania zákazníka. Časy, keď sa projekty dali dokončiť bezstarostne, sú preč a rast konkurencie a včasné dodanie projektov sa stali ústredným bodom vývoja softvéru. Agile a Waterfall sú dve veľmi populárne metodiky vývoja softvéru, ktoré sa v súčasnosti používajú v organizáciách. Existujú zmiešané odpovede ľudí týkajúce sa nadradenosti jednej alebo druhej metodiky. Oba majú svoje vlastné výhody, plusy aj mínusy a fungujú lepšie za rôznych okolností. Je rozumné naučiť sa rozdiely medzi Agile a Waterfall a zvoliť si jeden z dvoch systémov, ktorý lepšie vyhovuje vašim požiadavkám.
Vlastnosti vodopádu
Ako už názov napovedá, model vodopádu prebieha postupne z jednej fázy do druhej. Existujú rôzne fázy vývoja, ako je identifikácia špecifikácie, koncepcia, analýza, návrh, programovanie, testovanie, ladenie, inštalácia a nakoniec údržba. Tím, ktorý vyvíja model, postúpi do ďalšej fázy až po dokončení predchádzajúcej fázy. Softvéroví inžinieri strávili v každej fáze veľa času, aby po dokončení programu na testovanie neboli žiadne chyby. Po navrhnutí softvéru dôjde k jeho kódovaniu, pričom v neskorších fázach nebudú zavedené žiadne zmeny. Je bežnou praxou požiadať dizajnérske, kódovacie a analytické tímy, aby pracovali osobitne na rôznych častiach projektu. Dokumentácia je neoddeliteľnou súčasťou vývoja softvéru v metodike Waterfall.
Vlastnosti systému Agile
Agilný je flexibilný prístup oproti tuhému systému vo vodopáde a charakteristickým znakom tohto systému je svižnosť a prispôsobivosť. Agilný je svojou povahou iteračný a neriadi sa stanoveným vzorom. Zahŕňa niekoľko iterácií, ktoré zahŕňajú všetky kroky navrhovania, kódovania a testovania. Na rozdiel od vodopádu, kde po dokončení návrhu nie sú povolené žiadne zmeny, Agile nie je rigidným prístupom a akékoľvek zmeny, ktoré môžu viesť k zlepšeniu, je možné zaviesť aj na poslednú chvíľu vývoja softvéru. Aj tímy, ktoré sú vyvinuté na vývoj softvéru prostredníctvom agilného prístupu, majú krížovú funkčnú povahu a na rozdiel od Waterfall je spoločnou črtou úzka spolupráca a zdieľanie odborných znalostí. Namiesto časovo náročnej dokumentácie sa tu kladie dôraz na rýchlejší vývoj softvéru.
Rozdiel medzi Agile a Waterfall • Pokiaľ ide o efektívnosť, Agile je efektívnejší, pretože je prispôsobivý a reaguje na problémy v reálnom svete. • Uvoľňovanie produktov v kratšom čase je možné pomocou agilnej metódy, pretože je možné začleniť zmeny na poslednú chvíľu • Zatiaľ čo vodopád je postupný, agilný je iteratívny • Agilný je populárnejší a používa sa za širších okolností ako vodopád • Vodopád je vhodnejší na vývoj programov, ktoré sú stabilné a je potrebné ich len trochu prerobiť • Vodopád je ľahšie zvládnuteľný a súvisiace náklady môžu byť známe vopred |