agilis szoftverfejlesztés
Kérdéseid vannak az agilis szoftverfejlesztés témakörét illetően? Cikkünkben most mindegyiket megválaszoljuk >
Agilis szoftverfejlesztés – 27 kérdés és válasz

 

Miért érdemes elmélyedned az agilis szoftverfejlesztés témájában? 

Ahogy Te is tudod, a legtöbb vállalat számára ma már létfontosságú a gyors és hatékony szoftverfejlesztés, hiszen folyamatosan változó környezetben kell helytállniuk. Szerencsére egyre többen ismerik fel az agilis szoftverfejlesztés előnyeit. Az agilis értékeken alapuló módszerek ugyanis – a hagyományos szoftverfejlesztési folyamatokkal szemben – lehetővé teszik a gyors alkalmazkodást az igények változása esetén, maximalizálják a folyamatok hatékonyságát, biztosítják a lehető legmagasabb minőségű termék elkészítéséhez szükséges keretrendszert, illetve segítenek abban is, hogy hamarabb elkészülhessen egy-egy életképes termékverzió. Jól hangzik, ugye?

Akár kipróbálnád a módszertant, akár csak ismerkednél vele, biztosak vagyunk benne, hogy sok kérdésed van a témával kapcsolatban. Ne aggódj: mi ugyanennyi válasszal készültünk. Vágjunk is bele!

Agilis szoftverfejlesztés: 27 kérdés – 27 válasz 

Mi is az az agilis szoftverfejlesztés?

1. Ma már a csapból is az agilis szó folyik. Ez nem csak egy jól hangzó buzzword?

De igen, annak is tekinthetjük. Viszont nagyon sok esetben van értelme a használatának, főleg ha digitális termékfejlesztésről van szó. 

2. Oké, elhiszem. De akkor az agilis munkavégzés csak az IT szektort érinti?

Nem csak azt! Tény, hogy a modell valóban ebből az iparágból nőtte ki magát, mára viszont a cégek 40%-a dolgozik a bevezetésén – többek között a pénzügyi és telekommunikációs ágazatokban is. Agilisnak lenni sok mindent jelenthet: lehetünk agilisak mint egyének, csapatok, szervezetek, de lehetünk agilis sportolók, gondolkodók is. Amihez viszont minden esetben szükség van a sikeres agilis munkavégzéshez, az nem más, mint az egyértelműen és tisztán definiált célok.

3. Értem! De mit takar pontosan az agilis szoftverfejlesztés?

Az agilis szoftverfejlesztés különböző alapelveken alapuló módszerek és gyakorlatok összessége. A szoftverfejlesztési módszerek azon csoportja, ahol a projektet apró részekre bontják és a fejlesztési ciklusok során újabb és újabb termékverziókat készítenek el, vagyis minden lépés magában foglalja a rendszer bővülését egy további funkcióval. Az agilis szoftverfejlesztés 12 alapelven nyugszik, melyeket az Agilis Kiáltvány rögzít. 

4. Akkor nem csak egy agilis módszer van?

Jól gondolod! Több agilis szoftverfejlesztési módszer is létezik. Ezek közül a legnépszerűbbek:  

5. Szuper, hogy még válogatni is lehet, de hogy döntsem el, hogy melyiket használjam?

A döntés mindig a vállalati céloktól függ. Az agilis szoftverfejlesztés nem egy one-size-fits-all megoldás, hiszen nincs két egyforma projekt vagy vállalkozás. Pontosan azért léteznek a különböző módszerek, hogy kielégítsék a különböző vállalati és tesztelési célokat, igényeket. Következésképp fontos, hogy a választás előtt alaposan megvizsgáld, melyik módszertan passzol a legjobban a projekted specifikus igényeihez.

6. Hogyan készül el egy szoftver az agilis módszer segítségével?

Az agilis szoftverfejlesztés általában iteratív folyamatot jelent, vagyis a specifikáció, a tervezés, a fejlesztés és a tesztelés átfedik egymást. A szoftvert nem egy teljes egységként fejlesztik, hanem lépésenként, kisebb részenként, és minden lépés magában foglalja a rendszer bővülését egy további funkcióval. Ez a folyamat mindig teljesen integrált és tesztelt programokat eredményez, de hétről hétre mindig csak egy lépést tesz előre. A hagyományos modellekkel (pl. vízesésmodell) szemben a hangsúly itt általában egy elnagyolt, de működő rendszer korai kifejlesztésén van, amit aztán továbbfinomítanak. 

7. Vízesésmodell? Az mi pontosan? 

A vízesésmodell (angolul Waterfall Model) az egyik legrégebb óta használt projektmódszertan, melynek lényege, hogy a fejlesztést több részfolyamatra bontják és minden fázist az előző jóváhagyása és befejezése után indítanak el. Teljesen lineáris, iterációkat nélkülöző munkafolyamat jellemzi és emiatt elég merev is. A projektben bekövetkező visszalépés, javítás minden esetben határidőcsúszást és költségnövekedést jelent. Előnye azonban, hogy magas fokú szabályozottsága révén nemcsak szoftverfejlesztési, hanem termékfejlesztési területen is kiválóan alkalmazható. Egyszerű és könnyen menedzselhető felépítése miatt gyakran használják kisebb és jól definiált projektek során.

8. Már másodszorra említitek az iteráció szót… mit is takar ez pontosan? 

Az iteráció egy olyan folyamatot jelent, amit egyszer vagy újra és újra elvégeznek annak érdekében, hogy minél jobb megoldás születhessen. De mit jelent ez a gyakorlatban? A Fejlesztőcsapat a kívánt terméket kiindulásképp részfunkciókra bontja és egy-egy iteráció során egy-egy funkcióval bővíti, az előző iteráció során talált hibákat pedig javítja. Majd a csapat minden fejlesztési ciklus után begyűjti a visszajelzéseket, tapasztalatokat és ezek alapján javítja, finomítja, és tovább bővíti a terméket a következő ciklus során. Következésképp a termék egyre jobb és teljesebb lesz.

9. Miért jobb az agilis szoftverfejlesztés a hagyományos módszereknél?

Felhasználó központú munkát tesz lehetővé: a szoftver viszonylag gyorsan piacra kerül, ennek köszönhetően pedig hamar beépíthetőek a felhasználói visszajelzésekből, statisztikákból fakadó tanulságok a még készülő szoftverbe.

10. Vagyis a felhasználók mondják meg, hogy milyen legyen a termék?

Igen is, meg nem is. Nem azt mondják meg, hogy milyen legyen a termék, hanem azt, hogy nekik mire van szükségük és mit tartanak hasznosnak az adott alkalmazásban. Mindez pedig meghatározza, hogy milyen is legyen a termék. Az agilis szoftverfejlesztés tehát abban segít, hogy az alkalmazás ne funkció-, hanem felhasználó-központú legyen.

11. Akkor ez azt jelenti, hogy az agilis szoftverfejlesztésnek köszönhetően biztos siker lesz a termékem?

Az agilis szoftverfejlesztés önmagában nem garantálja a sikert. Azonban lehetőséget ad arra, hogy a fejlesztés alatt álló szoftver jobban igazodjon a célcsoport igényeihez, illetve ezen igények időközbeni változásaihoz. 

12. Tehát jól értem, az agilis szoftverfejlesztés gyorsabb, mint a hagyományos?

Igen, jó eséllyel gyorsabban vezet egy használható és a felhasználóknak prezentálható szoftverhez. Az agilis szoftverfejlesztés során ugyanis a hagyományoshoz képest sokkal hamarabb készül el egy egyszerű szoftrver verzió, amivel már kérhetsz visszajelzéseket a felhasználóktól. A tanulságokat pedig beépítheted a következő termékverzióba. 

13. Akkor ez azt jelenti, hogy végeredményben egy félkész terméket kap a felhasználó?

Sosem félkész terméket kap, hanem egy alapvető funkcióval/funkciókkal rendelkező alkalmazást. Ez a kezdetben jelenthet például csak egy funkciót. Ilyen az Instagram esetében a képmegosztás. Ez a termék minimálisan életképes verziója, vagyis az MVP (minimum viable product). Ez a termékverzió ugyan még kevés funkciót tartalmaz, de korán prezentálható a felhasználóknak, így értékes visszajelzéseket gyűjthetsz.

Agilis szoftverfejlesztés a gyakorlatban

14. Általában mennyi ideig tart az agilis szoftverfejlesztés?

Akár web-, akár mobilalkalmazás-fejlesztésről van szó, a fejlesztés ideje mindig az adott projekt komplexitásától függ. Azonban a hagyományos modellel szemben az agilis szoftverfejlesztés nagy előnye, hogy az alkalmazás jóval hamarabb a felhasználók elé kerülhet.

15. És hogyan zajlik a projekt ütemezése?

A projekt ütemezésére az ajánlatadáskor kapsz egy hozzávetőleges tervet. Ezt a becsült órák és a dedikált csapat mérete alapján készítjük el. Természetesen figyelembe vesszük a speciális igényeket is: ha egy projektre valamilyen oknál fogva viszonylag szűkös időkeret áll rendelkezésre, az átfutási idők csökkentése érdekében növeljük a projektcsapat méretét.

16. Mégis hogyan működik egy agilis projekt a gyakorlatban? Ki mit csinál?

Ha egy ötletből kell kész alkalmazást varázsolni, a folyamatban általában az alábbi szereplők vesznek részt:

  • UX-szakember: felderíti és teszteli a felhasználói útvonalakat (vagyis user journey-ket).
  • UI-designer: megtervezi az alkalmazás képernyőit és a különböző design elemeket.
  • Fejlesztő: működő alkalmazássá fordítja le a design terveket.
  • Tesztelő: gondoskodik arról, hogy a termék a terveknek megfelelően készüljön el.
  • Projektmenedzser: összefogja a munkát, valamint összeköti az ügyfelet a projektcsapattal.
  • Döntéshozó: az ügyfél oldalán az üzleti célokat képviseli.

17. Értem most már nagyjából és tetszik is a módszertan, de még sosem használtuk a cégemben. Mit tegyünk? 

Ha elég nyitottak a kollégák, érdemes rászánni az időt és megtanulni a folyamatokat. A legjobb, ha ehhez olyan szakértőket kerestek, akik segítenek Nektek a módszertan elsajátításában. 

18. Az agilis szoftverfejlesztés nekem nagyon komplexnek tűnik. Hogyan tudjuk majd nyomon követni, hogy éppen mi történik a projekttel?

Ahogy már említettük, az agilis szoftverfejlesztés egyik legnagyobb előnye, hogy iteratív, ami megköveteli a folyamatos interakciót a csapat, a Product Owner és az ügyfél között. A Scrum módszertant használva például a kétheti Demo meeting keretében kaptok képet arról, hogy hol tart a projekt, illetve hogy mi fog történni az elkövetkező két hétben. De arra is lehetőséget adunk, hogy napi szinten nyomon követhesd a fejlesztést a Nostromo projekt menedzsment alkalmazásunkkal.

19. Product Owner? Az meg ki?

A Product Owner legfőbb feladata, hogy maximalizálja a Fejlesztőcsapat által előállított termék értékét. Vagyis ő képviseli a felhasználói és az üzleti érdekeket. 

20. Akkor fel kell vennem egy Product Ownert?

Nem feltétlenül. Ideális esetben a Product Owner az ügyfél csapatát erősíti. Ez azonban a  valóságban ritkán van így. Szóval amíg van egy dedikált termékfelelős a csapatodban, aki megadja a szükséges információt a csapatnak, a termék simán elkészülhet.

21. Mi lesz a mi feladatunk?

A döntéseket mindenképpen Nektek kell majd meghozni, de a megfelelő szakértői csapat természetesen ebben is segítséget nyújt és irányt mutat Nektek. Hogy mennyire vonódtok be a közös munkába, részben Rajtatok is múlik. Itt a Digital Natives-nél például napi szinten együtt dolgozhattok szakértői csapatunkkal az agilis szoftverfejlesztés során, sőt, akár az irodánkba is beköltözhettek egy-egy hétre minden hónapban, ahogy már több ügyfelünk is tette. 

22. Jól hangzik, de mi nem vagyunk tech-zsenik. Ez nem gond?

Nem! Ahogy az sem, ha nem vagytok design beállítottságúak. Mi pont azért vagyunk itt, hogy segítsünk Titeket a technológiával és a designnal kapcsolatos döntéshozatalban. Hidd el, a projektmenedzsereink már mesteri szintre fejlesztették a szakmai kérdések konyhanyelvre történő lefordítását.

23. Mi van, ha skálázni akarok? Akkor is működik az agilis szoftverfejlesztés?

Persze, egy agilis szoftvert ugyanolyan könnyű skálázni, mint egy hagyományos modell keretein belül elkészült terméket. Vagy mondhatjuk úgy is, hogy ugyanolyan nehéz.🙂

Az agilis szoftverfejlesztés és a költségek… mire figyelj?

24. Úgy hallottam, hogy az agilis módszertannal akár pénzt is lehet spórolni. Ez igaz?

Lehet, bizony – közvetett módon! Az agilis módszertan ugyanis lehetővé teszi, hogy csak azok a funkciók készüljenek el, melyekre tényleg szükség van. Így biztosan nem folyik el feleslegesen sem a pénz, sem az idő. A folyamatos visszajelzések pedig segítenek jobban megérteni a célcsoportot és a piacot, ami növelheti a marketing hatékonyságát és ezzel egy időben csökkentheti a költségeit is. 

25. Ez szuper! De mégis mennyibe fog nekem kerülni az agilis szoftverfejlesztés? 

Maga az agilis módszertan semmibe. A terméked vagy a projekted költsége pedig természetesen a termék komplexitásától függ. Mivel egy alkalmazás erőforrásigényét szinte lehetetlen előre megjósolni, mi a Digital Natives-nél általában “time and materials”, vagyis a projekten eltöltött idő alapján számlázunk. 

 Agilis szoftverfejlesztés – Gyakori aggályok

26. Ti akkor igazi “agilis guruk” vagytok? Mitől válik valaki azzá?

Attól függ, mit értesz agilis guru alatt.😉 Mi a Digital Natives-nél már több mint tíz éve dolgozunk agilis módszertanokkal. Rengeteg metodológiát kipróbáltunk már és mostanra tisztába kerültünk azzal, hogy melyik projektnél melyik módszertant érdemes alkalmazni, valamint milyen előnyökre és milyen hátrányokra kell számítani. 

27. Van bármilyen visszajelzés a korábbi ügyfeleitektől ezzel kapcsolatban?

Talán a legjobb visszajelzés az, hogy sok a visszatérő ügyfél, és hogy nagyon sokan ajánlanak minket a környezetükben más cégeknek is. Emiatt szinte csak megkeresések alapján dolgozunk, direkt sales tevékenységet nem nagyon kell végeznünk. Erre büszkék is vagyunk!

Összefoglalás

Az agilis szoftverfejlesztés a hagyományos modelleket kétségtelenül lekörözi a hatékonyság tekintetében: kisebb “adagokban” kerül szállításra a termék, melynek köszönhetően sok jövőbeli hiba kiküszöbölhető, valamint könnyebb a felhasználói visszajelzésekre reagálni és olyan digitális terméket létrehozni, amely a lehető legpontosabban igazodik a felhasználók igényeihez. 

Tudnod kell azonban, hogy az agilis projektmenedzsmenttel csak abban az esetben érhetsz el meghatározó sikereket, ha a vállalat struktúrája támogatja a kereszt-funkcionális csoportok szerveződését és együttműködését, valamint, ha a megfelelő módszert választod az adott projekthez. A gördülékeny átállás érdekében éppen ezért érdemes az agilis szemléletmódot eleinte csak kisebb projektek során kipróbálni.

Volt már olyan projekted, ahol visszagondolva úgy érzed, az agilis szoftverfejlesztés módszertanát használva sok problémát kiküszöbölhettél volna és sikeresebb terméket hozhattál volna létre? Várjuk válaszodat komment formájában!

Mondd el a véleményed:

Share via
Send this to a friend