Takéklikací prototyp, funkční prototyp, papírový prototypZákladní

Definice

Prototyp je záměrně neúplná, rychle vytvořená podoba produktu, funkce nebo rozhraní, která slouží k ověření nápadu před plnou implementací. V softwaru a UX pomáhá odhalit nejasné požadavky, rizikové technické části i chyby v použitelnosti dřív, než tým investuje do finálního řešení.

Kategorie: Softwarový vývojAktualizováno

Nezaměňujte: Prototyp může znamenat ověřovací model produktu, prototypový objekt v JavaScriptu nebo návrhový vzor Prototype.

Proč se prototyp staví před produkčním řešením

Prototyp zkracuje dobu mezi nápadem a ověřením. Tým nemusí nejdřív navrhnout kompletní architekturu, napsat veškerý kód ani připravit finální grafiku. Stačí vytvořit takovou podobu řešení, která umí odpovědět na konkrétní otázku: pochopí uživatel tok objednávky, zvládne databáze očekávaný dotaz, půjde napojit externí API, nebo dává obchodní hypotéza vůbec smysl?

Prototyp není menší verze hotového produktu. Prototyp je nástroj pro učení. Úspěšný prototyp může skončit tím, že se zahodí, protože odhalil špatný předpoklad dost brzy. V UX se prototyp často rodí z návrhu obrazovek a může navazovat na wireframe. Ve vývoji může jít o izolovanou funkci, skript, dočasnou službu nebo experimentální větev repozitáře.

Věrnost prototypu určuje cenu omylu

Nízká věrnost pro otázky nad tokem

Nízkověrnostní prototyp používá jednoduché prostředky: papír, statické obrazovky, klikací maketu bez skutečných dat nebo ručně nasimulovaný výsledek. Nízká věrnost se hodí, když se řeší pořadí kroků, názvy akcí, základní informační architektura nebo pochopení hodnoty produktu. Nízká věrnost je levná, rychlá a záměrně nedokonalá, takže lidi méně svádí komentovat barvy místo podstaty.

Vysoká věrnost pro detaily chování

Vysokověrnostní prototyp se blíží reálnému produktu vzhledem, interakcemi nebo technickým chováním. Vysoká věrnost dává smysl, když tým ověřuje animace, odezvu rozhraní, složitý formulář, výkon kritického výpočtu nebo integraci s jiným systémem. Cena je vyšší: uživatelé i manažeři mohou začít prototyp vnímat jako téměř hotovou věc.

Prototyp v kódu a hranice vyhazovací práce

Kódový prototyp má mít jasné označení, omezený rozsah a měřitelné kritérium úspěchu. Vývojář může použít mockovaná data, zjednodušené zabezpečení v uzavřeném prostředí, hrubé rozhraní nebo ručně spouštěný skript. Smyslem není obejít kvalitu, ale zjistit, jestli se vyplatí investovat do produkční implementace.

Největší riziko vzniká ve chvíli, kdy se dočasný kód potichu promění v základ produktu. Prototyp často nemá testy, monitoring, migrace, ošetřené hraniční stavy ani bezpečnostní kontrolu v úrovni produkce. Převzetí takového kódu bez přepsání vytváří technický dluh, který bývá dražší než původní zkratka.

Prototyp jako vlastnost jazyka JavaScript

JavaScript používá slovo prototype také pro mechanismus dědění objektů. Objekt může hledat vlastnost nejdřív u sebe a potom v řetězci prototypů. Tento význam souvisí s webovým vývojem, ale neznamená prototyp produktu. Při čtení dokumentace je proto důležité poznat, jestli se mluví o ověřovací maketě, nebo o objektovém modelu jazyka.

Příklady z praxe

  1. Klikací registrace před vývojem

    Produktový tým navrhne novou registraci do SaaS aplikace jako klikací prototyp ve Figmě. Pět uživatelů během testu opakovaně přehlédne volbu pro firemní účet, takže tým změní pořadí kroků ještě před vývojem. Výsledkem je úprava návrhu bez zásahu do produkčního kódu.

  2. Dočasný endpoint pro cenový model

    Backend vývojář potřebuje ověřit, jestli obchodní tým dokáže pracovat s novým modelem cen. Vytvoří dočasný endpoint s falešným výpočtem a poznámkou, že nejde o produkční logiku. Po schválení pravidel tým prototyp zahodí a napíše skutečnou implementaci s testy a auditem změn.

    app.get('/pricing-preview', async (req, res) => {
      const estimate = await fakePricingEngine(req.query.plan);
    
      res.json({
        plan: req.query.plan,
        estimatedPrice: estimate,
        note: 'prototype, not production logic'
      });
    });

Časté omyly

MýtusPrototyp je skoro hotový produkt, stačí ho jen vyčistit.
Ve skutečnostiPrototyp často vzniká s vědomými zkratkami, které by v produkci neobstály. Převzetí prototypu bez přepsání může přinést bezpečnostní, provozní i údržbové problémy.
MýtusPrototyp má smysl jen v designu obrazovek.
Ve skutečnostiPrototyp se používá také v backendu, datových systémech, hardwaru, algoritmech i obchodních procesech. Společným cílem je ověřit nejistotu dřív, než vznikne drahé finální řešení.

Časté dotazy

Má se prototyp po ověření vždy zahodit?
Prototyp má být zahoditelný tehdy, když vznikl rychlou cestou a obsahuje vědomé zkratky. Produktový prototyp může posloužit jako zdroj poznatků, testovacích scénářů nebo návrhových rozhodnutí, ale nemusí být dobrým základem pro produkci. Pokud tým chce prototyp převzít, měl by nejdřív projít kontrolou architektury, bezpečnosti, testovatelnosti a provozních požadavků.
Jak detailní má být prototyp?
Prototyp má obsahovat jen tolik detailů, kolik je potřeba k ověření konkrétní nejistoty. Pro test navigace stačí často jednoduché obrazovky bez reálných dat. Pro ověření výkonu nebo integrace je naopak potřeba technicky věrnější řešení. Příliš detailní prototyp spotřebuje zbytečně moc času a může vyvolat falešný dojem, že produkt je téměř hotový.
Kdo má prototyp hodnotit?
Prototyp by měli hodnotit lidé, kteří umí odpovědět na ověřovanou otázku. U použitelnosti jsou nejdůležitější skuteční nebo velmi podobní uživatelé. U technického rizika má prototyp posoudit vývojář, architekt, bezpečnostní specialista nebo provozní tým. U obchodní hypotézy dává smysl zapojit zákazníky, podporu, obchod a produktového manažera.
Kdy prototyp nestačí pro rozhodnutí o vývoji?
Prototyp nestačí jako důkaz proveditelnosti, pokud ověřuje jen povrchní část problému. Klikací maketa například neprokáže škálovatelnost backendu, bezpečnost plateb ani správnost datových migrací. Technický prototyp zase nemusí potvrdit, že uživatelé nové řešení pochopí. Silné rozhodnutí často vyžaduje více prototypů s různou věrností.

Zdroje

  1. Prototype(otevře se v novém okně)Wikipedia
  2. Software prototyping(otevře se v novém okně)Wikipedia
  3. Inheritance and the prototype chain(otevře se v novém okně)MDN Web Docs

Související pojmy

Potřebujete to vyřešit v praxi?

Poradíme, jak na to ve vašem projektu

Vysvětlit pojem je jedna věc, navrhnout kolem něj funkční řešení druhá. Ozvěte se a probereme, co dává smysl u vás.