Vývoj software často znamená řešení problémů, které jsou komplexní, nepředvídatelné a v měnícím se prostředí. Stačí si představit práci na (NPRG023) Softwarovém projektu, kde pracujete na software souvisejícím s probíhajícím fakultním výzkumem (komplexnost), nevíte, kolik úsilí budou členové týmu moci projektu věnovat (nepředvídatelnost), a vedoucí v čase mění své požadavky (dynamické prostředí). V takovém případě budete pro dodání hodnotného výsledku a snížení rizika selhání potřebovat víc než jen přesný plán na rok dopředu.
Agilní přístup k vývoji software vznikl mimo jiné jako řešení výše uvedených problémů.
Cíl kurzu
Agilní vývoj software se stává standardem v oboru. Cílem kurzu je
- připravit studenty na budoucí týmovou práci v agilním prostředí,
- zvednout produktivitu studentů měřenou hodnotou dodanou zákazníkovi (obecně “stakeholderům”),
- předat principy a praktiky agilního vývoje v praxi, ideálně prostřednictvím praktické zkušenosti.
Formou přednášek, aktivit nebo her si studenti mohou jednotlivé přístupy a praktiky osvojit v praxi.
Průběh kurzu
Důležité: průběh kurzu se budeme snažit přizpůsobit možnostem přihlášených studentů. Praxe ukazuje, že znalosti tohoto typu se nelépe předávají při reálné týmové práci na společném projektu spíše než formou přednášek. Na druhou stranu nechceme od studentů vyžadovat časově náročnou práci na dalším projektu jen pro účely tohoto předmětu. Proto bude na základě domluvy se studenty na začátku semestru probíhat kurz jednou z těchto variant:
- Kombinace přednášek, praktických “her” a případových studií z praxe (podobně jako loňský seminář “Agilní hry”).
Kombinace přednášek a týmové práce na reálném projektu. Tento projekt může být z jiného předmětu - např. Softwarový projekt nebo semestrální práce na jiný předmět (můžeme pomoct domluvit možnost týmového řešení práce s vyučujícím daného předmětu).
Kurz je vhodný především pro studenty, kteří mají zkušenost s prací na netriviálním projektu, nejlépe týmovém, nebo na takovém projektu právě začínají pracovat.
Další informace
S jakýmikoli dotazy k předmětu (organizace, obsah, čas konání, …) se, prosím, obracejte na vyučujícího.
Předběžný obsah
Kurz se budeme snažit orientovat okolo základních principů agilního vývoje, mimo jiné (anglicky):
- Why should I care?
- Core Agile Values
- Experiment & Learn Rapidly, eXtreme Programming
- Deliver Value Continuously, Scrum
- Reflect & Improve, Kanban
- Collaborate, Highly-effective teams, Modern Agile