Ad management, který svět neviděl

Zhruba před 4 lety jsme dostali nápad, že by se nám mohl hodit nový v TypeScriptu napsaný framework. Jeden z hlavních důvodů byl ten, že jsme chtěli přejít na Angular 2, který je sám v TypeScriptu napsaný a moc se nám nechtělo kombinovat TypeScript a starý framework napsaný v JavaScriptu. Navíc jsme věděli, že staré řešení má nějaké mouchy a jelikož se rádi učíme z chyb, rozhodli jsme se, že uděláme nový a lepší framework v TypeScriptu. To se stalo skutečností a po nějaké době jsme měli nový nablýskaný framework.

Čas na experiment

Takže máme nový framework, teď už potřebujeme jen nějaký projekt na kterém si budeme moct vše reálně vyzkoušet a vyrobit naši první aplikaci. Tak co bychom mohli dělat? Ideálně by to chtělo nějaký projekt, na kterém vše nejen otestujeme, ale zároveň bude užitečný pro naše zákazníky a stane se součástí našeho ekosystému. Chvíli jsme diskutovali co by to tak mohlo být a nakonec padlo rozhodnutí, že Ad management (kus systému na vytváření a správu reklam, které se nakonec zobrazí návštěvníkovi nějakého webu) je vhodný adept na první aplikaci. Proč? Dovedli jsme si představit, že zrovna tato část systémů je oddělitelná od toho našeho již existujícího monolitu a může fungovat samostatně. Navíc to byla zrovna doba, kdy jsme občas narazili na nějaké nedostatky stávajícího Ad managementu a zdálo se, že tam stejně budeme muset dělat nějaké změny a programovat nové funkce. Například podporu nových typů reklam nebo komplexních formátů, což jsou reklamy, které se skládají z více obrázků. Takže začalo být jasno. Hurá na nový Ad management.

Vydáváme se analyzovat

Vyrobit skvělý nový Ad management by pro nás neměl být větší problém. Firma se přece v oblasti „ad tech“ pohybuje už víc než 20 let a někteří kolegové v minulosti už nejednou něco podobného vymýšleli. Celkem dost lidí se podílelo i na poslední verzi Ad managementu, o které jsme věděli, že nějaké chyby má. Navíc máme pořád po ruce zákaznickou podporu, kde se kolegové dostávají při používání našich systémů nejblíže reálnému světu. Zkrátka jsme plní zkušeností a s vizí, jak teď všechny zkušenosti využijeme a naprogramujeme skvělý produkt se zavíráme do zasedačky.

Začínáme se zevrubnou analýzou domény, bavíme se o tom co je to vlastně ad, k čemu slouží, z čeho se skládá, jaké typy reklam v současnosti existují a jaké se ještě třeba v budoucnu objeví. Taky si klasicky řekneme jaký chceme, aby nový Ad management byl, co by měl všechno umět nebo jaké chyby z minulosti nechceme opakovat. Je taky potřeba nadesignovat backend, API a samozřejmě taky UI. Tam jsme cítili, že bychom měli udělat velký krok vpřed, protože staré UIčko vypadalo nějak takto a naše vize byla trošku jiná.

Kromě redesignu jsme chtěli začít podporovat i všechny formáty reklamy podle IAB standardů, nabízet různé flexibilní šablony reklam a v neposlední řadě i komplexní formáty, které se zdály nejsložitější. Je totiž potřeba koncovou reklamu poskládat z více obrázků a ty pak společně vykreslit na stránce. Ale obecně vzato jsme chtěli mít nový Ad management co nejvíce generický, abychom byli připraveni na to, jak se bude reklamní trh vyvíjet. Zkrátka připraveni na všechno, i na to co ještě neexistuje.

Po pár týdnech analyzování jsme měli k dispozici první prototypy nového UI. Pro klasické reklamy jsme naplánovali, že si uživatel zvolí jaký banner právě vyrábí a potom v reálném čase uvidí, jak se mění jeho vzhled a chování podle toho, jak mění nastavení. Pomocí šablon jsme zase chtěli zákazníkům umožnit vytvořit jakýkoliv reklamní formát se jim zlíbí. Zkrátka samé krásné plány a prototyp UI vypadal nějak takto:

Začínáme vyvíjet

Pouštíme se do vývoje a skutečně se pomaličku začíná rodit nová aplikace. Spolu s tím odhalujeme a opravujeme bolístky nového frameworku, děláme další a další vylepšení a v neposlední řadě se učíme spoustu nových věcí. To je na jednu stranu super, ale na druhou stranu to trošku zpomaluje vývoj aplikace samotné. Týdny plynuly, Ad management pomalu rostl, ale stále jsme neměli nic co by šlo poslat do produkce a začít používat v reálném světě. Mezitím však začal růst tlak na vyřešení dalších požadavků zákazníků a my jsme začali poprvé cítit, že by bylo dobré aplikaci dokončit.

Paradoxní na té situaci bylo, že jsme necítili tlak na dokončení Ad managementu samotného a nebýt jiných požadavků, u kterých pomalu ale jistě jejich priorita rostla, možná bychom Ad management dělali dodnes. Takže jsme se začali ptát – „Kde je vlastně zákazník, který čeká na nový Ad management?“

Hledáme zákazníka

Jsme tedy ve fázi projektu, kdy už je část aplikace před dokončením. Jde hlavně o část na správu klasických bannerových reklam a my začínáme hledat zákazníka, který by to mohl vyzkoušet a dát nám nějakou první zpětnou vazbu. No, jenomže o nějakých nových funkcích potřebných pro bannerové reklamy žádní zákazníci nemluví a o komplexních formátech už vůbec ne.

Začínáme si uvědomovat, že se někde asi stala chyba a snažíme se znovu ověřit jestli jsou nové funkce pro správu reklam a potřeba podpory nových formátů stále součástí nějaké strategie a budou opravdu v dohledné budoucnosti potřeba. Dozvídáme se, že jsou už na stole urgentnější požadavky a mezi nimi například i podpora servírování video reklamy v jednom našem starším systému. Nejdříve jsme trošku pookřáli, protože video reklamy je potřeba taky v nějakém Ad managementu spravovat, aplikace na které jsme týdny pracovali je dost obecná na to, aby podporovala i video a nějaké prototypy UIčka jsme také měli. Jenomže situace se změnila a už jsme měli na druhé straně čekajícího zákazníka s jasným datem, kdy chce náš starší systém začít používat pro video reklamu. Po pár diskusích jsme zjistili, že v integraci nového Ad managementu do starého systému jsou nějaké problémy a různé další neznáme, což by mohlo přinést komplikace. Tím pádem jsme se rozhodli, že bude bezpečnější a rychlejší naprogramovat podporu videa přímo do starého systému. Vývoj nového Ad managementu tak šel k ledu. Alespoň jsme mohli použít prototypy UI, které se rodily při analýzách. Takže nápady na automatické konverze do různých video formátu nebo optimalizace kvality pro různé typy zařízení nepřišly vniveč. Pozitivní věc.

Ne tak pozitivní věc naopak je, že dnes už je celý nový Ad management smazaný a nikdy nespatřil skutečného zákazníka. Jak plynul čas, tak se ukázalo, že v blízké době aplikaci nebudeme potřebovat a akorát to přinášelo starosti s údržbou kódu, hlavně co se týče aktuálnosti a bezpečnosti.

Jaká ponaučení jsme si z toho vzali

1. Když už chceme s něčím experimentovat (v tomto případě s novým frameworkem), tak bychom si taky mohli stanovit cíl a konec experimentu. Ideálně něco menšího, kde vyzkoušíme vše co potřebujeme. Hlavně ne velký projekt na několik měsíců.

2. Když chceme přijít s novým a krásným řešením různých problémů zákazníků, radši bychom si měli (klidně několikrát) ověřit, že takový problém skutečně mají. Pokud na druhé straně není čekající zákazník, tak neexistuje tlak na dokončení projektu a zároveň si ani není možné průběžně ověřovat, že se projekt ubírá správným směrem.

3. Nesnažit se hned od začátku vyvíjet aplikaci k dokonalosti a až potom zahrnout zákazníka. Vyplatí se vyvíjet malé smysluplné celky a k těm pak sbírat feedback. Možná bychom včas zjistili, že děláme něco, co aktuálně nikdo nepotřebuje. Podobného tématu jsme dotkli i v tomto článku.

4. Pokud víme, že nový kus našeho systému bude potřeba postupem času nějak zintegrovat s nějakou starší části aplikace, zamysleme se nad způsobem jak to udělat spíše na začátku nového projektu než na konci. Tentokrát jsme těžkosti objevili až příliš pozdě a byl to jeden z důvodů proč k integraci nikdo nedošlo.

Líbil se ti tento článek?

Odeslat komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.