bitFaktura: Java JEE fejlesztés, C++ programozás, .Net, C#, PHP szoftverfejlesztés choose language Java fejlesztés, C++ programozás, PHP, .Net, C# szoftverfejlesztés Deutsch - Java Entwicklung, C++ Programmieren, PHP, .Net, C# Software Entwicklung English - Java Development, C++, PHP, .Net, C# Software Development bitFaktura: Java J2EE, PHP fejlesztés, C++ programozás, .Net, C# szoftverek készítése

Szoftverfejlesztés, programozás, internetes megoldások, többrétegű kliens-szerver rendszerek

Új szoftver fejlesztés metódus: XP (extreme programming)

Cégünk a kisebb fejlesztő csapatot igénylő projekteknél elkötelezte magát az úgynevezett Extreme Programming, röviden XP mellett. A módszer lényege - mely elsősorban az utóbbi 5 évben terjedt el az USA-ból kiindulva és kisebb fejlesztő csapatok számára dolgozták ki -, a következőkben foglalható össze:

Az XP egy olyan rugalmas programozási technika, amely kisebb ismétlődő lépésekben (iterációkban), gyakori visszacsatolások és a vevővel való intenzív kommunikáció révén célzottan tesz eleget a megrendelő igényeinek. Az XP azon a megfigyelésen alapul, hogy egy software megváltoztatásának a költségei egyszerű eljárásmódokkal jelentősen csökkenthetők. A metódust Kent Beck, Ward Cunningham és Ron Jeffries alakította ki, egy a Chrysler számára végzett programozási feladat, az úgynevezett C3 Projekt során, mely 1995 és 2000 között folyt. (A programot a bérszámfejtés területén használták.)

Az XP négy ún. központi értéket fogalmaz meg. Ezek e következők: kommunikáció, feedback (azaz visszacsatolás), merészség és egyszerűség. Az XP programozás központi értékei kicsit bővebben kifejtve a következőket takarják:

Kommunikáció és feedback
A fejlesztőcsapat folyamatos kommunikációt folytat, hogy az információkat folyamatosan kicseréljék. Minden érdekelt közt állandó információcsere zajlik, nemcsak a fejlesztőcsapat tagjai közt, hanem a fejlesztőcsapat az ügyfél között is. A módszer alapján gyakran a megrendelő részéről is csatlakozik egy szakember a fejlesztőcsapathoz, hogy teljes egészében figyelemmel tudja kísérni a fejlesztés folyamatát, és jelezhesse az esetleges igényeit. Olyan személyek is szóhoz juthatnak, akik nem az éppen folyamatban lévő feladat szakértői, ezáltal megjelenik egy további feedback, és mindenki elkötelezettnek érzi magát a téma és a csapat mellett. A kommunikáció is olyan módon folyik, hogy mindenki véleményét messzemenően figyelembe veszik és akceptálják.

Merészség
A csapatban meg kell lennie a bátorságnak ahhoz, hogy mindenki nyíltan elmondja a véleményét. A program fejlesztése kisebb egységekben, ún. iterációkban történik. A megrendelő minden iteráció végén egy működőképes programot kap. Amennyiben valamelyik iteráció végén nem teljesültek a megrendelő követelményei, azt nyíltan ki kell mondani. Olyan atmoszférának kell uralkodnia, amely a fejlesztési folyamatok során általában jelentkező zavarokat minimalizálja (pl. konkurenciaharc a teamen belül, mely a termék kárára megy).

Egyszerűség
Mindig a legegyszerűbb megoldást kell választani egy adott probléma megoldására. Minden iterációban a teljes team az éppen megoldandó feladatra koncentrál. A megoldásokat technikailag a legegyszerűbben kell kivitelezni.

Az XP programozás a gyakorlatban
Sokaknak talán furcsa, hogy az XP Programming kerüli a programozási munka megkezdése előtt a minden részletekbe belemenő fix áras és fix határidejű szerződést. Az XP programozás számára a megrendelő bevonása, a folyamatos feedback, vagyis egy működképes program létrehozása, mely mindenben megfelel a vevő kívánságának ennél sokkal fontosabb. A feladat olyan mértékig és olyan részletességgel kerül megfogalmazásra, hogy az alapján a fejlesztőcsapat fel tudja vázolni a fejlesztés menetét, és el tudja kezdeni a munkát. A továbbiakban a fejlesztőcsapat és a megrendelő közötti folyamatos a kommunikáció révén az egyes iterációk végén kerül meghatározásra az, hogy hogyan menjen tovább a fejlesztés. A módszer garantálja a szoftver magas minőségét, ebben különbözik más fejlesztési módszerektől, melyekben a programnak egy meghatározott időre, meghatározott terjedelemben készen kell lennie, és ennek gyakran a termék minősége látja kárát. Be kell látni, hogy egy jó minőségű, jól működő szoftver megfelelő dizájnnal a legolcsóbb hosszú távon, hiszen kevesebb benne a bug, és az igények változásával ezt a legkönnyebb átalakítani, továbbfejleszteni. Az XP része a folyamatos tesztelés beépítése a munkafolyamatba, emellett a módszer alapján a csapat erőteljesen épít a team-tagok más munkák során már megszerzett probléma megoldási tapasztalataira. A tesztek a funkcionalitással együtt kerülnek fejlesztésre. Mivel az első megoldás egy fejlesztés során nem feltétlen a legoptimálisabb megoldás a folyamatos feedback biztosítja, hogy az ebből nyert legújabb tapasztalatok a megoldást folyamatosan javítják. A folyamatos visszakérdezés hatékonysága annál nagyobb, minél különbözőbb képességekkel és karakterrel rendelkező emberekből álló teamet sikerült összeállítani. A vélemények sokszínűségét támogatni kell, ezért fontos a csapaton belül egy konfliktusmanagement. A software működőképessége a fejlesztés során végig garantált, ebben segítenek a rövidebb iterációk folyamatos feedbackkel, ennek ellenére ezzel a módszerrel is számolni kell esetleges hibákkal. A folyamatos teszteknek köszönhetően azonban minden hiba hamarabb kiderül, és könnyebben megszüntethető, mint a hagyományos módszerekkel.

Az XP az egyes, együttesen a legnagyobb haszon elérését célzó ún. Best Practices összessége. Ezek önmagukban már nem újkeletűek, sőt némelyiket már régóta használják, de ez a módszer alkotott az összességükből kerek egészet. Az XP nem abszolutizálható, de kisebb teamet igénylő fejlesztéseknél ezt tartjuk célravezetőnek. A nagyobb, komplex projektek számára más megoldásokat kell találni, mert ezeknél a team-tagok közötti közvetlen kapcsolat már megvalósíthatatlan - ilyen például a RUP (Rational Unified Process).

vissza

Java szoftverfejlesztés, C++, .Net, C# programozás
Magunkról | Termékek és szolgáltatások | Technológiáink | Referenciák | Hírek | IT állásajánlatok | Elérhetőség
© 2007 bitFaktura | Szoftverfejlesztés, web programozás