Výpis blogu

Obsah článku

Co je hackathon, proč se účastnit a jak ho organizovat

Hackathon označuje specifickou událost, během které se sejde skupina programátorů, designerů či analytiků a společně pracuje na stanoveném softwarovém projektu. Základem je zde předem daný cíl a časový limit, během něhož se budou své činnosti věnovat. Výsledkem je pak obvykle reálná aplikace nebo program. Podívejme se nyní blíže, co hackathon znamená, jak ho organizovat ve firmě a proč se ho vůbec účastnit.

co je hackathon

Co je hackathon

Výraz hackathon vznikl spojením slov hack a maraton, přičemž hack označuje činnost spojenou se zkoumáním limitů nebo možností programovatelných systémů a marathon dlouhou, vytrvalostně náročnou činnost. Již z názvu tedy vyplývá hlavní smysl hackathonu (někdy také codefest), kterým je snaha o nalezení inovativního řešení a nového pohledu na věc. V praxi se tak sejde parta lidí, která se na předem určený čas zavře do jedné místnosti a nepřetržitě pracuje na společném projektu.

Ve své podstatě se jedná o myšlenkový maraton, jehož produktem obvykle bývají zajímavé nápady a jejich realizace. Hackathon však není jenom o programování, mimo vývojářů se ho účastní také grafici, analytikové či projektoví manažeři, kteří do celého projektu přinášejí zcela nový pohled. Kombinují se tak poznatky a dovednosti technického i netechnického světa, jež mohou ve výsledku přinést zajímavý a neotřelý produkt.

hackathon

K průběhu lze přistupovat ze dvou rovin – interní nebo otevřené. Může se jednat o soutěž (což jsme si vyzkoušeli i u nás v Rascasone), o řešení problematické zakázky, realizaci interních nápadů, ale i o řešení v rámci širší společnosti viz český hackathon kolem systému pro elektronické dálniční známky z ledna 2020. Základem všech těchto variant by ovšem mělo zůstat hlavní poselství, kterým je zábava. Účastníci se tak obvykle těchto akcí účastní, protože je programování baví a chtějí se mu věnovat i ve svém volném čase. V lepším případě navíc pomoci s řešením problému toho druhého.

Obecně je možné hackathon charakterizovat prostřednictvím čtyř zásadních znaků:

  • srozumitelné a jasné zadání,
  • stanovení dosažitelného cíle,
  • snazší i těžší dílčí úkoly, aby se mohli zapojit všichni účastníci,
  • možnost vedení zkušenějším vývojářem – mentorem.

Zúčastnění tak dostávají prostor pro předvedení své kreativity a dovedností, stejně jako zaujetí potenciálního zaměstnavatele. Může se tedy rovněž jednat o inovativní formu pohovoru, během níž programátoři dostávají jedinečnou šanci, aby ukázali, co všechno umí a jak si dovedou poradit s řešením problému v krátkém čase.

Jak probíhá hackathon

Od konkrétní podoby (interní / externí) se odvíjí způsob, jakým hackathon probíhá. Základem všeho je představení nápadů čili témat, kterými by se mohli účastníci zabývat. Téma je buď předem dané, nebo si jej vývojáři a další přítomní odhlasují. V praxi tak má každý prezentující vymezený čas, během něhož se snaží zaujmout co nejvíce svých kolegů / spoluúčastníků. Po prezentaci následuje hlasování a rozdělení do týmů. Rozdělení vychází z rozhodnutí jednotlivců či jejich zaujetí konkrétním nápadem. Počet členů jednoho týmu se obvykle pohybuje kolem 2-5 osob, může se ovšem navýšit v návaznosti na celkový počet účastníků či povahu hackathonu. Interní hackathon se může například sestavovat z pouze jednoho desetičlenného týmu.

jak probíhá hackathon

Konkrétní projekty pak mohou vycházet z předem zadaného tématu nebo volného výběru. Jakmile jsou týmy sestaveny přichází na řadu samotné programování, typicky doplněné bohatým občerstvením v podobě jídla a pití. Z hlediska času závisí hackathon čistě na organizačním týmu. Přičemž se délka trvání typicky pohybuje někde mezi několika hodinami a jedním týdnem. Ve všech případech platí pravidlo, že se tvoří takřka do vyčerpání, pouze s několika hodinami spánku.

Výhody hackathonu aneb co může přinést a proč se účastnit

Mezi výhody, které s sebou hackathon přináší tedy bezpochyby patří šance na to, aby jedinec i celá skupina prokázaly svůj talent. Podaný výkon tak může být určitou formou propagace nejen sebe, ale i vývojářského týmu a prostředek pro zisk nových zakázek. Z opačného pohledu pak prostředek pro vhodné doplnění týmu osvědčeným vývojářem. V každém případě se jedná o příležitost pro zisk nových, užitečných kontaktů.

Hackathonu ovšem nelze upřít ani vzdělávací funkci, kdy se v rámci řešení problémů i představení výsledků kodéři setkávají se zcela novým přístupem, který by je třeba nenapadl. Získávají tak inspiraci do budoucnosti a nabírají cenné zkušenosti, mezi které lze zařadit také práci pod tlakem, respektive pod striktním časovým limitem. Mnoho takto pořádaných akcí nabízí také různé přednášky od předních odborníků v oboru.

hackathon výhody proč

Výše zmíněné hovoří spíše o otevřeném (externím) hackathonu. Interní hackathon mimo některé zmíněné výhody přináší i něco navíc. Patří sem zejména stmelení programátorského týmu (takový nenucený teambuilding), lepší vzájemné poznání a trénink pro práci pod tlakem nad běžnými zakázkami. Hackathon ve firmě může být využit také pro vyřízení backlogu, na nějž v běžném ruchu typicky nezbývá čas nebo pro seznámení s novou technologií či programovacím jazykem. Původní myšlenky se tak mohou nenuceně stát prototypy.

Hackathon v praxi (příklady)

O užitečnosti pořádání hackathonů vypovídají i samotné výstupní produkty. Jedním příkladem za všechny může být nejrozšířenější sociální síť Facebook, která z jedné takové události vytěžila nejen nápad pro vytvoření chatu (později samostatné aplikace Messenger), ale i legendárních lajků čili tlačítka „to se mi líbí“.  Na podobných myšlenkách jako hackathon byla založena také jedna z interních praktik Googlu „20 % free time“, která znamenala, že se zaměstnanci v rámci své pracovní doby mohli po dobu jednoho dne (20 % týdenní pracovní doby) věnovat i jiným úkolům, než jim byly přiděleny.

Tato benevolence vycházela z předpokladu, že pokud se budou vývojáři mimo svých povinností zabývat i něčím, co je vyloženě zajímá a baví, tak z toho společnost bude mít ve výsledku větší užitek. Tato strategie v mnoha případech přinesla očekávané ovoce, jelikož v rámci 20% volného času vznikl základ například pro Google News nebo Gmail. Americký gigant nakonec z této taktiky ustoupil a projekty museli nejprve schvalovat manažeři. I tak se však tento přístup může stát inspirací, například pro zmíněné interní hackathony.

Hackathon a elektronické dálniční známky

V Česku se hackathon pojí ku příkladu s Brnem, kde se v době psaní článku chystá již třetí ročník události. Aktuálně s tematikou kolem zlepšení města v souvislosti se zkušenostmi nabytými během pandemie kolem nového koronaviru (COVID-19). Známější je však pravděpodobně kauza kolem Tomáše Vondráčka a hackathonu za účelem vytvoření e-shop řešení pro distribuci a správu elektronických dálničních známek. Původní realizace připadla na firmu Asseco Central Europe, která získala zakázku ve výši 400 milionů korun.

Proti tomu vystoupila řada odborníků a zmíněný podnikatel, který v lednu 2020 uspořádal hackathon, jehož se zúčastnilo 60 dobrovolníků s jediným cílem – vytvořit řešení pro výše uvedené dálniční známky. Akce probíhala přes víkend a výstupem skutečně byl požadovaný e-shop. Na produkci se z důvodu nedostatečné znalosti propojení a architektury ostatních vládních systémů nedostal. Projekt však ukázal další stránku hackathonu, kterou může být určitá forma občanského protestu. Koronavirus pak dal vzniknout také projektu „Hackni krizi“, který se snaží rozvíjet inovace, jež by napomohly při boji s onemocněním.

Jak organizovat interní (firemní) hackathon

Zbývá odpověď na poslední otázku, jak organizovat interní hackathon v rámci firmy. Prvním krokem by měla být volba zaměření, tematiky a cíle. Hackathon se v rámci firmy může zaměřovat na:

  • opravy chyb v softwaru, na které již delší dobu nebyl čas,
  • vyřízení většího množství požadavků od klienta,
  • vývoj zcela nové funkcionality nebo aplikace,
  • realizace nápadů „ze šuplíku“.

Na základě této volby je třeba zvolit jedno téma a cíl, kterého by se mělo dosáhnout. Druhou variantou je nechat o tematice hlasovat. Cíl by se měl v obou případech řídit principem reality, měl by být tedy uskutečnitelný, avšak ne příliš jednoduchý.

jak organizovat hackathon

Druhým krokem je zvolení konkrétního data. Pokud se jedná o vícedenní hackathon, tak obvykle spadá na pátek a sobotu, případně neděli. V pátek tak pracovníci dostávají „volno“, kterým je částečně kompenzován aktivní víkend. U jednodenního hackathonu volba dne není takřka ničím podmíněna, může tedy proběhnout i zkraje týdne, kdy pravděpodobně účastníci nebudou tolik vyčerpaní. Jakmile je známo datum, přichází na řadu sestavení týmu (týmů). Účast by neměla být v žádném případě povinná, rozložení však úměrné plánovaným činnostem (například aby dorazilo dost programátorů).

Na místě by mělo být zařízeno občerstvení a dostatečné zázemí pro to, aby vývojáři nemuseli nutně opouštět místnost. Typickými jsou sražené stoly, dostupný dataprojektor, tabule nebo velký arch papíru na nákresy a návrhy. Součástí přípravy je také harmonogram činnosti – čas vymezený na jídlo, aktualizaci pokroku apod. Průběh lze shrnout následovně.

  • Výběr řešeného projektu, případně představení vybraného projektu.
  • Jasná specifikace zadání, aby každý rozuměl, co je cílem.
  • Analýza řešení, zhodnocení, zda má smysl se projektu věnovat a současně návrhy dalšího postupu.
  • Vytvoření týmů, případně rozdělení rolí v rámci jednoho týmu.
  • Vytvoření seznamu dílčích úkolů (postupu řešení), lehčích i těžších, tak, aby měl každý zúčastněný neustále co na práci. Nikdo by však nad realizací jednoho z nich neměl strávit víc než 2-3 hodiny, aby se z původní zábavy nestala nuda a povinnost.
  • Kódování, designování.

Během práce by se nemělo zapomínat také na průběžnou aktualizaci a řešení případných problémů. Celou událost poté zakončuje finální prezentace výsledků, kde se týmy či jednotlivci chlubí čeho dosáhli. 

Související články

Více článků
Rascasone

Máte projekt nebo nápad?

Napište nám
CTA