BASAD.
Späť na blog
8 min readBASAD Studios

Ako napísať technické zadanie pre nový web

Prečo väčšina webov zlyháva kvôli zlému zadaniu, nie zlým vývojárom. Praktický návod, čo do zadania patrí a ako ho pripraviť.

webová stránkazadanie projektuspolupráca s vývojármi
Ako napísať technické zadanie pre nový web

Vývojár nie je veštec. Ak mu poviete "chceme moderný web, ktorý bude predávať", dostanete web, ktorý bude moderný a bude mať košík — ale pravdepodobne nie to, čo ste si predstavovali. Väčšina webových projektov, ktoré skončia prekročením rozpočtu alebo sklamaním na oboch stranách, nezlyháva kvôli zlej technológii ani nekompetentným vývojárom. Zlyháva kvôli zlému zadaniu. A dobré zadanie sa nenapíše za hodinu — ale tá hodina vám ušetrí mesiace problémov.

Prečo zlé zadanie stojí viac než dobrý vývojár

Stavebná firma nepríde na stavbu bez projektu. Projektant nespočíta statiku bez výkresov. Napriek tomu mnoho firiem príde k vývojárovi s tým, že "chce web" a verí, že zvyšok sa nejako vykryštalizuje.

Problém je fundamentálny: vývojár vidí svet z pohľadu funkcií a technológie. Vy ho vidíte z pohľadu zákazníka a biznisu. Ak tieto dve perspektívy nesedia spolu od začiatku, každý pracuje na niečom inom — a zistíte to až vtedy, keď je hotovo.

Neskoré zmeny sú drahé. V softvérovom vývoji platí, že oprava chyby v požiadavkách stojí 1 jednotku práce. Oprava tej istej chyby v hotovom produkte stojí 10–100 jednotiek. Inak povedané: pridať do zadania celú stránku navyše než prerobiť hotový web znamená rozdiel medzi hodinou diskusie a týždňom práce.

Praktický tip: Skôr než začnete písať zadanie, odpovedzte si na túto jednu otázku: "Ako spoznám, že web uspel?" Ak odpoveď znie "bude pekný" alebo "bude moderný", ešte nie ste pripravení. Ak odpoveď znie "za šesť mesiacov od spustenia príde cez web 30 % nových dopytov", máte základ.

Čo do technického zadania patrí

Dobré zadanie nie je román ani katalóg prianí. Je to presný popis toho, čo sa má postaviť, pre koho a prečo. Tu je minimálny zoznam toho, čo by malo obsahovať:

Ciele webu. Čo má web konkrétne robiť? Generovať dopyty? Predávať produkty? Informovať o firme a budovať dôveru? Každý cieľ má iné implikácie pre dizajn aj technológiu. Napíšte ich v poradí priority — nie všetky ciele sú rovnako dôležité.

Cieľová skupina. Kto bude web používať? B2B alebo B2C? Technicky zdatní ľudia alebo laici? Mobilní alebo desktopový používateľ? Jazyk cieľovej skupiny — bude web v jednom jazyku, alebo potrebuje byť viacjazyčný od začiatku?

Zoznam funkcií. Nie ako wishlist, ale ako štruktúrovaný prehľad. Čo je nevyhnutné pre spustenie (MVP)? Čo je vhodné mať? Čo počká? Táto prioritizácia zabraňuje situácii, keď projekt nespúšťate, pretože všetko musí byť hotové naraz.

Dizajnové referencie. Ukážte tri až päť webov, ktoré sa vám páčia. A hlavne povedzte prečo — páči sa vám farebné riešenie, rozloženie, fotografie alebo spôsob, akým vedie používateľa k akcii? Referencie bez vysvetlenia sú takmer zbytočné.

Technické integrácie. Čo sa musí k webu napojiť? CRM? Účtovný softvér? Platobná brána? Mailingová platforma? Sklad? Pre každú integráciu zistite, či má API a akú dokumentáciu.

Obsah. Kto dodá texty, fotografie a videá? Kedy? V akom formáte? Toto je najčastejšie podceňovaná časť — projekty čakajú mesiace na obsah, hoci technicky je všetko hotové.

Časový plán a rozpočet. Vývojár potrebuje vedieť, s čím pracuje. Ak máte pevný termín (veľtrh, spustenie kampane, koniec sezóny), povedzte to hneď. Ak máte rozpočtový strop, povedzte to tiež — ušetríte si kruhovú diskusiu o rozsahu.

Najčastejšie chyby v zadaniach

Príliš vágne požiadavky. "Web musí byť prehľadný a rýchly." Áno — to je základné očakávanie pre každý web. Čo to ale konkrétne znamená pre váš projekt? Prehľadný pre koho? Rýchly podľa akého benchmarku? Vágne požiadavky generujú vágne výsledky.

Chýba "prečo". Firma chce porovnávaciu tabuľku produktov. Prečo? Pretože zákazníci sa rozhodujú medzi tromi variantmi a potrebujú porovnať technické parametre — alebo preto, že to má konkurencia a "predsa nemôžeme byť pozadu"? Tieto dve odpovede vedú k úplne odlišným riešeniam.

Kopírovanie konkurencie bez premýšľania. "Chceme to isté, čo má firma X." Ale firma X má iných zákazníkov, iný biznis model a iné technické zázemie. Navyše neviete, či ich riešenie skutočne funguje — možno stálo dvojnásobok rozpočtu a konverzná miera je biedna.

Príklad z praxe: Bratislavský distribútor kancelárskych potrieb zadal vývojárovi: "Chceme e-shop ako veľké firmy." Vývojár pripravil ponuku na 35 000 €. Po podrobnejšom rozhovore vyšlo najavo, že firma predáva B2B zákazníkom, má 200 produktov a potrebuje hlavne dopytový formulár s možnosťou priložiť cenník v PDF. Výsledné riešenie stálo 3 500 € a spĺňa 100 % reálnej potreby. Rozdiel bol v zadaní.

Ako správne popísať funkcie

Vývojári ľahko implementujú to, čo im poviete. Problém je, že vám to implementujú doslova — nie to, čo ste tým mysleli.

Vágny popis: "Chceme kontaktný formulár." Výsledok: formulár s tromi poľami (meno, e-mail, správa) a tlačidlom Odoslať.

Reálna potreba: zákazník si vyberie kategóriu dopytu (servis / objednávka / všeobecný dopyt), formulár umožní priložiť súbor do 5 MB, po odoslaní dostane potvrdzovací e-mail a žiadosť sa automaticky zapisuje do CRM s priradením zodpovednej osoby podľa kategórie.

Najlepší spôsob, ako presne popísať funkciu, sú používateľské príbehy (user stories). Formát je jednoduchý: "Ako [typ používateľa] chcem [akciu], aby som [dosiahol cieľ]."

Príklady:

  • "Ako zákazník chcem filtrovať produkty podľa kategórie a ceny, aby som rýchlo našiel to, čo hľadám."
  • "Ako obchodný riaditeľ chcem vidieť prehľad dopytov z webu za posledný mesiac, aby som mohol vyhodnotiť efektivitu kampaní."
  • "Ako administrátor chcem pridávať a upravovať stránky bez zásahu vývojára, aby som nebol závislý na externom dodávateľovi."

Každý používateľský príbeh potom rozvíjajte: čo sa zobrazí po akcii? Čo sa stane, keď akcia zlyhá? Sú nejaké výnimky alebo hraničné prípady?

PrístupPríkladVýsledok
Vágna požiadavka"Chceme prihlásenie používateľov"Základný login bez akýchkoľvek oprávnení
Používateľský príbeh"Ako zákazník chcem sa prihlásiť e-mailom, aby som videl históriu svojich objednávok"Prihlásenie + zákaznícka sekcia s objednávkami
Kompletná špecifikáciaPríbeh + reset hesla + obmedzenie počtu pokusov + 2FAFunkčný systém pripravený pre produkciu

Čo sa stane, keď zadanie vynecháte

Scope creep. Slovensky: plazivé rozrastanie rozsahu. Projekt začne ako "jednoduchý firemný web" a za tri mesiace riešite zákaznícky portál, ktorý nikto nepopísal, ale "predsa je to logické, nie?"

Každá nová funkcia pridaná po začatí projektu je drahšia ako tá istá funkcia v zadaní. Dôvod je jednoduchý: vývojár musí prerobiť to, čo už urobil, prispôsobiť architektúru a všetko znovu otestovať.

Príklad z praxe: Košická marketingová agentúra zadala web: landing page pre jeden produkt, dopytový formulár, texty dodajú sami. Projekt bol ohodnotený na šesť týždňov. V treťom týždni prišla požiadavka na blog. Vo štvrtom na viacjazyčnú verziu. V piatom na interaktívnu kalkulačku ceny. Žiadna z týchto požiadaviek nebola v zadaní. Projekt skončil po štyroch mesiacoch na dvojnásobku rozpočtu. Agentúra nebola spokojná. Vývojár bol vyčerpaný. Pritom stačilo pred začiatkom projekt správne pomenovať.

Ďalším dôsledkom chýbajúceho zadania je sklamanie z výsledku. Vývojár odviedol presne to, čo mu bolo zadané — ale nestačí to, pretože "predsa bolo jasné, že to tak nemyslíme". Táto veta je v projektovom riadení najdrahšia veta vôbec.

Ako zadanie pripraviť spoločne s vývojárom

Dobré zadanie nevzniká vo vákuu. Najlepší postup je iteratívny: vy pripravíte hrubú verziu, vývojár ju okomentuje, vy spresníte.

Začnite štruktúrovaným workshopom. Dve až tri hodiny s kľúčovými ľuďmi z vašej strany — nie e-mailová diskusia, ale živý rozhovor. Prejdite ciele, cieľovú skupinu, hlavné funkcie a priority. Výsledkom by mal byť zoznam funkčných celkov a ich priorita.

Nechajte vývojára klásť otázky. Dobrý vývojár alebo agentúra bude klásť nepríjemné otázky: "Čo sa stane, keď zákazník zabudne heslo?", "Ako riešite vrátenie tovaru?", "Kto bude web spravovať po spustení?" Tieto otázky nie sú obťažovanie — sú to veci, ktoré vás budú bolieť za pol roka, ak na ne teraz neodpoviete.

Definujte akceptačné kritériá. Pre každú kľúčovú funkciu si vopred stanovte, ako spoznáte, že je hotová správne. "Kontaktný formulár funguje" je príliš vágne. "Formulár pošle e-mail na info@firma.sk, uloží záznam do CRM a zobrazí poďakovanie do 3 sekúnd" je konkrétne.

Praktický tip: Zadanie si nechajte odložiť na dva dni a potom ho znovu prečítajte. Každá požiadavka, pri ktorej si nie ste istí, čo presne vývojár postaví, je požiadavka, ktorú treba spresniť.

Zhrnutie: minimálny obsah funkčného zadania

Časť zadaniaPrečo je dôležitá
Ciele webu s merateľnými výsledkamiDefinuje úspech projektu
Cieľová skupinaUrčuje UX a obsah
Prioritizovaný zoznam funkciíZabraňuje scope creep
Dizajnové referencie s komentáromZarovná vizuálne očakávania
Technické integrácieOdhalí skrytú komplexitu
Plán obsahu (kto, čo, kedy)Zabráni zablokovaniu projektu
Termíny a rozpočtový rámecUmožní realistický odhad
Akceptačné kritériáDefinuje "hotovo"

V BASAD Studios pomáhame klientom prejsť prípravou zadania ešte pred tým, než začneme čokoľvek stavať — pretože vieme, že hodina dobrého briefingu ušetrí týždne práce. Ak chystáte nový web a nechcete opakovať chyby, ktoré sme popísali vyššie, ozvite sa nám alebo sa pozrite na našu službu tvorby webových stránok.