KlientasAdform
SektoriusSkaitmeninė reklama (AdTech)
RegionasEuropa
Atlikti darbaiUI/UX atnaujinimas, pilnas testų padengimas, aukštos kokybės kodo bazės kūrimas
2002 m. Danijoje įkurta „Adform“ šiandien yra viena didžiausių privačių reklamos technologijų bendrovių pasaulyje. Įmonėje dirba daugiau nei 700 darbuotojų, o biurai veikia 18-oje šalių Europoje, Šiaurės Amerikoje bei Azijos ir Ramiojo vandenyno regione.
Iššūkiai
Būdama itin kompleksinių technologijų bendrovė, „Adform“ savo programinei įrangai kelia aukščiausius kokybės reikalavimus. Pagrindiniai iššūkiai, kuriuos įveikėme siekdami šių standartų:- Kodo skaitomumo ir struktūros atitiktis griežtiems vidiniams „Adform“ standartams
- Sistemos našumas (performance) kaip esminis prioritetas
- Pilnas kodo padengimas vienetiniais (unit), integraciniais ir galutiniais (E2E) testais
- Išankstinė visų galimų kraštutinių atvejų (edge cases) analizė ir suvaldymas
Tikslai
Pagrindinis tikslas buvo modernizuoti „Adform“ ekosistemos puslapius, išsaugant visas esamas funkcijas ir kartu sukuriant šiuolaikišką naudotojo patirtį (UX). Naujoji kodo bazė turėjo sklandžiai praeiti vidines peržiūras ir išleidimo procesus. Mūsų uždaviniai buvo:- Laiku įgyvendinti visų numatytų modulių pertvarką
- Pateikti aukščiausios kokybės kodą, reikalaujantį minimalių kliento korekcijų peržiūros metu
- Identifikuoti ir išspręsti visus techninius kraštutinumus dar iki „Adform“ kokybės užtikrinimo (QA) etapo
Sukurta vertė
Bendradarbiaudami su „Adform“, pilnai perprojektavome keturis modulius, sukūrėme backend sprendimą bei gausybę UI komponentų. Kiekvienam architektūriniam pasirinkimui skyrėme ypatingą dėmesį, siekdami ilgaamžiškumo ir stabilumo. Visi sprendimai rėmėsi šiais principais: - Naudojamos tik patikimos ir rinkoje pripažintos technologijos
- Nuosekliai taikoma geriausia programavimo praktika
- Architektūra suprojektuota taip, kad naujų funkcijų diegimas reikalautų minimalių resursų
- Pilnas testų padengimas užtikrina paprastą sistemos palaikymą ateityje
Baigtinis produktas – adform.com
Agile metodikaSiekiant lankstumo, pasirinkome „Kanban“ metodiką, kuri šiame projekte pasiteisino geriausiai. „Adform“ reikėjo nuolatinio patobulinimų srauto, o „Kanban“ leido abiem pusėms skaidriai stebėti pažangą ir operatyviai keisti prioritetus be griežtai apibrėžtų sprintų ciklų.
Kodo kokybėPriešingai nei daugelyje įmonių, „Adform“ techniniai reikalavimai yra lygiaverčiai verslo poreikiams. Nors patekimo į rinką greitis (time-to-market) buvo svarbus, galutinė kokybė išliko prioritetu. Aukšti standartai galiojo viskam – nuo UX dizaino iki paskutinės kodo eilutės. Geriausios praktikos čia buvo privalomos: jokių techninių skolų, tik švarus, plečiamas ir našus kodas, pilnai padengtas automatiniais testais.
Greita integracija„Adform“ platforma yra milžiniška ekosistema, kuriama šimtų inžinierių nuo pat 2002 metų. Norint atlikti prasmingus pakeitimus nepažeidžiant sistemos stabilumo, reikėjo itin greitai perprasti sudėtingą architektūrą. Mūsų komanda sėkmingai suvaldė keturis projektus su daugybe integracijų, užtikrindama rezultatų atitiktį „Adform“ inžinerinei kultūrai.
RezultatasMūsų komanda sėkmingai įgyvendino pilną integraciją su esama sistema, pagerino platformos našumą bei sukūrė naujus UI ir API komponentus, atitinkančius griežtus įmonės standartus. Galutiniams naudotojams tai užtikrino vientisą ir kokybišką patirtį.
„Kanban“ procesas padėjo išlaikyti sklandų bendravimą viso projekto metu. Didžiuojamės, kad sugebėjome pateisinti itin aukštus „Adform“ lūkesčius savo partneriams.
„Kanban“ procesas padėjo išlaikyti sklandų bendravimą viso projekto metu. Didžiuojamės, kad sugebėjome pateisinti itin aukštus „Adform“ lūkesčius savo partneriams.
Technologijos
Reklaminių skydelių valdymo modulio pertvarkymas buvo orientuotas į vartotojo sąsają (front-end). Naudojome „AngularJS“, kuris leido sukurti nepriklausomus, pakartotinai naudojamus komponentus, užtikrinančius vienodą patirtį visuose sistemos puslapiuose. Visi kūrimo procesai – minifikavimas, kompiliavimas, versijų pakavimas, vietinis paleidimas ir testų vykdymas – buvo automatizuoti pasitelkiant „Node.js“ ir „Gulp“.
Lygiagrečiai sukūrėme keletą RESTful API sprendimų. Backend daliai naudojome „.NET“ su MS SQL duomenų bazėmis. Gerai struktūrizuotos ir našios API buvo kritiškai svarbios siekiant užtikrinti greitą sistemos reakciją į naudotojo veiksmus.
Šių technologijų kombinacija leido sukurti sprendimus, kurie yra greiti, lengvai prižiūrimi ir paprastai išplečiami.
Kompetencijos
- Angular
- Node.js
- .NET
- Projektų valdymas
- Verslo lygio sprendimai (Enterprise)
- MSSQL
- TeamCity
- PowerShell
- Sistemų integracijos
- Reikalavimų analizė

