Nagyjából 3 éve volt, hogy a Balasys Blackowl egyik beszélgetésén, azon nevetgéltünk, hogy milyen furcsa is lenne, ha naponta patch-t kellene futtatni a hűtőszekrényen, mert ha kinyitunk egy új hűtőszekrényt, biztosak lehetünk benne, hogy működni fog évekig, és legfeljebb a világítást kell benne cserélni. Egy szoftver esetében viszont természetesnek vesszük, hogy hetente érkeznek a frissítések, javítások, „hotfixek”.
Reális kérdés: Vajon tényleg rosszabb minőségű a szoftveripar, mint bármely más iparág?
Miért érzékeljük alacsonynak a szoftverek minőségét?
Ha kinyitunk egy új hűtőszekrényt, biztosak lehetünk benne, hogy hosszú ideig hibátlanul működik, esetleg a világítást kell benne javítani. A szoftverek ezzel szemben folyamatosan frissítéseket és javításokat kapnak. Ebből sokan ebből arra következtetnek, hogy a szoftverminőség rosszabb, mint a hagyományos iparcikkeké. De valóban így van?
A szoftverfejlesztés óriási komplexitást rejt:
· az alkalmazások számos rendszerrel és hardverrel integrálódnak, rendkívül bonyolult ökoszisztémába kell illeszteni
· a felhasználói igények, és a környezete gyorsan változnak,
· a biztonsági kockázatok pedig folyamatosan nőnek.
Emiatt a szoftverek „élő” termékek – folyamatosan fejlődnek, hibákat javítanak és új funkciókkal reagálnak a változásokra. Ez a dinamikus működés a karbantartás jele, nem feltétlenül a rossz kódminőségé.
Miért érkezik ennyi patch?
- Gyors piaci nyomás – A verseny miatt a cégek gyakran inkább kiadnak egy működő, de nem tökéletes terméket, majd javítják.
- Biztonsági fenyegetések – A kiberbiztonsági környezet folyamatosan változik, így mindig érkeznek új sebezhetőségek.
- Kompatibilitás – Új böngészők, új hardverek, új integrációk miatt a szoftvereknek állandóan alkalmazkodniuk kell.
- Agilis fejlesztés – A modern fejlesztési módszertanok (Scrum, DevOps) arra ösztönzik a csapatokat, hogy gyors iterációban dolgozzanak, ami természetes módon sok apró kiadást eredményez.
Rossz minőség = sok patch?
Véleményem szerint nem feltétlenül, sőt. A sok frissítés nem mindig a gyenge minőség jele, hanem sokszor annak a bizonyítéka, hogy a szoftver „él”, fejlődik, és reagál a felhasználói visszajelzésekre, valamint a környezet változásaira.
Másképp fogalmazva: egy hibátlanul működő, de évek óta frissítetlen alkalmazás ma már gyanúsabb, mint egy rendszeresen karbantartott és javított termék.
Persze nehéz lenne azt mondani, hogy az IT fejlesztéseknél minden rendben lenne a minőséggel. Nem véletlenül az egyik legdinamikusabban fejlődő területe az informatikának a minőségbiztosítás. Változnak a módszerek, újabbnál újabb technológiai megoldások érkeznek, automatizált technológia megoldások érkeznek.
Mit tehetnek az IT cégek, hogy javítsák a kód minőségét?
A kódminőség javításának módszereire külön cikket fogunk szánni, a jövő héten, de néhány pontba foglalva a legfontosabbak:
A legfontosabb a jó tervezés- Semmi sem helyettesíti, és már a funkcionális tervezésre is gondolok
Stuktúrált kódellenörzési folyamat (code review)
Automatizált kódelemző eszközök alkalmazása (integritás, szabvány sértés)
Természetesen a tesztelés (Unit tesztek és funkcionáls)
Jól működő CI/CD folyamatok
Moduláris tervezés ( A kódot kisebb részre bontjuk)
Tudásmegosztás, és dokumentáció (Milyen meglepetés)
Ezekről egy következő cikkben részletesen is írunk.
Ti mit gondoltok? A sok javítás inkább a gyenge minőséget jelzi, vagy a folyamatos fejlődést? És milyen további lépéseket látnátok szívesen a kódok minőségének javítása érdekében?


