Sokan nem tudják, hogy az agilis módszertan a szoftverfejlesztésből ered. A programozás kezdeti időszakában (ez nagyjából az 1940-1970-es évekre tehető) a szoftverfejlesztési projektek elég kezdetleges munkamenettel rendelkeztek. A programozók gyakorlati tapasztalatok alapján önmaguktól kezdtek el különféle elvek alapján dolgozni, hiszen valójában nem voltak előre megírt szabályok. Aztán persze ez idővel kiforrott szabályrendszerré, módszertanná vált. Az agilis szó a mindennapi köznyelvben is használatos, jelentése tettre kész, gyors észjárású. Az alábbi cikkben az agilitás, mint fogalom, módszertan történetéről, az IT szektorban való megjelenéséről, aztán később más szegmensekbe történő átterjedéséről ejtünk szót. 

Honnan ered az agilis szoftverfejlesztés?

Ahogy azt a bevezetőben is említettük, a programozás kezdeti korszakának az 1970-es évekig terjedő időszakot tekintjük. Ekkoriban a programozók még nem követtek módszertanokat, a munkameneteknek nem volt meghatározott rendje. A korábban mérnökként és matematikusként tevékenykedő szakemberek intuitíven és korábbi tapasztalataik alapján dolgoztak különféle elveket követve. Az 1970-es évek fordulópontot jelentett, ekkoriban kezdték ugyanis egyetemi szinten oktatni a programozást. Ez pedig megkövetelte a rendszerszintű gondolkodást és az egységes módszertanok létrehozását. Ennek lényege, hogy a fejlesztés egy lineáris folyamat, amit szakaszokra bontanak. A programozó elvégez egy szakaszt, azt befejezi, jóváhagyják és csak ezután léphet át a következő szakaszra. Egy viszonylag merev struktúra a Vízesés modell, amit könnyű megérteni és követni. Ennek köszönhető, hogy jó 30 évig meghatározó szerepet töltött be a programozók életében. Az 1990-es években nyilvánvalóvá vált, hogy az addig sokak által követett és istenített Vízesés modell már nem elég, más megoldásra van szükség. 1994-ben hozták létre a Dynamic Systems Development Method-ot (DSDM), majd 1995-ben lépett a képbe a Scrum, ami a Vízesés modellre épít, viszont a rövid ciklusú fejlesztéseket preferálja. 1996-ben jelent meg a Crystal Clear és az Extreme Programming, 1997-ben pedig az adaptív szoftverfejlesztés és a funkcióvezérelt fejlesztés. 

Mi is ez a módszertan, működés?

Az agilis szoftverfejlesztés még ma is az egyik legelterjedtebb és a legeffektívebbnek ítélt programozási módszertan a mai világban. Az agilis módszertan olyan gyakorlatot, munkaszervezést jelent, amely során a szoftverfejlesztés vagy egyéb projekt az agilis értékek mentén iterációkban (jelentése: fokozatos közelítés, pontosítás, valamilyen eljárás egyre pontosabb értéket adó többszöri ismételgetéséve/ Forrás: https://lexiq.hu ) zajlik. Az egyes iterációk során mind a fejlesztés, mind a tesztelés megvalósul, ezek a tevékenységek tehát párhuzamosak. Folyamatos a kapcsolat a termék felhasználóival, ezért sokkal gyorsabban keletkezik visszacsatolás, valamint fény derül az ügyfelek változó igényeire is.  Az egyes iterációk végén a fejlesztés alatt álló termék egy működő darabja, egy működő funkcionalitás készül el.  Az agilis módszertan nem egyenlő az agilis gondolkodásmóddal: az agilis gondolkodás szülte az agilis módszertanok kialakulását, amelyekben módszertanonként eltérőek lehetnek az eszközök, módszerek, feladatok. Az agilis eredete nem pusztán történeti érdekesség, hanem magában foglalja a választ is arra a kérdésre: mikor lehet érdemes agilis megközelítést választani? Akkor, ha a tervezés és a kivitelezés nem választható el egymástól élesen. Más megfogalmazásban: ha komoly esély van arra, hogy a kivitelezés során változások állnak elő, az agilis megközelítés hasznos lehet.

Mi az az agilis szoftverfejlesztés?

A módszertan lényege, hogy a fejlesztés folyamatát egységekre bontják, ezek a fejlesztési ciklusok, melyek során egy-egy, az előzőnél fejlettebb termékverzió készül el. Így épül fel a szoftver és bővül folyamatosan a beépített funkciók köre. Az agilis szoftverfejlesztés egy keretet ad, amin belül több programozási módszertan, gyakorlat is létezik. 

A programozás céljától, a munkafolyamattól és a csapattól is függ, hogy milyen szituációban melyik módszertant érdemes követni. Az agilis módszertan esetében lépésenként halad előre a programozó a szoftver felépítése során, ami a gyakorlatban azt jelenti, hogy a klasszikus modellekkel ellentétben, mint amilyen a Waterfall (vízesés) modell is, készül egy alap, de működőképes, tesztelhető verzió, amit aztán finomítanak, alakítanak.