Blog | Prototypování informačních systémů

Prototypování informačních systémů

Ani nevím, kolik času bych v životě ušetřil tím, kdybych víc prototypoval. Jedno je ale jisté, zákazníci by ušetřili přinejmenším statisíce.

Při vývoj používám 3 způsoby prototypování:

  • na papír
  • do Excelu
  • pomocí wireframes

Než se pustím do popisu, k čemu jednotlivé nástroje jsou, lehce nastíním, co musí předcházet vývoji informačního systému.

Otázka Proč?

Asi nejdůležitější věc, na kterou je potřeba se zeptat. K čemu ten systém je? Proč vyvíjet nový? Co jim nevyhovuje.

Bez otázky proč je téměř stoprocentní jistota, že budete směřovat vývoj jinam, než zákazník chce.

Use-cases a workflows

Poté, co víte, proč systém vzniká, musíte zjistit, jaké věci tam budou potřebovat uživatelé udělat, jak zapadají jednotlivé činnosti do jejich práv. Dalším rozpracováním jsou Workflows. Mnoho informačních systémů se omezí jen na use-cases, protože vždy pro 1 činnost potřebujete pouze jednu obrazovku.

Někdy to stačí, jindy takové omezení vede k obrazovkám, na kterých je 80 inputů (to nepřeháním, ale zažil jsem i víc). V takových situacích je vhodné rozdělit obrazovku na více. Někdy jako samostatné stránky (ať už jako kroky, nebo záložky), někdy jako mnohopatrový formulář.

Než se pustíte do prototypování, sepište si use-cases a v případě, že bude praktické mít workflows, tak i workflows.

Myslete na to, že workflows se můžou změnit, než stihnete aplikaci dokončit (a bezpečně jisté, že se změní v letech, kdy se bude systém používat), takže je jisté, že budete muset systém změnit.

Prototyp na papíře

První prototyp, ve kterém si sepíšu obrazovky, přechody mezi nimi a ukazuju zákazníkovi nějaké možnosti, např. ty vícepatrové formuláře, záložky.

Zároveň řešíme rozmístění základních prvků. V případě, že má být IS použitelný i na tabletech a mobilech (což mají oba IS, které jsem v posledních 2 letech vyvinul), řeší se, jak se budou jednotlivé prvky zužovat.

V této fázi už začínám sepisovat typy dat a jejich atributy.

Prototyp v Excelu

V Excelu prototypuju datové struktury a reporty. V případě, že zákazník vymyslí, že by chtěl vidět nějakou informaci, napíšu do Excelu nějaká data, poskládám výraz, který spočítá to, co potřebuju a schválím si se zákazníkem, že je to to, co potřebuje.

Alternativou by bylo navrhovat SQL a psát dotazy, výhodou by bylo to, že navržená struktura má šanci přežít (použít prototyp pro skutečné použití je dost nebezpečná věc, takže deklarovaná výhoda se může snadno otočit). Nevýhoda je nižší produktivita a žádné GUI. V Excelu si sednete se zákazníkem a společně něco vytvoříte, je to rychlé, bezprostřední a docela zábava.

Poté, co máte oba jistotu, že počítáte správným způsobem věci ze správných dat, můžete přenést věc do SQL.

Wireframes

Poslední způsob prototypování, který používám, jsou wireframy. Ty už slouží jako součást zadání předtím, než je věc naprogramována. Jsou podrobnější, obvykle obsahují všechny grafické prvky, všechny zobrazovaná data.

Na wireframy používám OmniGraffle. Dřív jsem používal MockFlow, ten je taky dobrý. Těch nástrojů je spousta, třeba Balsamiq, Axure atd.

Pomocí wireframu pokryju celý produkt. O wireframech jsem psal už dříve v článku Prototype Driven Development.

Funkční prototypy

Funkční prototyp už propojuje aplikaci do něčeho, v čem se dá klikat, může být dokonce schopný data ukládat a načítat z databáze.

Funkční prototypy nepoužívám nijak systematicky, možná bych měl. Nejsem si jist, jestli se ekonomicky obhájí, jejich tvorba už je programování.

Důvodem, proč vytvářet funkční prototypy je ověření toho, že koncept funguje v praxi.

V Extrémním programování je zvykem vytvářet tzv. Spike solutions – rychlé, třeba i naprasené řešení, které prozkoumává problémovou doménu. Cílem Spike solution je odhalení toho, s jakými problémy se bude vývojář potýkat.

Funkční prototyp má jedno riziko. Zákazník si může myslet, že systém už máte skoro hotový. Funkční prototyp ale bývá bastl bez pořádné struktury, testů, mnoho věcí je v něm zadrátovaných napevno, zkrátka je nutné, aby zákazník chápal, že prototyp je jen maketa letadla, na kterou je přidelaných pár servomotorků, ne letoun, který už stačí jen natřít a může začít lítat přes oceán.


Výše zmíněné způsoby prototypování můžou ušetřit spoustu peněz, dovést vás k lepšímu porozumění, umožní vám testovat na lidech něco, co ještě není naprogramované. Bezpečně můžu garantovat, že vám zároveň ušetří spoustu chyb, které byste jinak udělali. Náklady na tvorbu prototypů jsou třeba i stokrát nižší, než programování se vším, co to obnáší.

Agile Programování

Předejte zkušenosti i dalším a sdílejte tento článek!



Jiří Knesl
Business & IT konzultant

Jiří Knesl poprvé začal programovat v roce 1993. Od té doby, díky skvělým učitelům a později zákazníkům, měl možnost neustále růst v oboru vývoje webových aplikací a informačních systémů. v roce 2002 se přidal zájem o ekonomii a v roce 2006 o organizaci práce. Vším tím se konstantně profesně zabývá jak ve svém podnikání, tak i u zákazníků. Za posledních 5 let vydal na tato témata přes 400 článků.

Prohlédněte si moje reference

Mám zkušenosti z rozsáhlých projektů pro korporace, velké podniky, střední i malé firmy, ale i pro startupy v cloudu. Zvyšoval jsem jejich know-how, pomáhal nastavovat jejich organizační strukturu, byl lektorem a mentorem v náročných situacích. Podívejte se, jak vidí můj přínos samotní klienti.

Sledujte mé postřehy na sociálních sítích