Extreme programming ehk ekstreemprogrammeerimine

Ekstreemprogrammeerimine (XP) on agiilne tarkvaraarenduse metoodika, mis keskendub
kvaliteetse tarkvara pakkumisele sagedase ja pideva tagasiside, koostöö ja kohandamise kaudu.
XP rõhutab tihedat töösuhet arendusmeeskonna, kliendi ja sidusrühmade vahel,
rõhuasetusega kiirel iteratiivsel arendusel ja kasutuselevõtul.

  1. Etapp - Planeerimine:
    Ekstreemprogrammeerimise esimene etapp on planeerimine. Selles etapis määratlevad kliendid oma
    vajadused lühikirjeldustes, mida nimetatakse kasutajalugudeks. Meeskond arvutab iga loo jaoks
    vajaliku jõupingutuse ja ajastab väljaanded vastavalt prioriteedile ja pingutustele.

  2. Etapp - Disain:
    Meeskond loob ainult praeguste kasutajalugude jaoks vajaliku kujunduse, kasutades ühist
    analoogiat või lugu, mis aitab kõigil mõista süsteemi üldist arhitektuuri ning
    hoida kujundust sirgjoonelise ja selgena.

  3. Etapp - Kodeerimine:
    Ekstreemprogrammeerimine soodustab paarisprogrammeerimist, st kaks arendajat töötavad ühes
    tööjaamas koos, parandades koodi kvaliteeti ja teadmiste jagamist.
    Nad kirjutavad enne kodeerimist teste, et tagada funktsionaalsus algusest peale
    (TDD ehk Test-Driven Development), ja integreerivad oma koodi sageli automaatsete
    testidega jagatud hoidlasse, et probleeme varakult tuvastada.

  4. Etapp - Testimine:
    Ekstreemprogrammeerimine annab suurema tähtsuse testimisele, mis koosneb nii üksustestidest
    kui ka vastuvõtutestist. Üksustestid, mis on automatiseeritud, kontrollivad, kas
    konkreetsed funktsioonid töötavad õigesti. Klientide poolt läbi viidud vastuvõtutestid tagavad, et
    kogu süsteem vastab esialgsetele nõuetele.
    See pidev testimine tagab tarkvara kvaliteedi ja vastavuse klientide vajadustele.

  5. Etapp - Kuulamine:
    Kuulamisfaasis saadakse klientidelt regulaarne tagasiside tagamaks, et
    toode vastab nende vajadustele ja kohanetakse muudatustega.

Ekstreemprogrammeerimine on tarkvaraarenduse metoodika, mis on tuntud oma paindlikkuse,
koostöö ja kiire tagasiside poolest, kasutades selliseid tehnikaid nagu pidev testimine,
sagedased väljalasked ja paarisprogrammeerimine, milles kaks programmeerijat teevad
koostööd sama koodi kallal. XP toetab kasutajate kaasamist kogu arendusprotsessi vältel,
seades esikohale lihtsuse ja suhtluse.
Üldiselt on XP eesmärk pakkuda kiiresti kvaliteetset tarkvara ja kohaneda tõhusalt muutuvate nõuetega.

y u no see? buy internet
Ekstreemprogrammeerimise arendustsükli head ja halvad
Head Halvad
Pidev testimine ja ümbertöötamine aitavad luua stabiilseid hästitoimivaid süsteeme minimaalse silumisega Paljudel juhtudel pole kliendil lõpptulemusest selget pilti, mistõttu on ulatuse,
kulude ja aja täpse hinnangu andmine peaaegu ebareaalne
Lihtsuse väärtus: selge, kokkuvõtliku koodi loomine,
mida on lihtne lugeda ja vajaduse korral tulevikus muuta
Regulaarsed kohtumised klientidega võtavad sageli palju aega, mille võiks
kulutada hoopis tegelikule koodi kirjutamisele
Minimalistlik iteratiivne lähenemine arendusele tagab, et toimivad tulemused on saavutatud
väga kiiresti ja ehitatakse ainult vajalikud funktsioonid
Dokumentatsioon võib olla napp ning neil puuduvad selged nõuded ja
spetsifikatsioonid, mis võib viia projekti ulatuse vähenemiseni
Dokumentatsioon väheneb, kuna mahukad nõuete dokumendid asendatakse kasutajalugudega Kiire üleminek traditsioonilistelt tarkvaraarenduse meetoditelt ekstreemprogrammeerimisele
nõuab olulisi kultuurilisi ja struktuurilisi muutusi
Ületunde ei tehta või tehakse seda väga vähe Paarisprogrammeerimine võtab rohkem aega ja ei tööta alati õigesti
inimfaktori ja iseloomu mittesobivuse tõttu
Pidev suhtlus tagab kõrge nähtavuse ja vastutuse ning võimaldab
kõigil meeskonnaliikmetel projekti edenemisega sammu pidada
XP töötab kõige paremini koos paiknevate meeskondade ja isiklikult kohal
olevate klientidega, et pidada silmast silma kohtumisi,
piirates selle kasutamist hajutatud meeskondadega
Paarprogrammeerimine: selle tulemuseks on kõrgema kvaliteediga tooted, millel on vähem
vigu ja nauditakse sellist koostööd rohkem ning tunnetakse end oma töös kindlamalt
Mõnikord pole klientidel tootearenduses osalemiseks ei soovi, aega ega teadmisi.
Arvestades kitsaid tähtaegu, võib see muutuda stressiallikaks, kuna kas ei anta
väärtuslikku tagasisidet või mittetehniline esindaja püüab juhtida
tehnikaspetsialiste, kellel on protsessist vähe või puuduvad teadmised
Kliendi kaasamine tagab nende rahulolu, kuna nende osalemine arendus- ja
testimisprotsessis võib tulemust otseselt mõjutada,
saades neile täpselt selle, mida nad soovisid
Mõned autorid mainivad ka liigset keskendumist koodile disaini asemel,
kvaliteedi tagamise puudumist, koodi dubleerimist ja
kogenematute arendajate halbu tulemusi
allikad: GeeksforGeeks AltexSoft