<img src="https://www.veneti.cz/img/cms/cz/blog/2022-11-11-jak-na-paradni-osvetleni-obyvaku-5-dil/04-jak-na-paradni-osvetleni-obyvaku-5-dil.jpg" style="max-width:400px;float:left;padding:10px 10px 10px 0px;border:0px;">Nakonec si s klientem ujasněte, co se stane, když se odhad nenaplní. Nabídněte mu pravidelné krátké reporty o průběhu práce, kdy mu řeknete, kde jste a co zbývá. Tím přebíráte odpovědnost za komunikaci, ale ne za nepředvídatelné události. Pokud se něco pokazí, řešte to věcně: popište důvod, nový odhad a konkrétní kroky, jak se vyhnout dalšímu zpoždění. Klient ocení, když místo omluv dostane plán.<br>
<br>
<br>
<br>
<span style="font-weight: 600;">Scrum je nejrozšířenější</span> agilní rámec, ale v českých firmách často končí jako polovičatá implementace. Než začnete, pochopte, že Scrum není o nástrojích, ale o lidech a pravidlech. Začněte s malým týmem o třech až devíti lidech, ideálně s jedním produktovým vlastníkem a jedním Scrum Masterem. Vyberte si konkrétní projekt s reálným zákazníkem – teoretické zkoušení na fiktivním zadání vám nedá zpětnou vazbu, kterou potřebujete.<br>
<br>
<br>
<br>
Pozor na používání DISTINCT, které často maskuje chybu v JOINu, kdy se řádky zbytečně násobí. Pokud vidíte DISTINCT, zeptejte se, proč tam je. Obvykle je lepší spojení upravit tak, aby nebylo potřeba. Také se vyhněte používání funkcí na agregovaných sloupcích v WHERE, protože to nutí databázi zpracovat všechna data. Místo toho použijte HAVING, ale pamatujte, že HAVING se aplikuje až po agregaci, takže je pomalejší než WHERE.<br>
<br>
<br>
<br>
Jak správně psát JOIN a subdotazy Při spojování tabulek se vyhněte křížovým spojením a dbejte na to, aby každý JOIN měl jasnou podmínku. Vždy spojujte přes indexované klíče. U subdotazů zkuste nejprve myslet na to, jestli je nelze přepsat pomocí JOIN. Například dotaz s IN (SELECT ...) může být po přepsání na JOIN rychlejší, ale ne vždy – záleží na databázi a distribuaci dat. Měřte obě verze a porovnejte.<br>
<br>
<br>
<br>
Komunikace odhadů času patří k nejcitlivějším momentům spolupráce. Zákazník chce jasný termín, vy ale víte, že se může cokoliv změnit. Základem je rozlišovat mezi pojmy „odhad" a „závazek". Odhad je pracovní hypotéza, závazek je pevný slib. Pokud obojí smícháte, dříve nebo později narazíte. Místo slov „bude hotovo" používejte „předpokládám" nebo „odhaduji". Tím dáváte najevo, že časový údaj není věštěním z křišťálové koule, ale výsledkem analýzy.<br>
<br>
<br>
<br>
Jak sdělit odhad, aby vzbuzoval důvěru Při sdělování odhadu vždy uveďte, z čeho vycházíte. Klient ocení, když mu řeknete: „Na základě podobných projektů předpokládám, že to zvládneme do tří týdnů." Tím dáváte najevo, že nejde o náhodné číslo. Zároveň si ověřte, zda klient rozumí tomu, že odhad může kolísat. Navrhněte si společný postup pro případ, že se práce protáhne – klienta informujte předem, ne až ve chvíli, kdy je problém na světě. Pokud cítíte, že klient tlačí na nereálně krátký termín, nebojte se říct, že to nejde, a vysvětlit proč.<br>
<br>
<br>
<br>
Další oblastí je infrastruktura. Místo ruční konfigurace serverů ji popište jako kód. Tím získáte možnost prostředí rychle vytvářet, měnit a mazat. Vybírejte nástroje, které odpovídají velikosti týmu. Pro malý tým stačí jednoduché řešení, pro větší organizaci budete potřebovat robustnější platformu. Nezavádějte ale příliš mnoho technologií najednou. Nový tým se snadno ztratí v nástrojích a zapomene na cíl: dodávat software rychle a spolehlivě.<br>
<br>
<br>
<br>
Druhým častým problémem je používání funkcí na sloupcích v podmínkách. Pokud napíšete WHERE YEAR(datum) = 2024, index na sloupci datum se nepoužije, protože databáze musí funkci aplikovat na každý řádek. Řešení spočívá v porovnávání intervalů: WHERE datum >= '2024-01-01' AND datum <'2025-01-01'. Stejně dejte pozor na operace typu LIKE s divokou kartou na začátku vzoru, které také znemožní využití indexu.<br>
<br>
<br>
<br>
Retrospektiva je nejcennější část, ale v českém prostředí se často přeskakuje nebo se mění na stížnosti. Použijte jednoduchý rámec: co fungovalo, co nefungovalo, co zlepšíme v příštím sprintu. Vyberte si maximálně jednu nebo dvě akce, které skutečně uděláte. Pokud si na retrospektivě řeknete „musíme víc testovat", ale nikdo to nezapíše a nepřiřadí vlastníka, nestane se nic. Zkuste rotovat role a mluvit i o procesu, ne jen o technice.<br>
<br>
<br>
<br>
Optimalizace SQL dotazů není jen otázkou rychlejší odezvy, ale také stability celé aplikace. Pomalý dotaz totiž blokuje zdroje, které potřebují ostatní operace. Nejčastější chybou bývá vybírání zbytečných sloupců pomocí hvězdičky a absence indexů na sloupcích používaných v podmínkách WHERE. Než začnete cokoli měnit, zapněte si logování pomalých dotazů a změřte si výchozí stav. K tomu se hodí příkaz EXPLAIN, který ukáže, jak databáze plánuje dotaz provést.<br>
<br>
<br>
<br>
Základním stavebním kamenem je požadavek. Vyberte metodu (GET, POST, PUT, DELETE) a zadejte URL adresu cílového endpointu. Pro testování často používáte lokální server, proto nezapomeňte na správný port. Po odeslání požadavku se zobrazí odpověď – status kód, hlavičky a tělo. Pro rychlou orientaci využijte barevné zvýraznění: zelená pro úspěšné kódy, červená pro chyby. Tělo odpovědi si přepněte do formátu JSON, pokud server vrací strukturovaná data.