Co si ohlídat při uzavírání smlouvy o vývoji software

Pavel Čech 29.07.2024

Uzavření smlouvy o vývoji software je tak významný krok v životě firmy, že může rozhodnout o úspěchu nebo neúspěchu celého projektu. A je úplně jedno, zda se jedná o webové stránky s prezentací, nebo informační systém, na kterém stojí chod celé firmy. Samotný vývoj software je dlouhý a složitý proces, při kterém objednatel spolu s dodavatelem ladí všechny detaily do posledního puntíku. Objednatel má na začátku většinou jen hrubou představu toho, co chce, aby software uměl – jak by měl vypadat, jaké by měl mít funkcionality a vlastnosti. Dodavatel řešení zase nedokáže stanovit cenu a časový odhad prací, aniž by znal všechny klíčové parametry. Ze začarovaného kruhu je ale cesta ven.

Ať už jste na straně vývojáře nebo platícího zákazníka, je důležité mít všechny detaily pečlivě promyšlené a hlavně správně zaznamenané. Podívejme se na klíčové body, na co ve smlouvě o vývoji a dodání software nezapomenout.

Nepodceňujte šíři smlouvy o vývoji software

Při uzavírání smlouvy o vývoji software je důležité mít na paměti, že každý projekt je jedinečný a nelze jednoduše použít univerzální vzor stáhnutý z internetu. S tímto řešením byste nejspíš nakonec pohořeli a určitě by to zabolelo také váš bankovní účet. Každý software má své specifické aspekty, které musíte zohlednit. Přesné vymezení průběhu vývoje, definice dokončení a způsob předání jsou jen začátkem. Co si teda ohlídat?

Nechcete na to být sami? Ozvěte se ↗, smlouvu pro vás připravíme.

Agilní vývoj versus Waterfall

Vývoj software může probíhat odlišně v závislosti na potřebách objednatele a fungování dodavatele, což však musíte zohlednit i ve smlouvě.

Agilní vývoj oceníte v případě, když na začátku nevíte, co přesně chcete. Tento vývoj je rozdělen do kratších časových úseků, je flexibilnější a umožňuje rychlejší reakce na změny. Představa o finálním díle se formuje postupně. Spolupráce se většinou platí hodinovou sazbou a náhradou skutečných nákladů (tzv. Time & Material).

Na druhou stranu Waterfall vývoj využijete v momentě, kdy máte už na začátku sepsanou specifikaci vývoje, například v důkladné analýze. Tento způsob má přesně stanovený harmonogram a rozpočet (tzv. Fixed-Time & Fixed-Price) a vývoj probíhá najednou. Případné změny v zadání a jejich vliv na rozpočet je potřeba si pohlídat, nevyhnete se tak větší administrativě s dodatky ke smlouvě.

Platební podmínky

Cenový režim (fixní cena nebo hodinová sazba s odhadem) bývá spojen s tím, jestli vyvíjíte agilně nebo waterfallem. Co ale už není standardizované, jsou platební milníky.

Proto si ujasněte, zda se bude platit záloha předem, cena po částech vždy po dosažení milníku, nebo třeba až po dokončení práce.  Objednatel se bude chtít dohodnout na zádržném (třeba 10 % z ceny), které si ponechá a vyplatí až po odstranění všech vad.

Licenční ujednání

Licenční ujednání nepatří k těm nejjednodušším ve smlouvě, ale jsou klíčová pro ochranu obou stran. Ujasněte si, zda zákazník dostane nevýhradní licenci, výhradní licenci, nebo dokonce postoupení výkonu majetkových práv (nejširší režim převodu IP). Nezapomeňte na možnost úprav kódu a předání zdrojových kódů. A pokud při vývoji používáte materiály třetích stran nebo materiály dodané zákazníkem, nezapomeňte se také dohodnout, jak to bude s odpovědností za tyto komponenty.

V licencích se ztrácíte? Nevíte, co která znamená? EULA máme v malíku ↗.

Záruka a servis: co bude dál

Vývoj software je jen začátek. Pokud bude spolupráce fungovat, budete chtít řešit dlouhodobou podporu a údržbu software (třeba i SLA). Proto je důležité stanovit, zda bude na software poskytována záruka a jakým způsobem bude řešen navazující servis. Toto ustanovení vám pomůže předejít nedorozuměním a sporům v budoucnosti.

Nastavíme vám servisní smlouvy ↗, které vás ochrání před rizikem vendor lock-in.

Modely spolupráce, které fungují

V čem jsou specifické tři modely vývoje software, které v praxi zažíváme?

Fixed-Time & Fixed-Price

  • Je pevně daná cena a harmonogram, do kdy má být vše hotovo.
  • Ideální pro zákazníky, méně oblíbený u vývojářů kvůli riziku neplánovaných změn.
  • Vývojář musí striktně hlídat termíny a rozpočet.

Time & Material s nezávazným odhadem

  • Pevně daná hodinová sazba, rozpočet volnější.
  • Flexibilnější model, který umožňuje rychlejší reakci na změny.
  • Zákazník platí za odvedenou práci, projekt může ukončit předčasně.

Team Lease alias Bodyshopping

  • Zákazník má plnou kontrolu nad týmem dodavatele a směřováním projektu.
  • Vyžaduje silné řízení a koordinaci ze strany zákazníka.
  • Pokud není předmětem smlouvy dílo, ale pracovní síla, budete pravděpodobně chtít omezit odpovědnost za výsledek.

Pojďme si to shrnout: Co je obsahem smlouvy o vývoji software?

  • Nastavení vývoje díla agilní nebo Waterfall metodou.
  • Způsob testování nebo ověření vlastností díla.
  • Proces předání a převzetí díla.
  • Nastavení platebních podmínek.
  • Předání zdrojového kódu a potřebné dokumentace.
  • Licenční ujednání.
  • Stanovení odpovědnosti za vady.
  • Stanovení povinnosti mlčenlivosti.
  • Zajištění plnění závazků smluvními pokutami.
  • Právo na předčasné ukončení smlouvy v případě porušení povinností.
  • Související povinnosti obou stran, zejména poskytování informací, schůzky, reporting.

Uzavření smlouvy o vývoji software není jednoduchý úkol, ale s pečlivým plánováním a správným nastavením všech podmínek můžete předejít mnoha problémům.

Jste na straně vývojáře, nebo platícího zákazníka a chcete mít jistotu, že vaše smlouva o vývoji software bude neprůstřelná? Vytvoříme ji spolu s vámi. Domluvme si schůzku ↗.
Autor

Pavel Čech ↗

Nejraději pomáhám těm, kdo potřebují skloubit právo s technologiemi. Ve světě IT a software se totiž cítím jako ryba ve vodě. Už od mala mě přitahovaly nové technologie a promítání science fiction do našeho světa. Až při studiu na vysoké škole jsem si však uvědomil, kolik etických a právních překážek je nutné překonat před jejich uvedením do reality.

undefined

Kontaktujte nás