Ez a fejezet áttekintést ad az Extrém Programozás.
mi az agilis?
az “agilis” szó azt jelenti, hogy −
-
képes gyorsan és könnyen mozgatni a testét.
-
képes gyorsan és világosan gondolkodni.,
az üzleti életben az “agilis” a tervezés és a munkavégzés módjainak leírására szolgál, ahol azt értjük, hogy a szükséges változtatások elvégzése fontos része a munkának. Az “agililty” azt jelenti, hogy egy vállalat mindig képes figyelembe venni a piaci változásokat.
Ref: Cambridge szótárak online.
a szoftverfejlesztésben az “agilis” kifejezés azt jelenti, hogy ” képes reagálni a változásokra − a követelményektől, a technológiától és az emberektől való változásokra.,”
Agile Manifesto
a szoftverfejlesztők egy csoportja 2001-ben publikálta az Agile kiáltványt, kiemelve a fejlesztőcsapat fontosságát, figyelembe véve a változó igényeket és az ügyfelek részvételét.
az agilis Kiáltvány kimondja, hogy −
a szoftver fejlesztésének jobb módjait fedezzük fel azáltal, hogy segítünk másoknak. Ezzel a munkával értékre jutottunk –
-
egyének és interakciók folyamatok és eszközök felett.
-
Working software over comprehensive documentation.,
-
ügyfél-együttműködés a szerződéses tárgyalások során.
-
reagálva a változásra egy tervet követően.
Vagyis míg a jobb oldali elemekben van érték, a bal oldali elemeket jobban értékeljük.
az agilitás jellemzői
az agilitás jellemzői −
-
Agility az agilis szoftverfejlesztésben az egész csapat kultúrájára összpontosít, több tudományágú, keresztfunkcionális csapatokkal, amelyek felhatalmazottak és önszerveződnek.
-
elősegíti a közös felelősséget és elszámoltathatóságot.,
-
megkönnyíti a hatékony kommunikációt és a folyamatos együttműködést.
-
az egész csapat megközelítése elkerüli a késéseket és a várakozási időket.
-
A gyakori és folyamatos szállítások gyors visszajelzést biztosítanak, amely lehetővé teszi a csapat számára, hogy igazodjon a követelményekhez.
-
együttműködés megkönnyíti ötvözi a különböző perspektívák időben a végrehajtás, hibajavítások és alkalmazkodó változások.
-
A haladás állandó, fenntartható és kiszámítható, hangsúlyozva az átláthatóságot.,
Software Engineering Trends
a szoftverfejlesztésben a következő tendenciák figyelhetők meg –
-
követelmények összegyűjtése a fejlesztés megkezdése előtt. Ha azonban a követelményeket később meg kell változtatni, akkor általában a következőket veszik észre −
-
ellenállás a változásokkal szemben a fejlődés későbbi szakaszában.
-
szigorú változási folyamat követelménye van, amely magában foglalja a változásvezérlő táblát, amely akár a változásokat későbbi kiadásokra is áthelyezheti.,
-
elavult követelményekkel rendelkező termék szállítása, amely nem felel meg az ügyfél elvárásainak.
-
képtelenek a költségvetésen belüli elkerülhetetlen tartományváltozások és technológiai változások befogadására.
-
-
a hibajavítási költségek csökkentése érdekében a fejlesztési életciklus elején keresse meg és szüntesse meg a hibákat.
-
a tesztelés csak a kódolás befejezése után kezdődik, a tesztelés pedig a tesztelő felelőssége, bár a tesztelő nem vesz részt a fejlesztésben.
-
mérje meg és kövesse nyomon a folyamatot., Ez azért lesz drága, mert −
-
nyomon követés a feladat szintjén és az erőforrás szintjén.
-
mérések meghatározása a fejlesztés minden tevékenységének irányításához és méréséhez.
-
menedzsment beavatkozás.
-
-
kidolgozza, elemezze és ellenőrizze a modelleket a fejlesztés előtt.
-
egy modellt állítólag keretként kell használni. A modellre való összpontosítás, nem pedig a döntő fontosságú fejlesztésre való összpontosítás azonban nem eredményezi a várt eredményeket.,
-
-
kódolás, amely a fejlődés szíve, nem kap elég hangsúlyt. Az okok –
-
a gyártásért felelős fejlesztők általában nem állnak állandó kapcsolatban az ügyfelekkel.
-
A kódolás a tervezés fordításaként tekintendő, a kód hatékony implementációja pedig alig kerül vissza a tervezésbe.
-
a tesztelés átjárónak tekinthető, hogy ellenőrizze a hibákat a szállítás előtt.,
-
a fejlesztés korábbi szakaszainak ütemezési túllépéseit kompenzálja a vizsgálati követelmények figyelmen kívül hagyása az időben történő szállítások biztosítása érdekében.
-
Ez azt eredményezi, hogy a költségek túllépik a hibák kijavítását a szállítás után.
-
A tesztelők felelősek és elszámoltathatók a termék minőségéért, bár nem vettek részt a teljes fejlesztés során.
az erőforrások korlátozása (főleg csapat) a költségvetés befogadására vezet −
-
erőforrás felett elosztás
-
csapat kiégés.,
-
veszteség a csapatkompetenciák hatékony kihasználásában.
-
lemorzsolódás.
Extrém Programozás − Egy módja annak, hogy kezelni a gyakori hiányosságok
Software Engineering magában foglalja −
-
a Kreativitás
-
a Tanulás, illetve javítása keresztül vizsgálatokban hibák
-
Ismétlések
Extrém Programozás épül, ezek a tevékenységek, valamint a kódolás. Ez a részletes (nem az egyetlen) tervezési tevékenység, több szoros visszacsatolási hurokkal, hatékony megvalósítással, teszteléssel, folyamatos refaktorálással.,
Extreme Programming is based on the following values −
-
kommunikáció
-
egyszerűség
-
visszacsatolás
-
bátorság
-
tisztelet
mi is Extreme Programming?
XP egy könnyű, hatékony, alacsony kockázatú, rugalmas, kiszámítható, tudományos, szórakoztató módon, hogy dolgozzon ki egy szoftvert.
az eXtreme Programming (XP) – t úgy tervezték és fejlesztették ki, hogy a kiscsapatok által a szoftverfejlesztés sajátos igényeit a homályos és változó követelményekkel szemben kielégítsék.,
Az Extreme Programming az agilis szoftverfejlesztési módszerek egyike. Értékeket és elveket ad a csapat viselkedésének irányításához. A csapat várhatóan önszerveződő. Az Extreme programozás olyan speciális alappraktikát biztosít, ahol-
-
minden gyakorlat egyszerű és önálló.
-
a gyakorlatok kombinációja összetettebb és kialakulóban lévő viselkedést eredményez.
ölelés változás
az extrém programozás egyik legfontosabb feltételezése, hogy a program megváltoztatásának költsége többnyire állandó lehet az idő múlásával.,>Ezt el lehet érni −
-
Hangsúlyt fektet a folyamatos visszajelzést az ügyfél
-
Rövid ismétlések
-
Design átalakítása
-
a Kódolás, illetve vizsgálati gyakran
-
Megszüntetése hibák korai, így a költségek csökkentése
-
Tartja az ügyfél részt vesz az egész fejlesztés
-
Nyilvánított működő terméket a vásárló
Extrém Programozás Dióhéjban
Extrém Programozás magában foglalja −
-
Írás egység vizsgálatok programozás előtt tartása a vizsgálatok fut minden alkalommal., Az egységtesztek automatizáltak, a hibákat Korán kiküszöbölik, így csökkentve a költségeket.
-
kezdve egy egyszerű design csak annyi, hogy kódolni a funkciók kéznél, újratervezés, ha szükséges.
-
programozás párban (úgynevezett pár programozás), két programozó egy képernyőn, felváltva használja a billentyűzetet. Míg az egyik a billentyűzeten van, a másik folyamatosan áttekinti a bemeneteket.
-
az egész rendszer integrálása és tesztelése naponta többször.,
-
egy minimális munkarendszer gyors üzembe helyezése és szükség esetén korszerűsítése.
-
az ügyfél folyamatos bevonása és folyamatos visszajelzés megszerzése.
Iterating megkönnyíti a alkalmazkodó változások, mint a szoftver fejlődik a változó követelményeknek.
miért hívják ” Extreme?”
Extreme Programming takes the effective principles and practices to extreme levels.
-
A Kódértékelések hatékonyak, mivel a kódot folyamatosan felülvizsgálják.,
-
a tesztelés hatékony, mivel folyamatos a regresszió és a tesztelés.
-
A tervezés hatékony, mivel mindenkinek naponta újra kell kezelnie.
-
integrációs tesztelés fontos, mivel integrálni és tesztelni naponta többször.
-
A rövid iterációk a kiadástervezés és az iterációtervezés tervezési játékaként hatékonyak.
az extrém programozás története
Kent Beck, Ward Cunningham és Ron Jeffries 1999-ben fogalmazták meg az extrém programozást. A többi közreműködő Robert Martin és Martin Fowler.,
a 80-as évek közepén Kent Beck és Ward Cunningham páros programozást kezdeményezett a Tektronixnál. A 80-as, 90-es években a Smalltalk kultúra Refaktorálást, folyamatos integrációt, folyamatos tesztelést és szoros vásárlói részvételt eredményezett. Ezt a kultúrát később általánosították a többi környezetre.
a 90-es évek elején az alapértékeket a Patterns közösség, a Hillside Group keretein belül fejlesztették ki. 1995-ben Kent ezeket a Smalltalk legjobb gyakorlataiban foglalta össze, 1996-ban Ward epizódokban foglalta össze.
1996-ban Kent egységvizsgálatot és metaforát adott a Hewittnek., 1996-ban Kent átvette a Chrysler C3 projektet, amelyhez Ron Jeffries-t edzőként adták hozzá. A gyakorlatot a C3-on finomították, majd a Wiki-n tették közzé.
Scrum practices were incorporated and adapted as the planning game. 1999-ben Kent kiadta “Extreme Programming Explained” című könyvét. Ugyanebben az évben Fowler kiadta könyvét, Refactoring.
az extrém programozás azóta is fejlődik, az evolúció ma is folytatódik.
siker az iparban
a szélsőséges programozási gyakorlatokat követő projektek sikere a −
-
gyors fejlődésnek köszönhető.,
-
azonnali reagálás az ügyfél változó követelményeire.
-
összpontosítson az alacsony hibaarányokra.
-
rendszer állandó és következetes értéket ad vissza az ügyfélnek.
-
magas vevői elégedettség.
-
csökkentett költségek.
-
csapat kohézió és munkavállalói elégedettség.
Extrém programozási előnyök
az extrém programozás a szoftverfejlesztési projektekben gyakran felmerülő következő problémákat oldja meg −
-
csúszott ütemezések-és az elérhető fejlesztési ciklusok biztosítják az időszerű szállításokat.,
-
törölt projektek-a folyamatos vevői szerepvállalásra való összpontosítás biztosítja az ügyféllel való átláthatóságot és a problémák azonnali megoldását.
-
a változások során felmerült költségek-a kiterjedt és folyamatos tesztelés biztosítja, hogy a módosítások ne szakítsák meg a meglévő funkciókat. A futó munkarendszer mindig elegendő időt biztosít a változások befogadására, hogy az aktuális műveleteket ne befolyásolja.
-
gyártási és post-delivery hibák: hangsúly van − az egység vizsgálatok kimutatására és kijavítására a hibák korai.,
-
félreértés az üzleti és / vagy domain-így az ügyfél egy része a csapat biztosítja az állandó kommunikáció, pontosítások.
-
üzleti változások-a változások elkerülhetetlennek tekintendők, és bármikor elhelyezhetők.
-
személyzet forgalomigényes csapatmunka biztosítja a lelkesedést és a jó akaratot. A több tudományág kohéziója elősegíti a csapat szellemét.