Zpět
13 min čtení

Jak zorganizovat interní hackathon

Blogpost hackathonyBlogpost hackathony
Potřebujete rychle vyvinout nebo vykopnout malou funkcionalitu? Chcete vytvořit MVP, ale nemáte dostatek času? Nechce se vám pouštět do věcí jako Design Sprint, a zároveň si nemůžete dovolit utratit hromadu peněz? Chcete stmelit váš tým? Pak zavřete programátory, testera, field experta a designéry do jedné zasedačky, zajistěte, že budou mít kdykoliv co pít a jíst, a už večer se můžete dočkat slibného výsledku. Zní to jednoduše. A naštěstí to i vcelku jednoduché je.
Od
Barbora Strihová
| 15. 1. 2020
V PPC Bee už za sebou máme takových hackathonů sedm. Abychom je však zvládli úspěšně zorganizovat, hledali jsme inspiraci u mnoha různých zdrojů. Drtivá většina z nich se ale věnovala organizaci hackathonů externích - tedy že si pozvete do firmy lidi, které byste rádi eventuálně zaměstnali a touto cestou je otestovali, a ještě je nechali vymyslet nějaký skvělý nápad, který si můžete tak trochu ‘ukradnout’. Byť externí hackathony nepořádáme, neznamená to, že bychom proti nim něco měli. Právě naopak, v rámci našich interních hackathonů část jeho principů využíváme vedle principů agilu, Design Sprintu, vodopádu, a kdo ví čeho všeho ještě… :) 

https://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbTBFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--d8d3abe8d333668162c0f996817bee48464516ed/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQWxnQ2FRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--b1b529f8dfa4cfc5545b605b986d2f12cc3d32fa/foto-6.jpghttps://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbTBFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--d8d3abe8d333668162c0f996817bee48464516ed/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQXJBRWFRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--21b5f9fec4a1a26d9fca8e4bc575ac97c48ec932/foto-6.jpg

Za oněch sedm hackathonů jsme se toho spoustu naučili. A protože jsme velcí fanoušci vzdělávání, ať už sebe samých, nebo ostatních (např. v rámci PPC Bee Academy), rozhodli jsme se, že si koncept interních hackathonů nebudeme nechávat pro sebe a podělíme se o něj. Takže jsem sepsala návod, jak takový hackathon můžete zorganizovat i vy.

Před hackathonem

Vůbec nejzákladnější a nejdůležitější věcí celého hackathonu je vymyslet, co se na něm bude vytvářet. U nás pořádáme tři typy hackathonů: 

  • Bugkathon (snažíme se opravit co nejvíc bugů)
  • Client Hackathon (implementujeme co největší počet požadavků ze strany klientů)
  • Feature Hackathon (vyvíjíme od A do Z celou jednu funkcionalitu)

Ať už se chceme pustit do kteréhokoliv ze zmíněných hackathonů, vždy musí být splněna podmínka, že má během něj každý účastník co dělat. To znamená, že se najdou úkoly jak pro juniory, tak pro seniory. Zároveň nesmí být téma ani příliš jednoduché, ani příliš náročné. 

V případě Bugkathonu i Client Hackathonu předem připravíme seznam zhruba dvaceti úkolů. Některé náročnější, některé méně s tím, že kompletní zpracování každého úkolu by nemělo trvat déle než dvě hodiny. Stihli jsme si už ověřit i to, že pokud se na tomto druhu hackathonu řeší příliš velký úkol, nedělá to dobrotu. Velice důležité je při přípravě i to, aby byl každý úkol jasně a dobře popsán, a aby byla definovaná akceptační kritéria.

Pokud se chystáme pořádat Feature Hackathon, osvědčilo se nám nejprve se zamyslet nad tím, jestli má vůbec smysl takovou funkcionalitu vyvíjet v rámci hackathonu, a jestli se dá za jeden až dva dny zvládnout vytvořit funkční MVP. Analýza a návrh řešení probíhá až ráno na hackathonu, udělat si však malý průzkum u uživatelů, analýzu a předběžný návrh několik dní předem nemusí být na škodu.

Pokud už vím, co chci na hackathonu řešit, přichází na řadu zamyšlení se nad tím, koho všeho na něm bude potřeba. Bude to celý vývojářský tým? A co někdo z byznysu? Field experti? Takže si sestavte seznam lidí, včetně sami sebe coby organizátora (u nás účast kolísá mezi 6 až 12 lidmi). Dalším nezbytným (a mnohdy nelehkým) krokem je najít termín, kdy mají všichni čas a kdy je na celý den volná velká zasedačka s projektorem a tabulí. Osvědčilo se nám nedělat hackathon v pátek, kdy po celém týdnu všichni padají únavou. :) Podle nás je ideální doba pro pořádání hackathonu uprostřed týdne, začátek v 9 ráno a konec v 5 hodin odpoledne.

Téma, účastníky a datum už bychom měli, a tak nezbývá, než vyřešit poslední roh magického trojúhelníku peníze-čas-rozsah. Rozpočet. Vyhodou interních hackathonů je nízká finanční nákladnost. Občerstvení pro 7 lidí na jeden den nás vychází zhruba na 2000 Kč. Lidé z týmu jsou placeni jako by to byl jejich normální pracovní den. Oproti standardním měsíčním nákladům za vývoj vás tedy jednodenní hackathon vyjde dohromady na zmiňované max. 2000 Kč, a to se vyplatí. :) 

Příprava

A jak bude celý den probíhat? Dejte dokupy program dne. Dále nezapomeňte předem zařídit pití, oběd a další občerstvení, aby tým neumřel hladem. Zároveň si dejte pozor na to, aby nebylo jídlo moc těžké, aby vám tým při trávení neusnul. :) 

https://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbWNFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--63ad17873ca4a0648939869e21e18a0a87da84e8/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQWxnQ2FRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--b1b529f8dfa4cfc5545b605b986d2f12cc3d32fa/foto-4.jpghttps://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbWNFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--63ad17873ca4a0648939869e21e18a0a87da84e8/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQXJBRWFRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--21b5f9fec4a1a26d9fca8e4bc575ac97c48ec932/foto-4.jpg

Noc před hackathonem nechejte ve zvolené místnosti klimatizaci naplno. Pročistí se tím vzduch, a když se tam ráno nažene 7 lidí, bude trvat o něco déle, než se vzduch vydýchá. Dejte k sobě stoly a přichystejte každému účastníkovi místo s židlí a externím monitorem (vč. kabelů). Pamatujte také na zásuvky - jednu pro nabíječku od notebooku a jednu pro monitor pro každého.

Vyzkoušejte, jestli píšou všechny fixy a přichystejte hadr na mazání tabule. Mějte k dispozici papíry, píšící propisky, sticky notes papírky… Doneste do místnosti i odpadkový koš. Zkontrolujte, že funguje projektor. A pokud je zrovna léto, není na škodu mít navíc i větráky. Trávit totiž celý den v překlimatizované zasedačce, když je venku 35 stupňů, není žádná lahůdka.

https://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbWtFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--b0a7b49e8fa0893fee3285c007f838c5be3140dc/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQWxnQ2FRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--b1b529f8dfa4cfc5545b605b986d2f12cc3d32fa/foto-11.jpghttps://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbWtFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--b0a7b49e8fa0893fee3285c007f838c5be3140dc/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQXJBRWFRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--21b5f9fec4a1a26d9fca8e4bc575ac97c48ec932/foto-11.jpg


Hlavním cílem je to, aby se kdokoliv z týmu vůbec nemusel z žádného důvodu vzdálit z místnosti, a aby mohl celou dobu opravdu makat. Tzn., přestěhujte část kuchyňky do zasedačky - vodu, skleničky, ubrousky, apod. už mějte připravené tam. V chladícím boxu mějte předem zchlazená piva, energeťáky, atd… 

Posledním, ale nejdůležitějším krokem v rámci příprav je mít na hackathon připravené vývojové prostředí. Upřímně, ne vždy se nám to podařilo, a hackathon to dokáže docela pěkně pokazit. Stejně tak se samozřejmě hodí fungující internet

PRO Tip: Testovací prostředí si kompletně vyčistěte od jakýchkoliv pull-requestů a dočasně zvyšte počet containerů na testovacím serveru, abyste nemuseli dlouho čekat ‘než projdou testy’.

Důkladná příprava hackathonu dělá 80 % úspěchu. Teď ještě samotný hackathon. 

Den D - Hackathon

Ráno vždy začínáme analytickou částí, té se účastní kompletně celý tým. V případě Bugkathonu a Client Hackathonu společně procházíme všechny úkoly, abychom se ujistili, že všichni všemu rozumí a vymýšlíme jejich implementaci - ať už se jedná o to, jak to naprogramovat, jak bude vypadat front-end nebo jak se co otestuje… zkrátka klasická analýza a návrh. 

https://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbWdFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e08348956d0efc8cb739bb7f16e810c813922fec/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQWxnQ2FRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--b1b529f8dfa4cfc5545b605b986d2f12cc3d32fa/48263047236_3e49c4b15c_o.jpghttps://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbWdFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e08348956d0efc8cb739bb7f16e810c813922fec/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQXJBRWFRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--21b5f9fec4a1a26d9fca8e4bc575ac97c48ec932/48263047236_3e49c4b15c_o.jpg

Na Feature Hackathonu probíhá analytická část trochu jinak (stále platí to, že se jí účastní kompletně celý tým). Společně si představíme problém, který potřebujeme v rámci hackathonu vyřešit, a zhruba hodinu až čtyři pak vymýšlíme už konkrétní řešení. Kreslíme na tabuli, zjišťujeme, argumentujeme, navrhujeme. Před nedávnem jsme vyzkoušeli i techniku Design Studio. Tato část hackathonu působí docela jako takový menší team-building. Je však důležité mít na paměti principy vytváření MVP a ranní snění nepřepálit, jako při jakékoliv analýze a návrhu. 

Jakmile máme jasně vytyčený cíl dne, začíná implementační část. Sepíšeme si dílčí úkoly, vizualizujeme si je na tabuli a jedeme klasický kanban. Během dne pak máme zhruba dva status updaty, kdy si navzájem prezentujeme, co se nám do té doby podařilo vytvořit, a odstraňujeme případné problémy/blokátory (obdoba daily stand-upu ze Scrumu). Jinak programujeme, kódujeme, testujeme, případně připravujeme content. Zkrátka, celý tým se plně soustředí, aby se brzy dočkal vytouženého výsledku.

https://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbXNFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--8c2d83dc962a19edbaef6dd1c6dabc6c27c947f3/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQWxnQ2FRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--b1b529f8dfa4cfc5545b605b986d2f12cc3d32fa/48438649056_c9d9be69ef_o.jpghttps://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbXNFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--8c2d83dc962a19edbaef6dd1c6dabc6c27c947f3/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQXJBRWFRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--21b5f9fec4a1a26d9fca8e4bc575ac97c48ec932/48438649056_c9d9be69ef_o.jpg

Půl hodiny před koncem hackathonu máme finální demo. Odprezentujeme si čeho jsme dosáhli a viditelně si na tabuli sepíšeme, co všechno ještě chybí k tomu, aby se mohly rozdělané nedokončené úkoly dostat do produkce.

https://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbW9FIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--5fa333d8ba45c81432b343a3d1882b975ad33b5b/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQWxnQ2FRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--b1b529f8dfa4cfc5545b605b986d2f12cc3d32fa/foto-15.jpghttps://blogadmin.ppcbee.com/rails/active_storage/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbW9FIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--5fa333d8ba45c81432b343a3d1882b975ad33b5b/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VY21WemFYcGxYM1J2WDJ4cGJXbDBXd2RwQXJBRWFRT2doZ0U9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--21b5f9fec4a1a26d9fca8e4bc575ac97c48ec932/foto-15.jpg

Nebudu vám lhát, málokdy se nám podaří do úplného konce dotáhnout vše, co si ráno v analytické části vymyslíme. Když jsme s hackathony začínali, dost nás to štvalo. Ale uvědomili jsme si, že hackathon nám nabízí ideální příležitost pro to, abychom spojili síly na složité a navzájem na sebe navazující nebo na sobě závislé úkoly. Nejobtížnější úkoly se nám víceméně v rámci hackathonu podaří vyřešit. Úkoly které zbyly už pak většinou zvládne vyřešit každý sám, není potřeba týmové spolupráce. Klidně se tak mohou dodělat v dalších dnech. A je to tak v pořádku, nemusíme si za to utrhnout hlavu.

Tento důležitý fakt jsme si uvědomili při retrospektivě, která následuje po každém hackathonu. Co se podařilo? Co nám fungovalo, a co naopak ne? Chutná nám pořád pizza? Co je potřeba příště připravit lépe? Prostor ke zlepšení se najde vždy. A tak si všechny připomínky pečlivě zapište a příště udělejte hackathon zase o něco lepší. 

Tak co, chystáte se podobnou akci uspořádat i u vás? Nebo se bojíte, že je to přece jen velké a náročné sousto? Ať je to tak či onak, máme pro vás pár povzbuzujících motivačních statistik na závěr, aneb co se nám už na hackathonech podařilo zvládnout: 

  • opravit 18 bugů za 1 den
  • implementovat 6 klientských požadavků za 1 den
  • vytvořit kompletně celý Dashboard za 2 dny 

Nejspíš by se našla ještě další spousta věcí, které nám toho hodně daly, a kterými si potvrzujeme, že pořádání hackathonů se vyplatí. A jestli se vyplatí i vám? My věříme, že ano, ale to nezjistíte, dokud to sami nezkusíte, tak směle do toho! :) 





Baras
Barbora Strihová
Editor PPC Bee

Související články

Další články

Videotutoriály v PPC Bee

Uvědomujeme si, že ačkoliv vám kampaně vytvořené v PPC Bee přinášejí vysoký výkon, jejich nastavení nemusí být pro každého úplně hračka. A proto každý den usilujeme o vylepšení PPC Bee tak, aby se vám s ní pracovalo co nejpříjemněji. Zároveň se snažíme o to, abyste měli vždycky po ruce někoho nebo něco, co vám s nastavováním účtu píchne, když si nebudete vědět rady.

Od Michaela Zákopčaníková 3. 8. 2017 | 3 min čtení

Další články

Nemáte datový feed? Odteď stačí Google Sheets

Je jedna věc, bez které se v PPC Bee při tvorbě produktových, kategorických i DSA kampaní v žádném případě neobejdete - datový zdroj. Co však dělat, pokud žádný XML či CSV feed nemáte? Nově vám stačí tabulka v Google Sheets.

Od Adam Vašenda10. 10. 2019 | 3 min čtení

Další články

Jak vytvořit brand kampaně v PPC Bee

Přemýšleli jste někdy nad tím, jak by se v PPC Bee dalo vytvořit brandovou kampaň? Do nedávna to úplně nebylo možné, avšak s možností využít Google Sheets jako datový zdroj to není problém!

Od Adam Vašenda10. 1. 2020 | 7 min čtení