Az alábbi cikkben az agilitás, mint fogalom történetéről, az IT szektorban való megjelenéséről, illetve az onnan való kiválásáról tudhatsz meg többet. Az agilis szoftverfejlesztés az egyik legelterjedtebb és legeffektívebbnek ítélt programozási módszertan a mai világban.
Az előzmények
A programozás kezdeti időszakában (1940-1970-es évek) még elég kiforratlan munkamenete volt a szoftverfejlesztési projekteknek. Visszatekintve sok szempontból elég közel áll a mai agilis módszertanhoz, azonban ebben az időszakban a sok más területről érkező (matematikusok, mérnökök, stb.) programozók maguktól kezdtek el ilyen elvek alapján dolgozni, nem voltak előre megírt szabályok. Egyik legjobb példája ennek a Mercury-program, ahol napi ciklusokban folyt a fejlesztés.
Megérkezünk az 1970-es évekbe és a programozás, mint szakma bekerült az egyetemekre is. Ezen a ponton muszáj volt valami struktúrát adni a sok fiatalnak, hogy ne legyenek teljesen elveszve a munkájukban. Szerencsére, illetve balszerencséjükre pont ebben az időszakban született meg Winston Royce tanulmánya is, ami tartalmazta a vízesés módszertant.

A módszertant egy rossz példaként mutatja be Royce a tanulmányában, viszont a modellről készült ábra megragadta az emberek figyelmét és első ránézésre annyira logikusnak tűnt, hogy a következő 30 évre meghatározta a programozás világát.
Természetesen ma már tudjuk, hogy mennyire lassú és rugalmatlan ennek a módszernek az alkalmazása. Pontosítások, félreértések, feature request-ek akármikor előfordulhatnak, nem csak az analízis és dizájn fázisban, ilyenkor viszont kénytelenek vagyunk kiskapukat keresni, hogy ne kelljen teljesen az elejéről elkezdeni a folyamatot. Ekkor kezdődnek a problémák és bonyodalmak, amik egyenes úton vezetnek a pokoli állapotokhoz.
Hol bukkant fel az agilitás fogalma először?
Az 1990-es évek vége felé egyre több programozó érezte már, hogy ennél a megközelítésnél létezik jobb módszer. Több cég is elkezdett átállni a visszajelzés alapú, rövid ciklusú fejlesztésre (Scrum). Ezek a cégek annyira sikeresek voltak az új módszertan alkalmazásával, hogy tanulmány is született az általuk alkalmazott módszerekről.
2001-re odáig egy akkora mozgalommá nőtte ki magát a fogalom, hogy utah-i Snowbirdben tizenhét, véleményéből alig engedő, nagy tudású programozó összegyűljön és lefektessék az agilis szoftverfejlesztés tizenkét alapelvét és négy alapértékét. Az összejövetel végén ezek felkerültek egy weboldalra, ahol lehetősége adatott akárkinek aláírni, egyetértését jelezve ezzel. Több tízezer ember aláírása után ez egy igazi mozgalmat indított el.
Az agilitás eredeti jelentése
Bob Martin szerint akkor agilis egy szoftverfejlesztés, ha:
- Heti, vagy kétheti szinten készül egy használható verzió a termékből.
- A tesztelés folyamatos, azaz akármelyik pillanatban meg lehet mondani, hogy a termék működőképes, vagy sem.
- Az előre specifikált követelményeknek eleget tesznek a funkciók, illetve dokumentálva vannak azok.
- Könnyen értelmezhető és változtatható a kódbázis, tehát nem veszítjük el uralmunkat afelett.
Amint nem teszünk eleget a felsoroltak közül akármelyik pontban foglaltaknak, már biztosan nem agilis szoftverfejlesztésről beszélünk. Természetesen ez egy hiányos lista és jóval több technikai szempontot követve mondhatnánk csak ki biztosan, hogy agilis szoftverfejlesztésről van szó.

2003-ra odáig jutott az agilitás mozgalom, hogy ezeket az irányadó elveket már tantermekben tanították Certified Scrum Master néven. Meglepő volt, hogy már nem csak programozók teljesítették a kurzust, hanem a közösséget kezdték ellepni menedzsment háttérrel rendelkező emberek is.
Az éj leple alatt az agilitás konferenciák szép lassan elmozdultak a technikai megközelítéstől a menedzsment alapú felé. A soft skillek előtérbe, a programozáshoz kapcsolódó technikai kérdések pedig háttérbe szorultak.
Tudj meg többet a folyamatról
<2. rész link enlight blog>
Források
- Back to Agile’s basics – http://changelog.com/podcast/367