Case study

Malé i velké lekce pro malé i velké programátory.

Výchozí stav

Konec roku 2020. Epidemiologický model Michala Beneše a nápad udělat z něj hru, která veřejnosti ukáže, jak načasování a síla opatření mění výsledek. Mělo to být hotové přes Vánoce, před další vlnou. Šli jsme do toho pro bono.

Co jsme udělali

Pět inženýrů, agilní sprinty, TypeScript, UI v Angularu, minimální backend nad JSON a automatické testy od prvního dne. Nejtěžší byla integrace simulačního jádra, které se během vývoje rychle měnilo.

Spuštění 28. ledna 2021. Odkaz z velkého zpravodajského portálu server přetížil. Vypnutí gzip pro statické soubory byla chyba. Přesun statiky na Cloudflare web stabilizoval. Během prvních dní 50 000 odehraných her, celkem přes 100 000 hráčů. Hru používali i lidé ve státní správě a psala o ní celostátní média.

7. února přišla reportáž v televizi a s ní násobně větší špička. Souběžně běžela záloha databáze. Výsledek: několik desítek minut nedostupnosti.

Výsledek

Hra splnila účel. Nejdůležitější poselství podle autora: odkládaná opatření stojí životy, školní dny a peníze. Pracnost vyšla na zhruba 80 člověkodnů SWEHQ, čtyřnásobek původního odhadu.

Co si odnášíme

  • Odhadovat konzervativně. I nadšení má svou cenu.
  • Převzatému kódu nejdřív porozumět, pak ho měnit.
  • Na návštěvnickou špičku se připravit předem: CDN, statika, žádné zálohy v primetime.
  • MongoDB při importu dat přečetlo bez chyby jen asi 10 % záznamů. Příště PostgreSQL.
  • Soudržný tým a junior, který dostal prostor navrhovat i programovat.
„SWEHQ was a professional team that genuinely cared about our project.“
Kvantitativní analytik, iniciátor projektu · Clutch

Všechny case studies

Další krok

Řešíte něco podobného?

Inženýr odpoví do dne. Do týdne máte poctivý pohled na rozsah, riziko a cenu.