Proces izdavanja umjesto osobe koja ga pamti
Godina vođenja frontenda platforme s velikim prometom u sportu i medijima, na kojoj ono što ide u produkciju više ne ovisi o tome što jedna osoba pamti, nego o grani na kojoj se nalazi.
- Vrsta
- Frontend platforma i proces
- Godina
- 2023
- Linija rada
- Web aplikacije & softver
- Za
- Platforma s velikim prometom u sportu i medijima
- Opseg
- Proces izdavanja i okruženja, SSO, integracija oglasa, dizajn sustav
- Tehnologije
- Next.js (SSR), Drupal (headless), REST API
- Trajanje
- Godina dana, 2023. — frontend tim od četvero ljudi
Zadatak
Ovaj projekt prikazujemo bez imena klijenta. Posao je bio stvaran i angažman je bio stvaran, ali je 2023. izveden pod imenom druge tvrtke — DotDash nije bio ugovorna strana i klijent nije naš da ga imenujemo. Opisati se može sustav i godina vođenja njegova frontenda: platforma s velikim prometom u sportu i medijima, s Drupalom koji radi headless iza Next.js stranice renderirane na poslužitelju, i frontend tim od četvero ljudi.
Problem nije bio kod nego put do produkcije. Izdanja su išla preko osobe zadužene za izdavanje, čiji je posao uključivao i to da zna koji commitovi trebaju izaći tog dana ili tog tjedna — stanje izdanja živjelo je u nečijoj glavi, a ne na mjestu koje tim može pročitati. Put od spojene promjene do žive stranice bio je dug i težak, a na platformi te veličine to nije neugodnost. To je gotov posao koji stoji neobjavljen.
Što smo izgradili
Prvo što je napravljeno nije bila funkcionalnost. Postavljena su okruženja i model grananja, a zajedno su odluku o izdanju premjestili iz čovjeka u repozitorij: sve se spaja u develop, postoji zasebno okruženje za testiranje uživo, develop se promovira u staging kao kandidat za izdanje, a staging u master, koji je produkcija. U produkciju ne ulazi ništa osim tim putem — pa se na pitanje što je u izdanju sada odgovara gledanjem, a ne pamćenjem.
Prijava je bila druga stvar koja je morala postati sigurna za mijenjanje. Korisnički računi radili su na vlastitom SSO servisu izgrađenom unutar kuće i dijeljenom s ostalim aplikacijama klijenta, pa je frontend bio jedan od više korisnika tog servisa, a promjena na krivom mjestu mogla je odjaviti ljude iz nečega s čim nije imala veze. Poteškoća nikad nije bio protokol, nego složenost onoga što je naraslo i nepostojanje organiziranog načina rada na tome. Odgovor je bio isti — mjesto na kojem se to može isprobati prije nego dođe do ikoga. Integracija oglasa i ostalih komercijalnih potreba stranice stajala je u istom frontendu i išla istim putem.
Uz inženjerski dio išao je dizajn sustav: pedesetak komponenti koje koristi glavna stranica i dvoje dizajnera čiji je rad u njega ulazio. Vođenje obiju polovica bilo je dio uloge, a držati ih zajedno i jest cijela poanta — dizajn sustav ostaje istinit samo dok su ono što dizajneri crtaju i ono što razvojni tim isporučuje ista stvar. Kad komponenta postane jedinica promjene, ona je i jedinica pregleda, a to je ono što brz put do izdanja čini održivim umjesto neopreznim.
Što sada radi
Proces izdavanja nadživio je angažman i platforma i danas izdaje kroz njega. Ritam više ne određuje koliko procesa jedna osoba može iznijeti, nego odluka: tjedno gdje tako odgovara, dnevno gdje ne.
Brojku ovdje ne navodimo, iako je jedna bila nadohvat ruke — ritam je mogao ići na dnevni. No nitko nije mjerio vrijeme od spojene promjene do produkcije ni prije ni poslije, a broj naveden sada bio bi pogodak s decimalom. Provjeriti se može oblik posla: put do izdanja koji nitko ne mora nositi u glavi, četiri okruženja od kojih svako odgovara na drugo pitanje i dizajn sustav od pedesetak komponenti koji i dalje stoji iza stranice. Frontend je bio polovica koju smo vodili; Drupal nije bio naš.
- Next.js
- Drupal
- Proces izdavanja
- Dizajn sustav

