Kommunikáció, mint kulcs a performancia problémák megoldásához

Kommunikáció, mint kulcs a performancia problémák megoldásához

Miért kulcsfontosságú a kommunikáció a performance problémák feltárása során?

Egy valós történet tanulságai

A szoftverfejlesztés világában a teljesítményproblémák gyakran nem hibás kódra, vagy konfigurációra vezethetők vissza, hanem a kommunikáció hiányára vagy félreértésére. A performance engineering egyik legfontosabb, mégis gyakran alábecsült aspektusa a különböző csapatok és szereplők közötti hatékony közvetítés. Egy történet jól példázza, milyen következményekkel járhat ennek hiánya és milyen eredményeket hozhat, ha mégis sikerül hidat építeni.

A probléma, amely gazdátlan maradt

Egy összetett projekt záró szakaszában, az integrációs tesztek során egy kulcsfontosságú API rendre timeout-ra futott, ami miatt főbb funkciók nem működtek a frontend-en. A frontend-et és kapcsolódó API-kat ugyanaz a beszállító csapat fejlesztette és szerintük szerint minden rendben volt, hiszen az ő tesztjeik sikeresek voltak és náluk az API hibátlanul működött. A backend üzemeltető csapat szintén elhárította a felelősséget, mert nem történt módosítás az ő rendszerükön és szerintük így hiba sem lehetett náluk.

A projektvezetés patthelyzetbe került. A határidők szorítottak, de senki nem vállalta a probléma feltárását.

Közvetítés a sorok között

Külsős szereplőként bekerülni egy ilyen helyzetbe sosem egyszerű. Ilyenkor az egyik leghatékonyabb megközelítés az, ha azonnali hibaelemzés helyett párbeszédet kezdeményezünk. Itt is ez a lépés volt a kulcs a performancia probléma feltárása kapcsán. A fejlesztőcsapatok meghallgatása,valamint a helyzet megértése az ő szemszögükből a kezdeti bizalmatlanságot könnyen oldotta.

Hasonló nyitottsággal történt a kapcsolatfelvétel a backend üzemeltetőkkel is. A cél nem a hibás megtalálása, hanem a közös megoldás keresése volt.

A hiba, ami valójában nem is volt fejlesztői hiba

A vizsgálat során hamar világossá vált: a frontend oldal túlzott mennyiségű és szükségtelen adatot kért le a backendből, nagyságrendekkel többet, mint amire ténylegesen szükség volt. A rendszer nem volt erre felkészítve, így a válaszidők megnőttek, a kérések pedig timeout-oltak. A fejlesztőcsapat nem hibázott és a specifikáció alapján fejlesztette le az API-t.

Hogy lehetséges, hogy jól lett lefejlesztve, de mégsem működik?

A nyomozás során kiderült a performancia követelmények nem voltak egyáltalán kezelve a projekt tervezése során. Ennek eredményeként a fejlesztői környezeten minimális mennyiségű adat mellett megfelelően működött az API, viszont valós körülmények és mennyiségű adatok mellett már előjött a performancia probléma.

Habár a hiba megoldásához a végén kellett kódot is módosítani, de az egy tervezési hiányosságból fakadt.

A hibáztatás helyett együttműködés

A frontend fejlesztők érthetően kellemetlenül érezték magukat, mert nekik kellett javítani valamit, amit nem éreztek saját hibájuknak. Ilyenkor mint külsős szereplő érdemes felajánlani a mediátor szerepét és közvetíteni a fejlesztői csapatok és a vezetőség, megrendelő között. Ami szükséges volt még, hogy a fejlesztő és üzemeltető csapatok együtt közösen és átlátható módon kommunikálták és így elkerülhetővé vált az egymásra mutogatás.

Az együttműködés eredményeként a probléma megoldódott, a csapatok pedig konstruktívabb, nyitottabb munkakapcsolatot alakítottak ki.

A valódi tanulság

Ez a történet nem csupán egy performancia probléma feltárásáról szól. Sokkal inkább arról, hogy a performance engineering nem kizárólag eszközökről, metrikákról és optimalizálásról szól, hanem emberekről, párbeszédről és megértésről. A világos teljesítménykövetelmények, a korai egyeztetések és a közvetítő szerepek megléte nemcsak időt és pénzt takarítanak meg, hanem csökkentik a stresszt, és erősítik a bizalmat a csapatok között.

Performancia problémák feltárása során érdemes arra emlékezni, hogy az  őszinte és nyitott kommunikáció ugyanúgy fontos, mint egy diagnosztikai eszköz.

A performancia üzleti jelentősége

A performancia üzleti jelentősége

Miért nem elég, ha egy rendszer működik?
Lassú rendszer, gyors ügyfélvesztés – üzleti tanulságok

 

Egy történet, amit sokan ismerünk

Az ügyfél bemegy a bankba, hogy módosítsa a lakcímét. A sorszámhúzás után hosszú várakozás következik. Végre sorra kerül, de az ügyintéző arca feszültté válik. A rendszer lassan tölt be, bizonyos műveletekre akár perceket kell várni. Az ügyintéző többször is elnézést kér:

„Elnézést, a rendszer most egy kicsit lassú…”

A lakcím végül módosításra kerül, de az ügyfél frusztráltan távozik. Nem az ügyintézővel volt baja, hanem az élménnyel. A háttérben pedig egy tipikus probléma húzódik: gyenge alkalmazásperformancia és hiányos obszervabilitás.

A láthatatlan hibák világa

A digitális rendszerek világában a „működik” nem elég. A valódi kérdés: mennyire működik jól, és tudjuk-e ezt bizonyítani?

Két kulcsfogalom segít ezt megérteni: alkalmazás performancia és obszervabilitás. (Az egyszerűség kedvéért az alkalmazás performanciára performanciaként fogunk hivatkozni)

Vizsgáljuk meg a performanciát!

Mit jelent üzleti nyelven a performancia informatikai rendszerek esetén?

A rendszer gyorsasága, stabilitása és skálázhatósága. Egy lassú vagy instabil rendszer:

  • csökkenti a konverziót,
  • növeli az ügyfélelvándorlást,
  • rontja a márka megítélését.

A banki példában a lassú rendszer miatt az ügyintéző nem tud hatékonyan dolgozni, az ügyfél pedig elveszíti a bizalmát. Több ilyen negatív élmény az ügyintéző is nyitottabbá válik olyan helyen dolgozni, ahol működnek és gyorsak a rendszerek. 

Hogyan mérhető egy informatikai rendszer teljesítménye?

A rendszer működését nemcsak érzésre, hanem konkrét számokkal is lehet értékelni amiben segítenek a Performancia Teszteknél használ KPI-ok. (Ezen KPI-okról bővebben)

KPI neve Mit mér? Miért fontos?
Availability Rendszer elérhetősége Kritikus SLA-k betartása (Service Level Agreement)
Response Time Mennyi idő alatt válaszol a rendszer egy kérésre Lassú válasz = rossz felhasználói élmény = alacsony konverzió
Throughput Hány ügyfelet tud kiszolgálni egy adott időszakban Skálázhatóság és terhelhetőség mértéke
Error Rate Hibás válaszok aránya Megbízhatóság és minőség indikátora

Működő vs. Jól működő rendszer

Tulajdonság Működő rendszer Jól működő rendszer
Betöltési idő Elfogadható, de változó Gyors és konzisztens
Hibakezelés Reaktív – utólagos javítás Proaktív – gyors felismerés és megelőzés
Felhasználói élmény Vegyes visszajelzések Magas elégedettség
Üzleti hatás Panaszok, elvándorlás, reputációs kár Növekvő konverzió, ügyfélmegtartás
Döntéshozatal alapja Hiányos vagy késleltetett adatok Valós idejű, megbízható információk

Mit tehetsz üzleti szereplőként?

Attól, hogy nem vagy fejlesztő még rendkívül nagy hatással tudsz lenni az informatikai rendszerek teljesítményére és átláthatóságára.

  1. Kérdezz rá a teljesítményre: Ne csak azt kérdezd, „működik-e?”, hanem azt is: „milyen gyorsan?”, „milyen terhelés mellett?”
  2. Kérj betekintést a metrikákba: Egy jó dashboard nemcsak az IT-nak szólhat, hanem az üzletnek is.
  3. Támogasd az obszervabilitási fejlesztéseket: Ezek nem „extra költségek”, hanem hosszú távú megtérülések.
  4. Használj közös nyelvet: A technikai és üzleti csapatok közötti híd a közös fogalmakon és célokon múlik.
  5. Tanulj meg olvasni a jelekből: Egy növekvő válaszidő vagy hibaarány gyakran előjele egy nagyobb problémának.
  6. Követelmények meghatározása: Új projektek esetén legyenek kezelve a performancia követelmények.
  7. Legyen a kultúra része: Akkor fog „jól működni” egy alkalmazás, ha ez közös cél.

A történet tanulsága

Ha a példában szereplő bank nem eszközöl változásokat:

  • Csökkenő bevétel: Az elmaradó tranzakciók és a szolgáltatás lassúsága miatt az ügyfelek nem veszik igénybe a szolgáltatásokat, ami közvetlen pénzügyi veszteséghez vezet.

  • Romló ügyfélkapcsolatok: Az elégedetlenség miatt egyre több negatív visszajelzés érkezik, az ügyfelek elpártolnak, és a vállalat hírneve jelentősen sérül.

  • Növekvő dolgozói stressz: Az állandó problémakezelés túlterheli az alkalmazottakat, ami kiégéshez és fluktuációhoz vezet.

  • Stratégiai hátrány: A nem megfelelő teljesítmény akadályozza a pontos döntéshozatalt és rontja a vállalat hosszú távú piaci pozícióját.

A digitális világban a versenyelőny nemcsak az új funkciókban rejlik, hanem abban is, mennyire jól működik egy rendszer és hogy lehet-e ezt bizonyítani. Ez nem csupán az IT szakemberek felelőssége, hanem mindenkié, aki a vállalat sikeréért dolgozik.