Agilní metodiky

Agilní manifest. Srovnání rigorózních a agilních metodik. Metoda Scrum. Extrémní programování.

Agilní manifest

Podepsán v únoru 2001. Díky lepšímu způsobu vývoje SW se dává přednost:

·         Individualitě a komunikaci před procesy a nástroji

·         Provozuschopnému SW před obsáhlou dokumentací

·         Spolupráci se zákazníkem před sjednáním kontraktu (podpisem smlouvy)

·         Reakci na změnu před plněním plánu

 

Rigorózní metodiky

Těžké metodiky, požadavky je možno specifikovat předem, jsou velmi podrobné, mají hodně formalit, předpokládají opakovatelnost procesů, jsou náročné

 

Př. OPEN, RUP, EUP, OOSP

Metodiky hodnocení SW procesů CMM model (capability maturity model).

Agilní metodiky

Vývoj s krátkými interacemi, zaměření na fungující SW, lidi jsou prvořadý faktor(spolupráce, komunikace), změny jsou vítány, automatizované testování.

Zákazník určuje a mění priority – odpovědnost přebírá on. Systém je vytvářen tak, aby byl tolerantní ke změnám.

Př. ASD(adaptive SW development), DSDM(Dynamic systems development method), FDD(feature-driven development), XP(extreme programming), Scrum, Lean Development, Crystal metodiky.

SCRUM

Nejznámější agilní metodika, týmy 4-15 lidí v jedné místnosti, délka interace 30 dní.

Dělí lidi na „Pigs“ a „Chickens“.

Pigs = osoby související přímo s vývojem aplikace – Product Owner(zodpovídá, co se bude implementovat), Scrum Master(řídí vývojáře, odstiňuje programátory od okolního světa).

Chickens = uživatelé projektu, manažeři, Stakeholders(lidé od zákazníka – připomínky zvenčí)

Product Backlog – obsahuje všechny scénáře, které systém zahrnuje(co všechno je možno v systému udělat).

Zásady scrumu

Zákaz práce přes čas – odpočinutý zaměstnanec pracuje lépe.

6h práce na sprintu(celá práce je rozdělena na určité části – sprinty), 2h práce na jiných úkolech.

Daily scrum – všichni krátce řeknou Scrum Masterovi, co včera dělali a co budou dělat dnes.

 

Extrémní programování (XP)

Automatizované testy

Testování má přednost před kódováním

Jednoduchý návrh

Refaktorizace

Párové programování

Společné vlastnictví kódu

Jednoduchý návrh redukuje čas nutný k testování. Neustálé testování redukuje čas dodání. Kódování a testování zároveň dává vývojářům a testerům lepší porozumění kódu. Automatizované testy dovolují vývojářům provádět refaktorizaci.