Agilis fejlesztési módszertan

Az agilis fejlesztési módszertan ( angolul  agile software development , agile development ) egy általános kifejezés számos megközelítésre és gyakorlatra, amelyek az Agilis Szoftverfejlesztési Kiáltvány értékein és az azt megalapozó 12 alapelven alapulnak [1] .

Az agilis módszertanok közé tartozik különösen az extrém programozás , a DSDM , a Scrum , az FDD , a BDD és mások.

A legtöbb agilis módszertan célja a kockázat minimalizálása azáltal, hogy a fejlesztést rövid ciklusokra, úgynevezett iterációkra csökkenti, amelyek általában két-három hétig tartanak. Minden iteráció úgy néz ki, mint egy miniatűr szoftverprojekt, és magában foglalja az összes olyan feladatot, amely a funkcionalitás mini-növekedéséhez szükséges: tervezés, követelményelemzés , tervezés , programozás , tesztelés és dokumentáció . Bár egyetlen iteráció általában nem elegendő egy termék új verziójának kiadásához, feltételezzük, hogy egy agilis szoftverprojekt minden iteráció végén készen áll a kiadásra. Minden iteráció végén a csapat újraértékeli a fejlesztési prioritásokat.

Az agilis módszerek a szemtől szembeni kommunikációt hangsúlyozzák. A legtöbb agilis csapat ugyanabban az irodában található, amelyet néha mérnöknek is neveznek .  bullpen . Minimum magában foglalja a „vevőket” is ( angol  terméktulajdonos  - a vevő vagy meghatalmazott képviselője, aki meghatározza a termék követelményeit; ezt a szerepet projektmenedzser, üzleti elemző vagy ügyfél is elláthatja). Az irodában tesztelők, felülettervezők, műszaki írók és vezetők is lehetnek.

Az agilis módszerek fő mérőszáma a munkatermék. A személyes kommunikáció előtérbe helyezésével az agilis módszerek csökkentik az írásos dokumentáció mennyiségét más módszerekhez képest. Ez oda vezetett, hogy ezeket a módszereket fegyelmezetlennek minősítették.

Történelem

Az 1990-es években számos könnyű szoftverfejlesztési módszer fejlődött ki, válaszul az uralkodó nehéz módszerekre, amelyeket a kritikusok túlszabályozottnak, tervezettnek és mikromenedzseltnek neveztek. Ezek a következők: Rapid Application Development (RAD) 1991 óta [2] [3] ; egységes folyamat és módszer a dinamikus rendszerek fejlesztésére 1994 óta; Scrum, 1995 óta; Crystal Clear és Extreme Programming (XP), mindkettő 1996 óta; és funkció-orientált fejlesztés 1997 óta. Bár mindegyik az Agilis Kiáltvány megjelenése előtt keletkezett, manapság összefoglalóan agilis szoftverfejlesztésnek nevezik őket.

2001 februárjában Utah államban (USA) adták ki az " Agile Software Development Manifesto "-t . Alternatívát jelentett a dokumentumvezérelt „nehézsúlyú” szoftverfejlesztési gyakorlatokkal szemben, mint például a „ vízesés módszer ”, amely akkoriban a fejlesztés aranystandardja volt. Ezt a kiáltványt a következő módszerek képviselői hagyták jóvá és írták alá: Extreme Programing , Crystal Clear , DSDM , Feature driven development , Scrum , Adaptív szoftverfejlesztés , Pragmatic Programming . Az agilis fejlesztési módszertant már a kiáltvány elfogadása előtt is sok cég alkalmazta, azonban az Agilis fejlesztés tömegekbe való betörése pontosan ezt követően következett be.

Alapelvek

Az agilis fejlesztési folyamatok családja, nem egyetlen megközelítés a szoftverfejlesztésben, és az Agile Manifesto [4] határozza meg . Az agilis nem gyakorlatokat foglal magában, hanem meghatározza azokat az értékeket és elveket, amelyek irányítják a csapatokat.

Az Agile Manifesto -t 2001. február 11-13-án dolgozták ki és fogadták el a The Lodge at Snowbird síközpontban, a Utah-hegységben. Az Agilis Kiáltvány 4 fő gondolatot és 12 elvet tartalmaz. Figyelemre méltó, hogy az Agilis Kiáltvány nem tartalmaz gyakorlati tanácsokat.

Főbb ötletek:

Az Agilis Kiáltvány [6] alapelvei :

Kritika

A kritikák egyik visszatérő pontja: az agilis megközelítés gyakran figyelmen kívül hagyja a termékfejlesztési terv („roadmap”) elkészítését, valamint a követelménykezelést , amelynek során egy ilyen „térkép” kialakul. A követelménykezelés rugalmas megközelítése nem jelent messzemenő terveket (sőt, a követelménykezelés egyszerűen nem létezik ebben a módszertanban), hanem magában foglalja az ügyfél azon képességét, hogy minden iteráció végén hirtelen és váratlanul új követelményeket állítson fel, gyakran ellentmond egy már megalkotott és leszállított termék architektúrájának. Ez időnként katasztrofális „munkavégzéshez” vezet, amely szinte minden következő iterációnál hatalmas átalakítást és átdolgozást jelent .

Emellett úgy gondolják, hogy az agilis munkavégzés arra ösztönzi a fejlesztőket, hogy minden bejövő feladatot a lehető legegyszerűbb és leggyorsabb módon oldjanak meg, miközben gyakran nem figyelnek a kód helyességére a mögöttes platform követelményei szempontjából (a „működik, ill. mindent” megközelítés), ugyanakkor nem veszi figyelembe, hogy a kód további módosítása esetén leállhat. Ez a termék minőségének romlását és a hibák felhalmozódását eredményezi (lásd " Műszaki tartozás ").

Módszertanok

Vannak olyan módszerek, amelyek megfelelnek az Agilis Kiáltványban megfogalmazott értékeknek és elveknek, ezek közül néhány:

Jegyzetek

  1. Mi az agilis szoftverfejlesztés? . Agilis Szövetség. - "Az agilis szoftverfejlesztés egy gyűjtőfogalom olyan keretrendszerekre és gyakorlatokra, amelyek az Agilis Szoftverfejlesztési Kiáltványban és a mögötte meghúzódó 12 alapelvben megfogalmazott értékeken és elveken alapulnak." Letöltve: 2019. június 29. Az eredetiből archiválva : 2018. július 31.
  2. Martin, James. Gyors alkalmazásfejlesztés . - Macmillan, 1991. - ISBN 978-0-02-376775-3 .
  3. Kerr, James M.; Hunter, Richard. Inside RAD: Hogyan építsünk fel egy teljesen működőképes rendszert 90 nap vagy kevesebb alatt ? - McGraw-Hil, 1993. - ISBN 978-0-07-034223-1 .
  4. ↑ Az Agile Manifesto archiválva : 2011. február 23. a Wayback Machine -nél 
  5. Az Agilis Kiáltvány alapelvei . agilemanifesto.org. Hozzáférés dátuma: 2016. december 8. Az eredetiből archiválva : 2014. december 25.
  6. Agilis modellezés . Kezelés időpontja: 2011. december 25. Az eredetiből archiválva : 2008. december 31..

Irodalom