Agilní a tradiční metodologie vývoje softwaru
V softwarovém průmyslu se dnes používá řada různých metodik vývoje softwaru. Metoda vývoje vodopádu je jednou z prvních metod vývoje softwaru. V-Model, RUP a několik dalších lineárních, iterativních a kombinovaných lineárně-iteračních metod, které následovaly po metodě vodopádu, měly za cíl vymazat mnoho otázek metody vodopádu. Všechny tyto dřívější metodiky se nazývají Tradiční metodiky vývoje softwaru. Agilní model je novější model vývoje softwaru zavedený k řešení nedostatků zjištěných v tradičních modelech. Hlavním zaměřením společnosti Agile je začlenit testování co nejdříve a velmi brzy vydat funkční verzi produktu rozbitím systému na velmi malé a spravovatelné dílčí části.
Co je tradiční metodika vývoje softwaru?
Softwarové metodiky jako Waterfallova metoda, V-Model a RUP se nazývají tradiční metodiky vývoje softwaru. Metodika Waterfall je jedním z prvních modelů vývoje softwaru. Jak název napovídá, jedná se o postupný proces, ve kterém pokrok prochází několika fázemi (analýza požadavků, návrh, vývoj, testování a implementace) shora dolů, obdobně jako vodopád. V-Model je považován za rozšíření modelu vývoje softwaru Waterfall. V-Model používá stejné vztahy mezi fázemi definované v modelu Waterfall. Ale místo toho, aby V-Model sestupoval lineárně (jako model Waterfall), diagonálně sestupuje a poté se pohybuje zpět nahoru (po fázi kódování), čímž vytváří tvar písmene V. RUP (Rational Unified Process) je přizpůsobivý rámec procesu (ne jediný konkrétní proces),které může vývojová organizace přizpůsobit podle svých potřeb. Mírně podobný vodopádu má pevné fáze, jako je počátek, zpracování, stavba a přechod. Ale na rozdíl od vodopádu je RUP iterační proces.
Co je to Agile?
Agile je velmi nedávná metodika vývoje softwaru (nebo přesněji skupina metodik) založená na agilním manifestu. To bylo vyvinuto k vyřešení některých nedostatků v tradičních metodikách vývoje softwaru. Agilní metody jsou založeny na upřednostňování účasti zákazníků na počátku vývojového cyklu. Doporučuje začlenit testování zákazníkem co nejdříve a nejčastěji. Testování se provádí v každém okamžiku, kdy bude k dispozici stabilní verze. Základ společnosti Agile je založen na zahájení testování od začátku projektu a pokračování až do konce projektu. Scrum a Extreme programování jsou dvě z nejpopulárnějších variací agilních metod.
Klíčovou hodnotou společnosti Agile je „kvalita je odpovědnost týmu“, která zdůrazňuje, že za kvalitu softwaru odpovídá celý tým (nejen testovací tým). Jedním z dalších důležitých aspektů Agile je rozbití softwaru na menší spravovatelné části a jeho rychlé dodání zákazníkovi. Dodání funkčního produktu je nesmírně důležité. Poté tým pokračuje ve zdokonalování softwaru a průběžném dodávání v každém důležitém kroku. Toho je dosaženo tím, že máte velmi krátké uvolňovací cykly (tzv. Sprinty ve Scrumu) a na konci každého cyklu získáte zpětnou vazbu ke zlepšení. Přispěvatelé bez velkých interakcí týmu, jako jsou vývojáři a testeři v dřívějších metodách, nyní spolupracují v rámci modelu Agile.
Jaký je rozdíl mezi agilní a tradiční metodikou vývoje softwaru?
Ačkoli metoda Agile je založena na iterativním vývoji jako některé z tradičních přístupů, metody Agile a Traditional mají klíčové rozdíly. Tradiční přístupy používají plánování jako svůj kontrolní mechanismus, zatímco agilní modely používají zpětnou vazbu od uživatelů jako hlavní kontrolní mechanismus. Agilní lze nazvat přístup zaměřený na lidi než tradiční metody. Agilní model přináší pracovní verzi produktu velmi brzy ve srovnání s tradičními metodikami, aby si zákazník mohl včas uvědomit některé z výhod. Doba testování cyklu Agile je ve srovnání s tradičními metodami relativně krátká, protože testování probíhá paralelně s vývojem. Většina tradičních modelů je velmi tuhá a relativně méně flexibilní než model Agile. Kvůli všem těmto výhodám je v současnosti Agile upřednostňována před tradičními metodikami.