Barion Pixel
Oldal kiválasztása

Az elmúlt időszakban a szoftverfejlesztés termelékenysége fokozatosan, de észrevehetően növekedni kezdett.

A kódgenerálásra optimalizált nyelvi modellek megjelenésével az elmúlt fél évben ezek a megoldások olyan érettségi szintet értek el, hogy beépülve a fejlesztői eszközökbe, bizonyos feladatokban agent jelleggel is használhatók.

De van egy kérdés, amit ritkábban teszünk fel:

Mi történik a fejlesztési folyamat többi részével, ha a kódírás sebessége hirtelen megnő?

A fejlesztés nem egyedül létezik

Gyakran hajlamosak vagyunk a szoftverfejlesztést a kódírással azonosítani, mintha a munka döntő része ott történne. A gyakorlatban azonban a fejlesztés csak egy állomás egy hosszabb folyamatban, amely több, egymásra épülő lépésből áll:

  • követelmények értelmezése
  • tervezés
  • implementáció
  • code review
  • tesztelés
  • üzemeltetés
  • támogatás

Ez egy rendszer, nem különálló feladatok halmaza.

És mint minden rendszerben, itt is igaz egy alapelv:

a teljes rendszer áteresztőképességét mindig a legszűkebb keresztmetszet határozza meg.

Mi történik, ha a fejlesztést gyorsítjuk?

Vegyünk egy egyszerű példát.

Egy fejlesztő AI-támogatás nélkül egy adott tempóban halad, míg AI-támogatással ugyanannyi idő alatt érezhetően nagyobb mennyiségű forráskódot képes előállítani.

Ez önmagában nem probléma. Sőt, kifejezetten előny.

A kérdés ott merül fel, amikor rövidebb idő alatt lényegesen több kód kerül a fejlesztési folyamat következő lépéséhez.

A kód előállítása jól skálázható, az azt követő elemzési és ellenőrzési kapacitás azonban lényegesen kevésbé.

A szűk keresztmetszet nem ott keletkezik, ahol várnánk

A fejlesztési folyamatban a szűk keresztmetszetek sokszor nem technikai, hanem emberi oldalon jelennek meg:

  • manuális ellenőrzés
  • döntéshozatal
  • felelősségvállalás
  • mentális terhelés

Ezek nem skálázódnak lineárisan.

Minőségbiztosítás nagyobb volumen mellett

A kódellenőrzés és a tesztelés a fejlesztési folyamat természetes és szükséges részei.
Ezek a lépések biztosítják, hogy az elkészülő megoldások hosszabb távon is fenntarthatók maradjanak.

Amikor azonban a kód előállításának üteme növekszik, ezek a minőségbiztosítási lépések aránytalan terhelést kaphatnak.
Ez nem működési hiba, hanem kapacitásbeli kérdés. Ugyanazokat az ellenőrzési elveket kell egy nagyobb mennyiségű bemenetre alkalmazni.

A felelősségi viszonyok mindeközben nem változnak meg. Az ellenőrzést végző fejlesztőknek továbbra is:

  • fel kell ismerniük a kockázatokat
  • mérlegelniük kell a hosszabb távú következményeket
  • dönteniük kell arról, mi kerülhet be a kódbázisba

Az AI a kód előállítását gyorsítja, a felelősség azonban továbbra is az embernél marad.

Ha egy területet skálázunk, a többit is kell

Az AI-támogatott eszközök a kód előállítását gyorsítják.
Ahhoz, hogy ez a gyorsulás valóban értéket teremtsen, a kódellenőrzési és tesztelési lépéseknek is hasonló mértékben kell támogatást kapniuk.

Ha ez nem történik meg, a fejlesztés gyorsulása nem a szállítási időben, hanem az ellenőrzési terhelés növekedésében fog megjelenni.

Az AI szerepe az ellenőrzési folyamatokban

A kódellenőrzés és tesztelés során az AI-alapú eszközök szerepe a meglévő folyamatok támogatása, nem azok kiváltása.

Nem arról van szó, hogy:

  • az AI kiváltja a code review-t
  • az AI hoz végső döntést
  • az AI automatikusan átírja a kódot

Hanem arról, hogy:

  • előszűr
  • priorizál
  • felhívja a figyelmet a kockázatokra
  • csökkenti a mentális terhelést

Az AI-támogatás célja a figyelmet igénylő döntési pontok kiemelése, miközben a felelősségi viszonyok változatlanok maradnak.

Rendszerben kell gondolkodni

Az AI-alapú fejlesztés nem csak több kódot jelent.
Azt is jelenti, hogy újra kell gondolnunk a fejlesztési folyamatainkat.

Ha csak a kódírást gyorsítjuk:

  • új szűk keresztmetszeteket hozunk létre
  • növeljük a mentális terhelést
  • és végül nem gyorsabban, csak stresszesebben dolgozunk

A valódi kérdés az, hogy hogyan tudjuk a fejlesztés különböző lépéseit együtt skálázni, úgy, hogy a megnövekedett termelékenység a teljes folyamatban érvényesüljön.

Adatvédelmi áttekintés

Ez a weboldal sütiket használ, hogy a lehető legjobb felhasználói élményt nyújthassuk. A cookie-k információit tárolja a böngészőjében, és olyan funkciókat lát el, mint a felismerés, amikor visszatér a weboldalunkra, és segítjük a csapatunkat abban, hogy megértsék, hogy a weboldal mely részei érdekesek és hasznosak.

Bővebb információ ide kattintva.