Která metoda vývoje je z pohledu práva lepší? Agilní nebo waterfall metoda?

23. 6. 2023

Sdílet

 Autor: © S.John - Fotolia.com
Rozhodnutí o způsobu vývoje software má zásadní dopad na pravděpodobnost (ne)úspěchu celého projektu. Jaké je právnický pohled na věc?

Ačkoliv způsobů vývoje softwaru je víc, tradičně se využívá pouze jedna metoda, označovaná díky postupným navazujícím krokům za waterfall metodu Tato metoda staví na základním předpokladu, kterým je zdokumentování všech požadavků objednatele ještě před zahájením vývoje. V praxi se počítá s přesným zadáním, do něhož se v průběhu vývoje příliš nezasahuje.

Využíváte už ve firmě autonomní agenty postavené na bázi umělé inteligence?

Zhotovitel dostává zadání a jeho úkolem je odevzdat řešení, které tomuto zadání odpovídá. Z pohledu zhotovitele po převzetí zadání následuje obvykle analýza, návrh řešení, samotný vývoj a fáze testování. V případě nedostatků po ukončení testování následuje pouze řešení vad, k předchozím fázím se však již nevrací.

Metoda má v právním řádu oporu v ustanoveních zákona č. 89/2012 Sb., občanský zákoník, v sekci věnované smlouvě o dílo. Zhotovitel provádí dle § 2586 uvedeného zákona vývoj samostatně, na svůj náklad a nebezpečí. Nepočítá se s ingerencí objednatele, není-li tak ve smlouvě o dílo výslovně ujednáno. 

Ve smlouvě je zcela nezbytné precizně specifikovat pouze předmět díla, specifikace ostatních práv a povinností může být i velice stručná, neboť se mohou využít defaultní, podpůrná zákonná ustanovení.

Tato metoda tak nachází své uplatnění, pokud objednatel ví, jaké vlastnosti má daný software mít, a nepotřebuje zadání následně upravovat. Výhodou postupu jsou zejména nižší nároky na objednatele, který po předání zadání již nemá jiné povinnosti než zaplatit zhotoviteli a převzít dílo, a dále lepší možnost rozvržení práce zhotovitele. 

Úskalí metody waterfall se často projeví až v konečné fázi při předání hotového produktu. Teprve v této fázi může objednatel zjistit, že výsledek neodpovídá jeho představám. Často je na vině právě nedostatečné zadání a absence jeho následného vyspecifikování.

Máme se bát umělé inteligence? Zde je deset důvodů, proč ano Přečtěte si také:

Máme se bát umělé inteligence? Zde je deset důvodů, proč ano

Oproti metodě waterfall se lze setkat s agilními metodami vývoje software, které mohou být považovány za protipól metody waterfall. Předmětem agilní smlouvy není zhotovení díla, ale nastavení samotného procesu, pravidel agilního procesu vývoje software, jehož přesnou specifikaci před zahájením vývoje nemají strany k dispozici. 

Agilní metody se často využívají také v případech, kdy si zhotovitel není jistý tím, zda požadovaný výsledek je objektivně realizovatelný. Při využití klasických metod by zodpovídal za výsledek, v rámci agilních metod vývoje odpovídá jen za řádný průběh provádění vývoje.

bitcoin_skoleni

Základní pravidla agility shrnuje dvanáct principů uvedených v Manifestu Agilního vývoje software, který byl vytvořen samotnými zástupci společností zabývajícími se vývojem softwaru. Agilní vývoj je postaven především na malých týmech, krátkodobých cílech, průběžném přezkumu plánu, flexibilitě, rozdělení vývoje do kratších časových úseků, průběžném testování, a zejména na spolupráci, která musí fungovat po celou dobu vývoje. 

S jistou nadsázkou lze říci, že agilní vývoj stojí a padá právě se spoluprací mezi obchodními partnery, což klade určité nároky i na objednatele. Na rozdíl od smlouvy o dílo totiž podpisem agilní smlouvy spolupráce stran teprve začíná.