A teljesítményoptimalizálás nem egyszeri projekt. A teljesítmény folyamatos gyakorlat.
A munkafolyamat azt jelenti: a csapat hetente átnézi a teljesítményadatokat. A csapat megbeszéli a teljesítményt a napi egyeztetéseken. A csapat gondol a teljesítményre, amikor kódot ír. A csapat megünnepli a teljesítményjavulást.
Munkafolyamat nélkül: a teljesítmény idővel romlik. A csapat addig nem gondol a teljesítményre, amíg az oldal el nem romlik.
Munkafolyamattal: a teljesítmény idővel javul. A csapat teljesítménykultúrát épít. A teljesítmény érték.
Heti teljesítményrituálé
Minden hétfő reggel: a csapat átnézi a teljesítményriportot.
A riport megmutatja: mi javult a múlt héten, mi romlott a múlt héten, mire kell figyelni ezen a héten.
Csapatmegbeszélés: miért romlott a pénztár oldal LCP-je. Az új kód okozta. Szükség van vizsgálatra.
Eredmény: megvannak a teendők. A teljesítményjavítások bekerülnek a sprintbe.
Valós példa heti rituáléra:
- Hétfő 10 óra: teljesítményáttekintő megbeszélés
- A mutatók áttekintése: a főoldal LCP-je 0,2 másodperccel javult (jó), a termékoldal INP-je 50 ezredmásodperccel romlott (vizsgálni kell)
- Okelemzés: a termékoldal új funkciót kapott (ajánlómotor). A funkció JavaScriptet adott hozzá, ami az INP növekedését okozta.
- Teendők: az ajánlómotor JavaScriptjének késleltetése, a funkció kódjának optimalizálása
- Felelős: a javítással megbízott fejlesztő
- Határidő: szerdai élesítés
A teljesítmény beépítése a fejlesztési folyamatba
Egy funkció élesítése előtt: a fejlesztő megméri a teljesítményre gyakorolt hatást.
A funkció új lehetőséget ad. A funkció kódot is hozzáad. A kód növeli a csomag méretét. A nagyobb csomag ronthatja a teljesítményt.
Keretrendszer: teljesítménykeret. A funkció nem léphet túl a kereten.
Példa: új pénztár oldali funkció. Keret: legfeljebb 20 kilobájtot adhat a JavaScript csomaghoz. A fejlesztő megvalósítja a funkciót. A funkció 25 kilobájtot ad hozzá. A funkció túllépi a keretet. A fejlesztőnek optimalizálnia kell: el kell távolítania a nem használt kódot, szét kell bontania a csomagot, késleltetnie kell a kódot. A fejlesztő 20 kilobájtra csökkenti a funkciót. A funkciót jóváhagyják.
Valós példa: termékajánló motor bevezetése
Funkció: személyre szabott termékajánlatok megjelenítése a termékoldalon.
Teljesítménykeret: legfeljebb 50 kilobájtot adhat a csomaghoz.
Első megvalósítás: 50 kilobájt. A kereten van.
Tesztelés: mérd meg az LCP-t és az INP-t.
- Az LCP 2 másodpercről 2,3-ra nő (elfogadhatatlan, túllépi a keretet)
- Az INP 150 ezredmásodpercről 300-ra nő (elfogadhatatlan, túllépi a keretet)
A fejlesztő optimalizál: az ajánlatok késleltetett betöltése a látható rész alatt, az ajánlati adatok betöltésének halasztása addig, amíg az oldal interaktív nem lesz.
Új megvalósítás: ugyanúgy 50 kilobájt, de:
- Az LCP visszatér 2 másodpercre (a kereten belül)
- Az INP visszatér 170 ezredmásodpercre (a kereten belül)
A funkciót jóváhagyják: a teljesítménykövetelmények teljesültek.
Riportolás a vezetésnek
Havi riport a vezetésnek: teljesítménytrendek és üzleti hatás.
A riport szerkezete:
- Teljesítménycélok és haladás
- Versenytárs-összehasonlítás (hogyan állunk a versenytársakhoz képest)
- Üzleti hatás (a teljesítményjavulásból származó bevétel)
- Következő fókusz (mit optimalizálunk legközelebb)
Valós példa havi riportra a felsővezetésnek:
- Cél: a felhasználók 90 százaléka 2,5 másodperc alatti LCP-vel
- Haladás: jelenleg 87 százalék (a múlt havi 85 százalékról)
- Határidő: jó úton vagyunk, két hónap múlva elérjük a célt
- Versenyhelyzet: a versenytársak medián LCP-je 2 másodperc, a mi LCP-nk 2 másodperc (a mediánon, versenyképes)
- Üzleti hatás: a múlt havi teljesítményjavulások 0,5 százalékkal növelték a pénztár befejezési arányát. Havi 100 000 látogatónál ez 500 további konverzió. 100 dolláros rendelési értéknél ez havi 50 000 dollár többletbevétel. Évi 600 000 dollár.
- Következő fókusz: mobiloptimalizálás (a mobil LCP 1 másodperccel lassabb az asztalinál, lehetőség a mobil konverziós arány javítására)
Felvétel a teljesítménykultúrához
Olyan fejlesztőket vegyél fel, akik törődnek a teljesítménnyel. Interjúkérdés: mesélj egy teljesítményoptimalizálásról, amit megvalósítottál.
Olyan termékmenedzsereket vegyél fel, akik értékelik a teljesítményt. A teljesítmény javítja a felhasználói élményt és a konverziós arányt. A termékmenedzsereknek ismerniük kell az üzleti hatást.
Építs olyan csapatkultúrát, ahol a teljesítmény érték. Ünnepeld a teljesítménysikereket. Ismerd el azt a fejlesztőt, aki 0,5 másodperccel javította az LCP-t.
Valós példa: felvétel a teljesítménykultúrához.
Interjúkérdés a fejlesztőjelölthöz: írj le egy esetet, amikor teljesítményre optimalizáltál kódot. Mi volt a probléma. Hogyan mérted a javulást. Mi volt az üzleti hatás.
Jó válasz: volt egy lassú API végpontunk, ami 2 másodpercig tartott. A felhasználók panaszkodtak a lassú regisztrációra. Profiloztam a kódot, és találtam egy költséges adatbázis-lekérdezést. Gyorsítótárazást adtam hozzá. A válaszidő 200 ezredmásodpercre javult. A regisztrációk befejezése 2 százalékkal nőtt. Havi 50 további ügyfél. Évi 250 000 dollár többletbevétel.
A válasz megmutatja: a műszaki megértést (profilozás, gyorsítótárazás), a mérést (előtte és utána), az üzleti gondolkodást (hatás a regisztrációra és a bevételre).
Vedd fel ezt a fejlesztőt. A teljesítményre és az üzletre is gondol.
Gyakran ismételt kérdések
Hogyan motiváljuk a csapatot, hogy a teljesítményt tegye elsőbbségi ügyé?
Kösd a teljesítményt az üzleti mutatókhoz. Mutasd meg, hogy az 1 százalékos teljesítményjavulás 1 százalékos konverzió-növekedést jelent. Számold ki a bevételi hatást. Mutasd meg az optimalizálás költségét a nyert bevétellel szemben. A fejlesztők a hatással törődnek. A teljesítménynek mérhető hatása van. A fejlesztők elsőbbséget adnak neki. A WEMASY weboldalépítőjével ezt közvetlenül a saját weboldaladon beállíthatod.
A teljesítményoptimalizálás külön csapat legyen, vagy minden csapat feladata?
Minden csapat feladata. Minden fejlesztőnek gondolnia kell a teljesítményre. A külön teljesítménycsapat szűk keresztmetszet. A megosztott felelősség jobb. Minden fejlesztő felel a saját kódja teljesítményéért. A fejlesztési vezető számon kéri a csapatot.
Hogyan egyensúlyozzuk az új funkciókat és a teljesítményoptimalizálást?
A teljesítmény is funkció. Az új funkció plusz a teljesítményhatás a teljes költség. Tervezz mindkettőre. Példa: az új funkció egy sprintbe kerül. A teljesítményre optimalizálás további fél sprintbe. A teljes költség másfél sprint. Mindkettőt oszd be. A funkció és a teljesítmény együtt készül el.
Mi van, ha a vezetést nem érdekli a teljesítmény?
Mutasd meg az üzleti hatást. Az 1 százalékos konverziójavulás havi 50 000 dollárt jelent (egy tipikus webshopnál). A vezetés a bevételt érti. A teljesítményjavulás bevételjavulás. A vezetést érdekelni fogja.
Mennyi idő a teljesítménykultúra kiépítése?
Három-hat hónap. Első hónap: a mutatók és a vezérlőpult felállítása. Második hónap: indulnak a heti áttekintések, nő a csapat tudatossága. Harmadik hónap: a csapat elkezd gondolni a teljesítményre a kódolásnál. Hat hónap: a teljesítmény a csapat DNS-ének része. Az új fejlesztők az első naptól tanulják a teljesítménykultúrát.
Hogyan tartsuk fenn a teljesítménykultúrát, ahogy a cég nő?
Dokumentáld a gyakorlatot. Vezesd be az új fejlesztőket a teljesítménykultúrába. Első nap: mutasd meg a teljesítmény vezérlőpultot. Első hét: adj nekik teljesítményjavítási feladatot. Első hónap: tűzz ki teljesítménycélt. Az új fejlesztők megtanulják a kultúrát. A kultúra fennmarad.