Co je agilní vývoj software?

- Ladislav Šmarda

Agilní vývoj software je způsob tvorby nového programu prostřednictvím vzájemné interaktivní spolupráce všech smluvních stran. Zatímco běžný vývoj je zpravidla prováděn podle předem známých a definovaných parametrů, agilní vývoj spočívá na postupné specifikaci a tvorbě produktu na míru známých a zjištěných potřeb během probíhajícího vývoje software. Smluvní strany při zahájení spolupráce velmi často neví, jak bude finální řešení vypadat, a dochází k jeho průběžným změnám v rámci vývoje software. Tento postup se vyznačuje pružností (proto „agilní“) a flexibilitou.

Agilní vývoj software

Proč je agilní vývoj software populární ?

Objednatel zpravidla neví, co od finální podoby software očekává (velmi těžkou lze v takovém případě definovat finální podobu díla). Rámcově ví, co by měl vytvořený software umět, ovšem netuší, jak by měl vypadat. Zhotovitel při vývoji software na míru potřeb objednatele spoléhá na úzkou součinnost a množství poznatků, které musí od objednatele získat. Agilní vývoj software umožní zhotoviteli lépe pochopit skutečné potřeby objednatele během probíhajícího vývojového procesu. Díky tomu se dokáže zaměřit i na oblasti, které by objednatel sám bez jeho přispění nebyl schopen smluvně definovat.

Následná spolupráce na vývoji software pak probíhá v rámci velmi úzké spolupráce a zapojení obou smluvních stran. Objednatel i zhotovitel se prostřednictvím zvolených týmů setkávají v rámci společných meetingů, kde hledají společná řešení pro vývoj a rozvoj software. Dohodnutá řešení následně zhotovitel integruje do finální verze software. Taková forma spolupráce umožňuje týmům efektivnější a pružnější přístup k vývoji softwaru, což může vést k lepším výsledkům a vyšší spokojenosti zákazníků. Konečný výsledek je autorským dílem (jako prvek práva duševního vlastnictví)

Jak agilní vývoj software probíhá?

Pravidelná, úzká spolupráce objednatele a zhotovitele je základním předpokladem úspěchu. Smluvní strany se pravidelně setkávají na společných schůzkách k vývoji software. Zde smluvní strany:

  • komunikují a odsouhlasí provedené kroky vývoje software;
  • sdělí si podstatné informace k dalším krokům vývoje software;
  • hledají společná řešení vzniklých problémů;
  • definují příští kroky vývoje software;
  • plánují a provádí implementaci změn a/nebo rozšíření funkcionalit;
  • monitorují projekt a provádí kontrolu uskutečněných úkonů;
  • dokončí projekt a předají potřebné licence (nezapomeňte si ujednat licenční podmínky).

V této souvislosti se můžete běžně setkat s užíváním pojmů jako „Scrum“, „Kanban“ nebo „Extreme programming“, které v zásadě označují standardizované postupy agilního vývoje software. Tyto metodiky poskytují různé rámce a postupy pro implementaci agilního vývoje, přičemž se liší ve svých důrazech a praktikách.

Závěr

Agilní vývoj software je způsob tvorby nového počítačového programu. Jde o flexibilní vývojový přístup, kdy obě strany se pravidelně setkávají a vzájemně utváří finální podobu software dle výstupů ze svých porad. Smlouva nedefinuje závazné řešení, ale spíše kroky (schůzky), které k jeho dosažení vedou prostřednictvím společných jednání. Správným nastavením vztahů předejdete vzniku sporů v budoucnu.

Potřebujete právníka v oblasti agilního vývoje software? Naše advokátní kancelář působí v oblasti softwarového práva a pro své klienty poskytuje právní služby v oblasti smluv o agilním vývoji software. Pokud potřebujete poradit, neváhejte nás kontaktovat.

(FacebookInstagramLinkedIn