Agilní metodika vývoje

Metodika agilního vývoje ( anglicky  agilní vývoj softwaru , agilní vývoj ) je obecný termín pro řadu přístupů a postupů založených na hodnotách Manifestu agilního vývoje softwaru a 12 principech, které jsou jeho základem [1] .

Agilní metodiky zahrnují zejména extrémní programování , DSDM , Scrum , FDD , BDD a další.

Většina agilních metodologií má za cíl minimalizovat riziko snížením vývoje na sérii krátkých cyklů, nazývaných iterace, které obvykle trvají dva až tři týdny. Každá iterace sama o sobě vypadá jako miniaturní softwarový projekt a zahrnuje všechny úkoly nezbytné k vytvoření mini-růstu funkčnosti: plánování, analýza požadavků , návrh , programování , testování a dokumentace . Zatímco jedna iterace obecně nestačí k vydání nové verze produktu, předpokládá se, že agilní softwarový projekt je připraven k vydání na konci každé iterace. Na konci každé iterace tým přehodnotí priority vývoje.

Agilní metody kladou důraz na komunikaci tváří v tvář. Většina agilních týmů se nachází ve stejné kanceláři, někdy označované jako eng.  bullpen . Minimálně zahrnuje také „customers“ ( anglicky  product owner  - zákazník nebo jeho zplnomocněný zástupce, který určuje požadavky na produkt; tuto roli může plnit projektový manažer, obchodní analytik nebo klient). Kancelář může také zahrnovat testery, návrháře rozhraní, technické autory a manažery.

Hlavní metrikou agilních metod je pracovní produkt. Tím, že agilní metody upřednostňují komunikaci tváří v tvář, snižují množství písemné dokumentace ve srovnání s jinými metodami. To vedlo ke kritice těchto metod jako nedisciplinovaných.

Historie

Během 90. let se v reakci na převládající těžké metody vyvinulo množství lehkých metod vývoje softwaru, které kritici nazývali přehnaně regulované, plánované a mikrořízené. Mezi ně patří: Rapid Application Development (RAD) od roku 1991 [2] [3] ; jednotný proces a metoda pro vývoj dynamických systémů od roku 1994; Scrum, od roku 1995; Crystal Clear a Extreme Programming (XP), oba od roku 1996; a vývoj orientovaný na funkce od roku 1997. Přestože všechny vznikly před vydáním Agilního manifestu, nyní se souhrnně označují jako agilní vývoj softwaru.

V únoru 2001 byl v Utahu v USA vydán „ Manifest Agile Software Development Manifesto “ . Poskytoval alternativu k dokumentem řízeným „těžkým“ postupům vývoje softwaru, jako je „ vodopádová metoda “, která byla v té době zlatým standardem vývoje. Tento manifest schválili a podepsali zástupci těchto metodik: Extreme Programming , Crystal Clear , DSDM , Feature řízený vývoj , Scrum , Adaptivní vývoj softwaru , Pragmatické programování . Agilní vývojovou metodiku používalo mnoho firem již před přijetím manifestu, nicméně vstup Agilního vývoje mezi masy nastal právě po této události.

Principy

Agile je rodina vývojových procesů, není to jediný přístup ve vývoji softwaru, a je definován v Agile Manifesto [4] . Agile nezahrnuje postupy, ale definuje hodnoty a principy, kterými se týmy řídí.

Agile Manifesto byl vyvinut a přijat 11. až 13. února 2001 v The Lodge v lyžařském středisku Snowbird v pohoří Utah. Agile Manifesto obsahuje 4 hlavní myšlenky a 12 principů. Je pozoruhodné, že Agile Manifesto neobsahuje praktické rady.

Klíčové myšlenky:

Základní principy Agilního manifestu [6] :

Kritika

Jeden z opakujících se bodů kritiky: agilní přístup často opomíjí tvorbu plánu („cestovní mapy“) pro vývoj produktu, stejně jako řízení požadavků , v jehož procesu se taková „mapa“ tvoří. Flexibilní přístup ke správě požadavků nezahrnuje dalekosáhlé plány (ve skutečnosti řízení požadavků v této metodice prostě neexistuje), ale implikuje schopnost zákazníka náhle a neočekávaně stanovit nové požadavky na konci každé iterace, často v rozporu s architekturou již vytvořeného a dodaného produktu. To někdy vede ke katastrofálním „rukám na práci“ s masivním refaktorováním a přepracováním téměř při každé další iteraci.

Navíc se má za to, že agilní práce motivuje vývojáře řešit všechny příchozí úkoly co nejjednodušším a nejrychlejším způsobem, přičemž často nevěnují pozornost správnosti kódu z hlediska požadavků základní platformy („funguje a "všechno"), přičemž se nebere v úvahu, že kód může přestat fungovat, pokud bude dále upravován. To má za následek sníženou kvalitu produktu a hromadění vad (viz „ technický dluh “).

Metodiky

Existují metodiky, které dodržují hodnoty a principy uvedené v Agile Manifestu, některé z nich jsou:

Poznámky

  1. Co je agilní vývoj softwaru? . Agilní aliance. - "Agilní vývoj softwaru je zastřešující termín pro soubor rámců a postupů založených na hodnotách a principech vyjádřených v Manifestu pro agilní vývoj softwaru a 12 principech, které za ním stojí." Získáno 29. června 2019. Archivováno z originálu 31. července 2018.
  2. Martin, James. Rychlý vývoj aplikací . - Macmillan, 1991. - ISBN 978-0-02-376775-3 .
  3. Kerr, James M.; Hunter, Richard. Uvnitř RAD: Jak vybudovat plně funkční systém za 90 dní nebo méně . - McGraw-Hil, 1993. - ISBN 978-0-07-034223-1 .
  4. Agile Manifesto Archived 23. února 2011 na Wayback Machine 
  5. Základní principy agilního manifestu . agilemanifesto.org. Datum přístupu: 8. prosince 2016. Archivováno z originálu 25. prosince 2014.
  6. Agilní modelování . Datum ošetření: 25. 12. 2011. Archivováno z originálu 31. 12. 2008.

Literatura