Jak funguje vývojový tým a programování v Seznamu

Seznam už má téměř tisícovku zaměstnanců a tři vývojová centra. Jak pracují programátoři v největší české internetové firmě, v textu popisuje šéf vývoje.

Oddělení vývoje Seznam.cz prošlo od svého vzniku mnoha změnami. Jednou z největších byl zejména počet lidí. Z několika „garážových“ vývojářů jsme narostli až do současného stavu, kdy v Seznamu pracuje téměř 200 vývojářů. Navíc nejsou všichni v jednom místě. Zhruba polovina pracuje na centrále v Praze, druhá půlka je pak v Brně a pár vývojářů sídlí i v Českých Budějovicích.

Při přerodu garážové firmy v jedničku českého internetu a s týmem rozesetým do tří měst po republice musely nezbytně proběhnout změny v řízení a nastavování procesů. Z malé firmy jsme firmou velkou a neustále se učíme, jak efektivně přistupovat k rychlému a přitom kvalitnímu vývoji. Prostě i sami sebe agilně vyvíjíme dál.

Decentralizovaný vývoj

Seznam.cz už má více než 950 zaměstnanců a rozhodně jej nelze považovat za malou firmu. Svoji centrálu má v Praze, kde sídlí také týmy odpovědné za produkty a služby (v Praze mimochodem roste nové velkolepé sídlo firmy). Na produktových manažerech leží zodpovědnost za to, jak se má služba chovat a co má uživatelům či našim klientům přinášet.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Seznam potřebuje zejména kvůli vzdálenosti vývojových týmů dva - papírový a digitální.

Takže v Praze sedí celé produktové oddělení a vývojová centra má Seznam.cz tři. Stejně velká jsou ta v Praze a Brně, nejmenší jednotka je na jihu Čech. Samotný vývoj služeb se ale neděje jen v jednom z našich vývojových center. Některé služby, například fulltextové hledání a Sklik, vyvíjíme ve více centrech. Už jen prostý fakt fyzické vzdálenosti mezi jednotlivými vývojovými centry i pražská lokace produktových manažerů nás donutily vybudovat síť videokonferencí a chat pointů. Jsou to naše nástroje efektivní komunikace.

Kromě zasedacích místností vybavených pro videopřenos máme tedy i různé koutky s počítači vybavenými webkamerami a online videochaty, kterým říkáme „chat pointy“. Díky nim dokážeme okamžitě komunikovat, podobně jako bychom seděli v jedné místnosti. Kolegy z Prahy tak vidíme a slyšíme denně a neujedeme ani kilometr po D1.

Agilní vývoj

Seznam.cz používá agilní vývoj. Dospěli jsme k němu samozřejmě přes různé vodopády, chaosy a experimenty. Nyní už druhým rokem používáme konkrétně SCRUM a KANBAN. Snažíme se vybudovat silné a sebeorganizované týmy, které nemají problém při výpadku jednotlivce. Důraz je tedy kladen na motivaci, rozvíjení a vzdělávání týmu, nikoliv jednotlivců.

Nejde to samo, je třeba se neustále učit a vzdělávat v tom, jak SCRUM správně funguje a co je třeba, aby vše běželo hladce. I toto sebevzdělávání je součástí práce našeho vývojáře.

Jak se pracuje se SCRUMem v Seznamu

Do typického týmu jedné seznamové služby (a je jedno, zda jde o tým, co pracuje na Seznam.cz Emailu, službách Sport.cz, nebo Sreality.cz) patří kromě vývojářů a webmasterů také produktový manažer dané služby a návrhář uživatelského rozhraní. Jsou služby, kde je součástí týmu i systémový administrátor. Do týmů teď začínáme zapojovat i testery, kteří nám z dlouhodobého pohledu mají pomoci zvýšit výslednou kvalitu kódu.

Klepněte pro větší obrázek
Vypadá to jako kvarteto, ale je to odhadování náročnosti.

Vzhledem k tomu, kolik lidí je v celém procesu zahrnuto, má vývoj dané služby svého scrummastera. Ten organizuje a vede schůzky i plánování a je v každodenním kontaktu s týmem. Každý den se totiž tým potkává na několikaminutovém shrnutí stavu projektu.

SCRUM v Seznamu jede obvykle v třítýdenním rytmu. Postupně se tedy vždy co tři týdny plánuje práce, implementují se změny, na demu se ukáže aktuální stav prací a nechybí ani retrospektiva. Tato jedna iterace se v terminologii SCRUMu nazývá sprint.

Jak vypadají jednotlivé sprinty

Plánování je typicky nejdelší schůzka v celém procesu. Produktový manažer na něm určuje, jaký je požadovaný stav, tedy cíl, který má být po ukončení sprintu dosažen. Důležité je pořádně už na začátku upřesnit zadání a požadavky. Tým se pak dále doptává a doplňuje si informace, které mu chybí. Výsledkem plánování je závazek týmu, co je schopen ve sprintu vyrobit. Každý krok má přitom svoji hodnotu vyjadřující jeho náročnost.

Ve fázi implementace se tým potkává každý den na takzvaném „stand-upu“, který trvá deset minut. Zde každý člen týmu sdělí ostatním, co dokončil v předchozím dnu, co má v plánu udělat ten den, a zda má nějaké problémy. Tým se potom snaží s těmito problémy pomoci.

Klepněte pro větší obrázek
Kolik zbývá na projekt času a kolik práce? Ideální stav versus skutečnost.

Pokud se objeví problémy, jejichž řešení není v silách týmu, hledá řešení scrummaster. K ukázce toho, co se během sprintu stihlo dokončit, slouží demo. Na to může přijít kdokoliv z firmy a vidí, v jaké fázi projekt je. Sprint ale pro tým končí až retrospektivou. Ta nám pomáhá, abychom se utvrdili v tom, co děláme dobře, a uvědomili si, co máme naopak zlepšit do dalších sprintů.

Prostor vyjádřit se zde dostane každý člen týmu. Jen tak se opravdu všichni mohou poučit a dál se rozvíjet.

I k agilnímu vývoji existuje cesta

V úplných začátcích, kdy jsme v Seznam.cz SCRUM zaváděli, jsme využívali hlavně klasickou tabuli a papírové lístečky. Postupně jsme zjistili, že nám chybí způsob efektivní evidence, a hlavně u virtuálních týmů, kde jednotliví členové pracují ve více lokalitách, nám chybělo i sdílení tabule.

Postupně jsme začali objevovat různé nástroje pro práci se SCRUMem. Těchto nástrojů jsme vyzkoušeli několik, až jsme se rozhodli, že nám nevyhovuje žádný z nich a bude lepší používat vlastní řešení. Máme tak systém, který minimalizuje redundanci informací, administrativu, byrokracii a přehledně vizualizuje průběh sprintu i celého projektu.

I když používáme převážně SCRUM, najde se místo i pro metodiku KANBAN. Tu používáme zejména pro maintenance nebo pro projekty, popřípadě fáze projektů, kde není vhodné používat SCRUM. KANBAN je volnější metoda agilního vývoje. Volnější je například v tom, že nedefinuje pevné časové rámce. Důležitější než čas je zde splnění zadaného úkolu. Tým má určen počet úkolů, na kterých může paralelně pracovat. Přitom platí, že další úkol si lze vzít až v momentě, kdy se nějaký jiný dokončí.

Každý tým je jiný

I přesto, že máme standardizovaný proces vývoje, je při takto velkém počtu vývojářů každý tým jiný. Je proto třeba ke každému z nich přistupovat individuálně. Pro mě jako šéfa vývoje v Seznam.cz je důležité, aby scrummasteři, kteří celý proces koordinují, jej dokázali i dobře vést. Musíme se prostě potkat ve věcech, které jsou pro nás klíčové, a řešit je včas.

Takže i přes všechna pravidla a procesy je každá práce a každý tým hodně jiný. Je nás 200 a všichni máme společný cíl – dělat svoji práci co nejlépe a každým sprintem se naučit něco nového.

Autor pracuje jako vedoucí vývoje ve společnosti Seznam.cz.

Diskuze (14) Další článek: Češi odkoupili od Američanů společnost IDEA Games

Témata článku: Technologie, Programování, Seznam.cz, Seznam Email, Celý proces, Celá místnost, Jednotlivý člen, Počítač vybavený, Fun, Tabule, Sídlo firmy, Druhá půlka, Fung, Velká vzdálenost, Efektivní komunikace, Společný cíl, Vývojový tým, Malý tým, Jak, Velká motivace, Požadovaná vzdálenost, Prostý fakt, Velká náročnost, Webkamery online, Sprint



Spousta řidičů v Česku riskuje pokutu kvůli umístění držáku mobilního telefonu. Zákon hovoří jasně

Spousta řidičů v Česku riskuje pokutu kvůli umístění držáku mobilního telefonu. Zákon hovoří jasně

** Kam s telefonem v autě, které nemá palubní počítač? ** Variant držáků je celá řada, ale každý má svá specifika ** Není možné jej umístit, kam se vám zlíbí

AutoRevue.cz
LegislativaPro řidičePříslušenství
Google není jen vyhledávač: 15 užitečných funkcí, o kterých možná ani nevíte

Google není jen vyhledávač: 15 užitečných funkcí, o kterých možná ani nevíte

** Google umí kromě vyhledávání i spoustu dalších věcí ** Vybrali jsme více než 15 užitečných funkcí a schopností ** Stačí zadat do vyhledávače ta správná klíčová slova

Karel Kilián
TipyVyhledávačeGoogle
Bývalý vývojář Messengeru tvrdí, že aplikace na pozadí může vybíjet telefony. A to zcela záměrně

Bývalý vývojář Messengeru tvrdí, že aplikace na pozadí může vybíjet telefony. A to zcela záměrně

** Bývalý vývojář Meesengeru odhalil nekalé praktiky aplikace ** Na dálku může dojít ke spuštění náročných výpočetních testů ** Díky tomu může dojít k velmi rychlému vybití telefonu

Martin Chroust
BaterieMessengerAndroid
Bude to o prsa. Facebook a Instagram pořád neví, kdy jsou zobrazené bradavky porno

Bude to o prsa. Facebook a Instagram pořád neví, kdy jsou zobrazené bradavky porno

**Meta má zjednodušit pravidla a být ke všem spravedlivá **Facebook s Instagram věnují samostatný odstavec bradavkám **Pravidla ale neřeší nebinární, transsexuální a intersexuální osoby

Petr Urban
InstagramFacebookSociální sítě
Za WhatsApp se bude platit! Za předplatné dostanete funkci, která je u konkurence zadarmo

Za WhatsApp se bude platit! Za předplatné dostanete funkci, která je u konkurence zadarmo

** Bylo to jen otázkou času ** Už i WhatsApp nabízí prémiové předplatné ** Za poplatek dostanete funkci, která je u konkurence zadarmo

Martin Chroust
předplatnéWhatsAppMobilní aplikace
Návod, jak dostat maximum z Peněženky Google

Návod, jak dostat maximum z Peněženky Google

Služba Google Wallet (Peněženka Google) schlamstla před několika měsíci platební aplikaci Google Pay. Díky tomu se původní platforma rozrostla o další funkce. Je zde však i prostor pro zlepšení.

Jan Spěšný
Šedý trh s předplatným se vymyká kontrole. Spotify, Netflix nebo Disney+ můžete mít doslova za pár korun

Šedý trh s předplatným se vymyká kontrole. Spotify, Netflix nebo Disney+ můžete mít doslova za pár korun

** Sdílení účtů mezi kamarády je jen začátek ** Dnes letí nákupy předplatných v Indii nebo na Aliexpressu ** Superlevné „netflixy“ ale mohou nakonec spíš škodit

Lukáš Václavík
PředplatnéNetflixSpotify
Jak rozmazat dům, aby vás sousedi nemohli šmírovat. Jde to v Mapách Google i na Mapy.cz

Jak rozmazat dům, aby vás sousedi nemohli šmírovat. Jde to v Mapách Google i na Mapy.cz

** Nelibí se vám, když cizí lidé okukují váš dům? ** Všechny mapové aplikace nabízejí možnost rozmazání snímku ** Máme návod pro Apple Maps, Bing Maps, Mapy Google a Mapy.cz

Karel Kilián
SoukromíNávodyMapy