24i je společnost spadající pod Amino Technnologies. Jejich cílem je dodávat zákazníkům video řešení, typicky IPTV (internetová televize), a VOD (video on demand) aplikace. Společně jsme pracovali na projektu CHL TV (Canadian Hockey League TV) - aplikace pro streamovaní zápasů nižších kanadských hokejových lig. V rámci spolupráce jsme si sáhli i na celou řadu knihoven vy- vinutých v rámci 24i a používaných na desítkách dalších aplikací.
Entertainment
24i
Web, Mobil, TV
24i se potýkalo s nedostatkem kvalitních vývojářů a z toho pramenícím pomalým vývojem a velkou bugovostí. Projekty byly dlouho odkládané a aplikace nebyly v dostatečné kvalitě.
Výzvou pro nás bylo začít pracovat na komplexním, již existujícím React Native projektu, jež používal celou plejádu různých JavaScriptových knihoven z dílny 24i. Tyto knihovny ale neměly téměř žádnou dokumentaci a nebyly napsané v TypeScriptu. Zároveň byla kvalita kódu v samotné CHL aplikaci nevalná. To vše bylo ještě umocněno špatným vývojovým procesem.
Hned na začátku spolupráce jsme přišli s návrhy, jak vzniklé problémy řešit. V první řadě bylo třeba začít postupně přepisovat kritické částí knihoven do TypeScriptu. Klíčové však především bylo začít pracovat na celkové vývojářské kultuře uvnitř 24i, včetně správného agilního procesu: nebát se převzít zodpovědnost a inspirovat ostatní vývojáře kvalitními code reviews a důsledným tlakem na kvalitu kódu.
Nejprve jsme identifikovali ty nejdůležitější části kódu. Na základě toho jsme vytvořili tasky na přepis jednotlivých knihoven do TypeScriptu a poté další tasky na refactor knihoven – zlepšení kódu, napsání unit testů a dokumentace.
V rámci snahy o zlepšení kultury dobrého kódu uvnitř 24i jsme postupovali nejprve prostřednictvím kvalitních code reviews. Nebáli jsme se otevřeně diskutovat problematické části kódu a navrhovat vylepšení. Do diskuse jsme zapojili co nejvíce vývojářů a s vyšším managementem iniciovali dialog o způsobech, jak vylepšit procesy uvnitř 24i. Řešili jsme i to, jak transformovat primárně marketingovou společnost, na společnost technologickou.
Naše práce se nyní projevuje v technologickém základu pro většinu aplikací, na kterých 24i pracuje. Zavedení technologií jako je TypeScript a zvýšená pozornost na kvalitu kódu dramaticky snižuje délku vývoje nových funkcionalit. Chyby v aplikacích je nyní jednodušší odhalit a opravit, a tím se zvýšila i spokojenost zákazníků a uživatelů. Nejde však jen o technické změny. Naší iniciativou zlepšit technologický stack a zavést lépe definované agilní procesy ve firmě se také zvýšila motivace vývojářů vylepšit aplikaci i v jiných aspektech, jako je např. user experience.
Jednou z největších změn, kterou jsme pomohli spustit do chodu, bylo postupné vyvážení marketingového a technologického zaměření firmy. Když jsme do 24i přišli, jednalo se primárně o marketingově zaměřenou společnost. Často se stávalo, že marketing prodával funkcionality bez konzultace s technickými týmy, čímž vznikalo nedorozumění o možných omezeních dané funkcionality. Na základě naší zpětné vazby proběhly v tomto směru ve firmě velké změny. Nyní je zákazník přesně informován o tom, v jakém stavu jednotlivé funkcionality aplikace jsou a jaká mají omezení. Zákazník je vždy v obraze a spokojený.
TypeScript, React.js, React Native
Copyright © 2024 All rights reserved