Pay as you go vs. FTFP| Mňamka #216
V ideálním světě by se v daném termínu stihl realizovat dohodnutý rozsah práce za domluvenou cenu.
V praxi datových projektů se ale ideálu dosahuje obtížně. Je tedy třeba se dle konkrétního případu rozhodnout pro vhodný model řízení dodání projektu. Důležité je analyzovat velikost a dopady rizik, charakter projektu, očekávané výstupy a prostředí, ve kterém má projekt probíhat.
Pro začátek si modely dodání můžeme rozlišit na tradiční a agilní přístup. Tradiční přístup (níže zastoupený jako Fixed time Fixed price) vychází z toho, že již na samotném začátku projektu jsou dané všechny vrcholy trojúhelníku Rozsah - Cena - Termín. Agilní přístup pak (velmi zjednodušeně) přichází s tím, že zafixuje dva vrcholy trojúhelníku a třetí nechá ve volnosti k průběžným změnám. Například zafixujeme cenu s termínem a víme, že v termínu X za cenu Y bude hotovo to, co bude na projektu zrovna nejdůležitější. Více o agilnilně řízených projektech psal Patrik zde.
V BizzTreat používáme dva základní modely pro řízení projektů: Pay as you go a Fixed time Fixed price. Pojďme se podívat na jejich výhody a nevýhody:

Fixed time Fixed price
Model Fixed Time Fixed Price (FTFP) zafixuje cenu, termín i rozsah projektu. Obecně se tento model hodí na jednorázové projekty a skýtá několik úskalí, především pro stranu dodavatele.
FTFP bychom použili preferovaně v případech, kdy:
- Firemní politika, procesy tvorby a schvalování rozpočtů si “nerozumí” s agilnějšími přístupy.
- Je velmi důležité, aby nebyl překročený připravený rozpočet. V extrémních případech se může stát, že požadavek na nepřekročení rozpočtu má vyšší prioritu než samotné dodání funkčního projektu.
- Charakter projektu neumožňuje pouze částečné nasazení, je potřebné, aby byl projekt nasazený jako kompletní.
- Neočekáváme dlouhodobou spolupráci, ale pouze jednorázový ucelený (a časově ohraničený) úkol, např. potřebujeme přenést data ze systému A do systému B.
Model FTFP přináší zvýšené riziko na straně dodavatele v podobě překročení rozpočtu nebo kapacit. Při prvotní analýze často není možné odhalit veškeré podrobnosti datového prostředí objednatele. Dodavatel pravděpodobně riziko zohlední při plánování kapacit přirážkou k ceně ke kompenzaci rizika a pokrytí neočekávaných nákladů nad odhadnutý rámec.
Pro dodavatele je model FTFP naopak výhodný v případě, když se během realizace projektu ukáže, že úvodní odhad byl přestřelený, a projekt je možné realizovat za využití nižších zdrojů. Pro dodavatele to znamená, že dostane zaplaceno i za práci, kterou nakonec nebylo třeba odvést.
Pay as you go
Model Pay as you go bychom zařadili k těm agilnějším a s oblibou ho využíváme u dlouhodobějších projektů. Oběma stranám, dodavateli i objednateli, přináší flexibilitu ve směrování datových aktivit. Smluvně daná je zde obvykle pouze jednotková cena za práci datového detektiva, případně i časový rozsah odvedených prací (při větším odběru hodin a stabilitě odběru v čase se jednotková cena snižuje).
Mezi vhodné situace pro použití modelu Pay as you go patří:
- Objednávající firma je zvyklá pracovat agilně. Umí průběžně vyhodnocovat datové potřeby jednotlivých zaměstnanců nebo oddělení a na základě toho stanovit priority rozvoje.
- Na začátku práce není jasně definovaný rozsah práce a počítá se s jeho dalším průběžným upřesněním.
- Objem rozsahu spolupráce se může v průběhu času měnit (tedy při počátku projektu existuje požadavek ze strany objednatele na průběžnou schopnost přizpůsobení rozsahu projektu, ať už z finančních, rozsahových či jiných důvodů).
- Dlouhodobě nastavená spolupráce zahrnující datové aktivity ve více paralelně běžících či sériově uspořádaných projektech.
Mezi nevýhody modelu patří fakt, že se časový rozsah projektu může postupně stále více prodlužovat. V praxi je třeba na to průběžně myslet, sledovat rozsah odvedených prací a v případě, že by se situace začala stávat neúnosnou, domluvit se na přechodu na jiný model (např. fixně definovat množství hodin k dokončení tohoto projektu, kdy převis hodin již půjde na vrub dodavatele).
V modelu Pay as you go funguje většina projektů v BizzTreat. Zpravidla jednou týdně s klienty procházíme aktuální stav projektů a priority. Často se stává, že se priority na straně klienta dynamicky mění. Díky svobodnému modelu se těmto požadavkům můžeme přizpůsobit a dělat datové projekty tak, aby nám dávaly smysl.
Který model použít?
Model Fixed time Fixed price je vhodný pro jednorázové, kritické a jasně definované projekty. Agilnější model Pay as you go je vhodný pro dlouhodobou spolupráci v dynamicky se měnícím prostředí požadavků.
Pandas – k čemu slouží, k čemu jej raději nepoužijeme a jeho alternativy | Mňamka #435
Pandas je jednou z nejpoužívanějších knihoven pro zpracování dat v jazyce Python. Jeho největší předností je zejména jednoduchá a intuitivní syntaxe a také rychlost, se kterou můžete zpracovávat velké datové soubory. V BizzTreatu ho proto často využíváme např. pro ad hoc analýzy dat, kdy potřebujeme rychle prozkoumat, jak data vlastně vypadají a jaká je jejich kvalita. V dnešní mňamce od Báry si ukážeme, kde všude lze Pandas použít a jak si stojí v porovnání s ostatními knihovnami!
Keboola transformace – v hlavní roli proměnné | Mňamka #432
Co dělat, když se váš projekt liší jen v několika důležitých parametrech? No mohli byste samozřejmě všechno hardkódovat, to je ale značně pracné. V BizzTreatu proto raději dáváme přednost hojnému využívání proměnných. Jednak se s nimi lépe pracuje a zároveň nám usnadňují následnou správu kódu. V Keboola transformacích přitom máme hned dva typy proměnných – ty keboolácké a ty snowflakové. V dnešní mňamce od Kristýny si ukážeme, jaký je mezi nimi rozdíl a kdy a jak je používat!
MAQL I. - MAQL vs SQL | Mňamka #427
SQL dozajista velmi dobře znáte, jak jste na tom ale s takovým MAQL? Pokud si chcete rozšířit obzory o další dotazovací jazyk, tak to jste na správném místě. MAQL je uživatelsky přívětivý jazyk, se kterým se můžete setkat při práci v GoodData, a naše Péťa si o něm připravila krátkou minisérii. A hned v prvním díle tu máme malé srovnání pro všechny zaryté fanoušky SQLka. Ukážeme si totiž, k čemu vám může být MAQL užitečný a kolik práce vám díky předdefinovaným operacím ušetří. Tak pojďme na to!