Agilní metodiky

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Agilní metodiky jsou skupiny metod původně určených pro vyvíjení softwaru založené na iterativním a inkrementálním vývoji. Umožňují rychlý vývoj softwaru a zároveň dokáží reagovat na změnu požadavků v průběhu vývojového cyklu. Podle těchto metodik se správnost systému ověří jedině pomocí rychlého vývoje, předložení zákazníkovi a následných úprav dle zpětné vazby. Agilní přístup není omezen pouze na programování, ale našel své uplatnění také ve finančnictví, telekomunikacích, marketingu i v oblasti řízení lidských zdrojů. Protikladem agilního přístupu je vodopádový model.

Historie

Až do nástupu odlehčených metodik se používaly rigorózní metodiky. Ty jsou někdy kritizovány pro svůj vodopádový model vývoje, který údajně není schopný reagovat na změny, omezuje ho fixně nadefinovaná spolupráce a potřeba mít již na začátku projektu detailní návrh. +more Z těchto důvodů navíc statisticky dosáhne smluveného cíle za smluvených podmínek (cena, čas apod. ) jen cca 13 % ze všech projektů.

V polovině devadesátých let se proto začaly objevovat odlehčené metodiky. Ty se podle jejich tvůrců navrací k vývojovým praktikám ze samotných počátků softwarového vývoje. +more Mezi tyto odlehčené metodiky patřil Scrum, Crystal Clear, Extrémní programování či Vývoj řízený vlastnostmi.

Pojem agilní metodiky se pro ně však začal používat až od února roku 2001, kdy se v Utahu sešli odborníci z oblasti softwarového inženýrství a vývoje softwaru, aby diskutovali o odlehčených metodách vývoje. Tehdy sepsali Manifest agilního programování, kde definují přístup k vývoji nyní známý jako agilní programování. +more Autory tohoto manifestu jsou Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland a Dave Thomas. V manifestu je mimo jiné definováno 12 principů agilního propracování.

Agilní metodika

V Americe probíhá již většina vývoje právě agilní metodou. Agilní přístup je bezpečnější pro dodavatele i odběratele. +more Agilní řízení probíhá v iteracích, tj. 14denních sprintech, na jejichž konci se vždy výsledek vyhodnocuje odběratelem a zpravidla po vytvoření minimum viable productu i jeho zákazníky.

Dále není problém kvůli rozdělení vývoje na sprinty průběžně nějaké funkce upravit, na rozdíl od vodopádového modelu vývoje, kde klient obvykle spatří až výsledný produkt. Nevýhoda agilního vývoje je zásadní nutnost zapojit klienta do procesu vývoje.

Příklady agilních metodik

Extrémní programování (XP)

XP je pravděpodobně nejznámější agilní metodikou. Propaguje časté dodávky software v krátkých vývojových cyklech. +more Kromě toho navrhuje párové programování, jednotkové testování celého kódu (nejdříve se vytvoří test, až pak samotný kód), programovat jen to, co je v danou chvíli nezbytné, jednoduchý a jasný kód. Mezi další praktiky patří společné vlastnictví kódu a neustálý refaktoring. Vývojáři by měli počítat se změnami požadavků v průběhu času. Důležitá je častá komunikace se zákazníkem i mezi programátory.

Scrum

Klíčovou částí metodiky jsou každodenní krátká setkání týmu, nazývaná daily standups. Každý člen zde referuje o své činnosti z minulého dne, o tom, co bude dělat dnes, a na jaké problémy narazil. +more Metodika prosazuje iterativní vývoj. Období iterace se nazývá Sprint a trvá 1-4 týdny. Výsledkem Sprintu je demo vzniklých úprav, které je předvedeno stakeholderům (zákazníkovi, sponzorovi, management boardu, investorům). Ti poskytují zpětnou vazbu, což umožňuje rychle reagovat na změny v požadavcích. Jsou zde rozeznávány tři role - Product Owner má za úkol komunikovat se zákazníkem a definici co nejlepšího produktu, bývá nazýván hlasem zákazníka. Správné fungování vývojového týmu zajišťuje Scrum Master. Člen vývojového týmu se nazývá Scrum Team Member. Vývoj a školení metodiky má na starost Scrum Alliance.

Vývoj řízený vlastnostmi (FDD - Feature Driven Development)

FDD začíná vytvořením doménového modelu popisujícího celý systém. Ten se převede do seznamu vlastností (elementární funkcionality, které přináší hodnotu uživateli). +more Vývoj má celkem pět fází (první tři sekvenční, další dvě iterativní). Iterace trvá většinou dva týdny. Během každé iterace se implementují konkrétní užitné vlastnosti systému. Zákazník průběžně dostává mezivýsledky a nové verze produktu. Na rozdíl od XP nebo SCRUM je jednotlivým programátorům práce přidělena - nevybírají si ji sami.

Lean development

Lean development je spíš než metodikou souhrnem pravidel, jejichž používání by mělo zefektivnit a zrychlit vývojový proces. Tato pravidla zní: eliminovat zbytečné (to, co nepřináší zákazníkovi žádnou hodnotu), zdůraznit proces učení, rozhodovat se tak rychle a pozdě, jak je možné, posílit odpovědnost týmu, zabudovat integritu a vidět systém jako celek.

Součástí štíhlé výroby mohou být metody (např. Kanban) a nástroje, které metodická pravidla umožní realizovat.

Agilní metodiky v právním rámci

Při vývoji software za použití agilních metodik se zpravidla využívají následující dva typy smluv.

Fixed-Time Fixed-Price

V případě Fixed Time Fixed Price (FTFP) smlouva definuje dílo, které má vzniknout a být dodáno za pevně stanovenou částku a v pevně stanoveném čase. Z právního hlediska se jedná o Smlouvu o dílo, kterou se “zhotovitel zavazuje na svůj náklad a nebezpečí provést pro objednatele dílo a objednatel se zavazuje dílo převzít a zaplatit cenu” (§ 2586 odst. +more 1 NOZ).

Time and Material

Time and Material (T&M) vyžaduje Rámcovou smlouvu o poskytování služeb. Tato smlouva nedefinuje dílo, ale pouze služby, které bude dodavatel zákazníkovi poskytovat (například design, programování, testování a podobně). +more Jednotlivé služby jsou poskytovány na základě dílčích objednávek, které typicky následují například po sprint planningu. Time & Material a agilní metodiky si tedy z principu konvenují.

Odkazy

Reference

Související články

Agilní řízení projektu * Disciplined Agile Delivery

Externí odkazy

[url=http://agilniasociace.cz/]Agilní asociace[/url] - agilniasociace.cz

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top