Äärmuslik programmeerimine (XP) -

1900. aastate lõpus kasutusele võetud tarkvaraarenduse ja programmeerimise kontseptsioonid nägid märkimisväärset muutust kogu skeemi mooduses ja lähenemisviisis. Arvutitarkvara arendamise viisi muutmiseks rakendati kergemaid ja pakendisuurusi lähenemisviise, mille jaoks me kasvasime ja selgeid ühiseid mudeleid. Ebaõnnestumist tuli vähendada, suurendades nõudlust tõhusate süsteemide järele, ja sellega tõusis esile efektiivse tarkvaraarenduse metoodika ajastu. Protseduuriline programmeerimine asendati peagi objektorienteeritud programmeerimisega ja jugamudel viis Agile viis juhtpositsiooni üle võtta. Jaapani kvaliteedikontrolliraamistikud said peagi hoogu ja tekkis kontseptsioon millestki, mida varem kasutati bittides ja tükkides, kuid mis oli nüüd täieõiguslik metoodika tarkvara programmeerimise ja arenguhädade lahendamiseks, Extreme Programming!

Mis on ekstreemne programmeerimine (XP)?

Oluliste muudatustega, mis nägid klientide päevavalgust, tuli Extreme Programming (XP) tarkvara spetsialistide projektide korraldamise hõlbustamiseks.

Äärmusliku programmeerimise rakendamine parandas tarkvara kvaliteeti ja reageeris tõhusamalt ettevõtte muutuvatele nõudmistele, mis on põhjustatud ettevõtete laienemisest või välistest teguritest.

XP on Agiilsuse katusel kasutatav metoodika, mis julgustab versioonide sagedast väljaandmist lühikeste arendustsüklite ajal. See suurendaks paratamatult märkimisväärselt tootlikkust ja sagedased väljalasked sillutaksid teed uuemate nõuete lisamisele.

Äärmusliku programmeerimise (XP) keskmes on kliendirahulolu ja lihasjõuna on meeskonnatöö. Äärmusliku programmeerimise (XP) õnnestumiseks peab koostöö olema vajalik, kuna see võtab korduvaid samme klientidele tarkvara tootmiseks. See ei keskendu kogu vöö tarnimisele, vaid uurib, kas kliendi vajadused on igal sammul täidetud.

Osa agiilsest tarkvaraarendusest

Agiilset tarkvaraarendust on arendamise viis, kuid mis kõige tähtsam - enamik inimesi unustab endale teadvustada, et meeskonnad, st inimesed, peavad selle õnnestumiseks olema agarad. Meetodite ja protsesside juurutamine tagab ainult kindla raamistiku olemasolu, milles meeskonnad saavad olla paindlikud, skaleeritavad ja loomingulisemad.

Iteratsiooni ja sprintide kontseptsioonide abil, nagu Scrumi puhul, pakub Agile suurepärase platvormi muudatuste ja tagasiside saamiseks kõigis mööduvates arendustsüklites.

Äärmusliku programmeerimise (XP) puhul arvestatakse sellega kõiki võimalusi, mille tulemuseks on toote lõppu tehtud parandused.

Traditsiooniline arendus versus ekstreemne programmeerimine (XP)

  • Kui traditsiooniline arendustegevus keskendub protsessile ja võtab seda tsükli lõpetamisel arvesse, siis ekstreemne programmeerimine keskendub nõudele.
  • Äärmuslik programmeerimine (XP) võtab tavapärasesse arendusse paigaldatud parimad tavad ja viib selle äärmise piirini. Äärmusliku programmeerimisega (XP) teostatav venitus on suurepärane paindlike ja elastsete projektide jaoks.
  • Traditsioonilisel arendusel on tarkvara arendamise tsüklites eelnev tegur segmentimine, samas kui äärmuslik programmeerimine (XP) toetab meeskondade ja ka sidusrühmade koostööd, et saada pidevat tagasisidet ja seisukohti iteratsioonide ja kavandamisetappide ajal.

5 eduka projekti väärtused

Äärmuslik programmeerimine (XP) hõlmab 5 olulist viisi või väärtust, mille abil liikuda eduka tarkvaraprojekti poole:

  1. Kommunikatsioon - see tarkvaraarenduse metoodika nõuab sisuliselt tihedat suhtlemist juhtide, klientide / klientide ja arendajate vahel. See efektiivne kommunikatsioon on vajalik tarkvaraprojekti tõrgeteta toimimiseks ja suhtluse raames rakendatakse ka muid projektijuhtimisriistu, et need hõlbustaksid suhtlemist projekti elutsükli jooksul veelgi.
  2. Julgus - klientide nõudmiste dramaatiliste muutuste korral peavad arendajad julgelt võtma vastu väljakutsed, mis kerkivad esile viimasel minutil, või mis tahes ajahetkel projekti vastu võetud muudatustega vastuolulised.
  3. Tagasiside - tagasisidet rakendatakse pideva ühiku testimise kaudu ning tulemusi hinnatakse ja rakendatakse vastavalt projekti arendustsüklites. Kliente hoitakse vahetus läheduses ja demo esitatakse kohe, kui arendustsükkel on lõpule viidud, et tagasisidet saaks kasutada.
  4. Austus - iga arendustsükkel toob koos oma eduga uue verstaposti ja see illustreerib ainult läbi viidud tsüklitesse tehtud panuseid.
  5. Lihtsus - ekstreemne programmeerimine (XP) on kõige tõhusam, kui konstruktsiooni hoitakse lihtsana ning selle kavandamine on kavandatud selgel ja tõhusal viisil. Paljud äärmuslikud programmeerimised sõidavad selle lihtsate reeglite järgi.

Planeerimise-tagasisidetsüklid

Äärmusliku programmeerimise (XP) alustalaks on meeskonna koostöö ja igapäevane seotus äriga optimeeritud tootearenduseks, samas kui XP-de kavandamise aluseks on kasutajate lood. Need kasutajate lood on kirjutatud kaartidele. Nende kaartidega manipuleerimine võib ellu viia projekti ulatuse ja plaani.

Need XP plaanid on loodud kolme taseme või astmega.

  • Tulevased kuud
  • Järgmine iteratsioon
  • Praegune iteratsioon

Plaanid on alati ajutised ja plaanid tuleb uuesti teha enne viimase plaani lõppu. Need muutuvad, kui projekti või selle ajakava on isegi pisut muudetud. Iteratsioon algab hetkest, kui ilmneb muutus. Saate kliendilt tagasisidet, vaatate oma plaani uuesti läbi. Seisute graafikust ette või taha, vaatate uuesti läbi ja muudate oma plaani.

Planeerimise kaudu jõustub tarnitava toote jaoks kõige sobivam kujundus. Äärmusliku programmeerimise (XP) osas kasutatakse efektiivseks ja tõhusaks kujundamiseks testpõhist arendamist (TDD) ja refaktorit.

Juba Agile põhiolemusest tuleb refrakteerimine oluliseks ja ülioluliseks kavandamise tööriistaks, mis on kaasatud planeerimisprotsessi. Refaktorimine hõlmab disainilahenduste muutmist ja kohandamist vastavalt muudetud vajadustele. Reaktoriseerimisega kaasneb katsetamine ühtsel ja vastuvõetaval viisil.

Järgmised sammud on kesksel kohal, kui planeerimis- või tagasisidetsükkel on täidetud. Kõik siin esitatud toimingud on korduvad ja neid saab pärast muudatuse algatamist järjest teha:

Kõik teostatavad jadad võivad oma olemuselt olla iteratiivsed ja neid saab muuta nii, nagu muutmisjada algatatakse, ja iga initsiatsiooni jaoks luuakse uus plaan. Igal etapil on sellele määratud ka konkreetne kestus ja ülejäänud tagasisidestamise graafik on välja töötatud iga tooteetapi kohta.

  • Kodeerimine paarisprogrammeerimisele - sekundit
  • Paar programmeerimine ühiku testimiseks - minutid
  • Ühiku testimine paarilise läbirääkimisega - tunnid
  • Paariläbirääkimised stand-up-koosolekuga - üks päev
  • Vastuvõtutestide valmisolekukoosolek - päevad
  • Vastuvõtu testimine iteratsiooni kavandamiseks - nädalad
  • Itereerimisplaan plaani vabastamiseks - kuud

Vajaliku iteratsioonitasemega muutub arendajatele kohustuslikuks tagada ja kinnitada, et kood on hästi sorteeritud ja optimaalse kvaliteediga. Vigadest teatamine on tarkvaraarendajale äärmise programmeerimismetoodikat järgides arendajatele rangelt keelatud. Ei.

Mis on paariprogrammeerimine?

Kuna äärmise programmeerimise metoodika keskne ressurss on inimesed, mitte protsessid, juhivad paariprogrammeerimise kontseptsiooni inimesed. Kui lisada tabelile produktiivsus ja kvaliteet, siis paarisprogrammeerimine toimub umbes nii:

"Tootmisse saadetud koodi loovad kaks inimest, kes töötavad loodava koodi kallal ja istuvad ühes arvutis."

Paaride programmeerimise kontseptsiooni eelised on järgmised:

  • Parandatud tarkvara kvaliteet - kuigi kahe inimesega koos või lahus istudes pole funktsionaalsusele lisandunud, lisab keskendumine ühele arvutile kindlasti pakutava koodi kvaliteeti
  • Pole mõju tarnimise ajale - pakkudes projektile ja selle sidusrühmadele kasulikke olukordi, kahe funktsionaalse pea kasutamine kvaliteetse koodi saamiseks ilma ajakaotuseta on tarkvaraarenduseks suurepärane
  • Kulude kokkuhoid hilisemate etappide jaoks - juba pakutud kvaliteetse koodi korral on selle mõju hilisematele etappidele tohutu ja kulude kokkuhoid on kindlasti iga toimuva iteratsiooniga

Paariprogrammeerimine, kuna see hõlmab kahte eraldiseisvat isikut, kes töötavad koos võrdsetes laudades, on nende jaoks oluline koordineerida kõrgemat taset, sõltumata kogemuse tasemest. See on sotsiaalne oskus, mille õppimine võtab aega ja selleks on vaja kahte pühendunud spetsialisti, kes soovivad tarkvaraarenduse maailmas midagi muuta.

Paaride programmeerimist jätkatakse alati integreeritud uue funktsiooni ulatusliku ja pideva integreerimisega ning tsükkel jätkub.

Reeglid

Ehkki me teame, et Extreme Programming (XP) maailmas tööle pandud reeglid põhinevad lihtsuse põhimõttel ja väärtusel, on oluline omada head ülevaadet nendest reeglitest, mis moodustavad tarkvara arendamise tehnikates suurepärase metoodika.

Planeerimine

Projektijuht ja tema meeskond vaatavad kavandamise ajal põhjalikult läbi nõuded ja järgivad järgmisi reegleid:

  • Kasutajate lood tuleb üles kirjutada
  • Väljalaske kavandamine peaks andma väljalaske ajakava
  • Projekt jaguneb iteratsioonideks
  • Väljaanded peavad olema sagedased, kuid väikesed
  • Iteratsiooni kavandamine peaks alustama iteratsiooni

Haldamine

Määratud ülesannete haldamine ja iga omapärase ülesande kestus on projektijuhi roll. On oluline, et projektijuht arvestaks meeskonna liikmete iga etapi riskide ja järgimisega ning juhendaks vastavalt tööjõudu ja ressursse äärmusliku programmeerimise (XP) kontseptsiooni täitmiseks. Siin on mõned reeglid, mis peavad PM-i läbima:

  • Meeskond peaks oma kujutlusvõime laiendamiseks saama avatud tööruumi
  • Jaotatav ajakava peaks olema realistlik ja hoolikalt valitud
  • Iga tööpäev peaks algama eraldiseisva koosolekuga
  • Koostöö ja meeskonnatöö on peamised komponendid ja vajavad suurimat julgustust
  • Projekti kiirust tuleks mõõta iga muudatusega kaasamise ajal
  • Inimesi ei tohiks kunagi paigal hoida ja neid tuleks ümber tõsta
  • Äärmusliku programmeerimise juhtimine (XP) on esmatähtis ja iga muutuste võimaluse korral tuleks alustada planeerimist

Kujundamine

Projekteerimine on etapp, mis järgib hoolikalt planeerimist ja see määrab kindlaks, kuidas nõudeid projekti algfaasis käsitletakse. Hea kujundus peegeldab mõttekäiku ja loovust ning nõuab vähem kordusi, tagades sellega kõrge kvaliteedi projekti alguses. Planeerimisetapi peegeldusena on siin mõned reeglid, mida tuleks ekstreemsete programmeerimiste (XP) kujunduste juurutamisel meeles pidada:

  • Lihtsus on võtmetähtsusega
  • Ühtegi funktsionaalsust ei tohiks varases etapis kasutusele võtta
  • Refaktoriseerimine on igal etapil hädavajalik, et tagada tõhus ja tulemuslik tootekujundus
  • Tarkvaraprojektiga seotud riskide arvu ja intensiivsuse vähendamiseks saab kasutada spike-lahendusi

Kodeerimine

Kui kujundus on paigas, on aeg kõik käed külge saada ja anda võimalus luua ja genereerida kood, mis sisestatakse tootmiseks testimiseks ja tarnimiseks. Kodeerimine on etapp, mis näitab projekti metoodika tegelikku toimimist ja soodustab itereerimist kõige tõhusamal viisil. Siin on kiired reeglid, mida tuleb kodeerimisetapis silmas pidada:

  • Klient peab toodete väljalaske ajal olema pidevalt silmuses
  • Koodeks peab järgima kogu maailmas kehtivaid kodeerimisstandardeid ja tavasid
  • Ühiktesti algus peaks olema kood
  • Tootmise kood peaks kõrge kvaliteedi jaoks läbima paariprogrammeerimise
  • Integreerige koode sageli ja seda peaks tegema ainult üks paar konkreetsel ajal
  • Tuleks jagada vastutust ja edendada intensiivset meeskonnatööd
  • Paaride programmeerimine peaks toimuma ühes arvutis
  • Paari eelistatavad istekohad peaksid olema üksteise kõrval

Testimine

Kui kood on valmis ja veerev, on testimine koodiridade tõrgeteta toimimise pitser. Vormide testimine pitsati templitega, et veenduda tarkvara tarbimisvalmiduses. Järgnevad on Extreme Programming (XP) testimiseks kehtestatud reeglid:

  • Kood peaks sisaldama ühikuteste
  • Väljalase eeldaks nende ühikatsete läbimiseks koode
  • Vigade tuvastamiseks tuleks luua testid
  • Vastuvõtukatsed peaksid olema sagedased ja tulemused tuleks avaldada
  • Kasutajad ei tohiks koodis ühtegi viga tuvastada

Millal kasutada äärmuslikku programmeerimist (XP)?

Äärmuslik programmeerimine sündis tänu vajadusele töötada ümber projekti, mis tõi paljudes ajahetkedes kaasa palju muudatusi. Osutus vajalikuks, et vastuvõetud metoodika oleks korduv ja keskmes lihtne. Järgnevad on olukorrad, kus võib küsida äärmise programmeerimise kasutamist (XP):

  • Klientidel pole süsteemi funktsionaalsuse kohta head ettekujutust
  • Muutused on dünaamilised ja eeldatavasti muutuvad need pärast lühikest ajavahemikku
  • Äri kasvab järsult
  • Eraldatud ressursid on minimaalsed; pole tohutult personali
  • Vajadus tootlikkuse märkimisväärsel suurendamisel
  • Risk vajab kõrget leevendamist
  • Testide kõrged sätted

Niisiis, siin on teile lühike ja lihtsate sõnadega ekstreemne programmeerimine (XP). See metoodika on teatanud edust kõigis tarkvaraarendusettevõtetes ja kogu rakenduse ajaloo jooksul on olnud väga edukas. Tavalistest ja lihtsustatud nõuetest sündinud äärmuslik programmeerimine (XP) on nüüd tasapisi tuntust kogunud kui metoodikat, millega arvestada.

Kui teile meeldib ekstreemse programmeerimise (XP) kontseptsioon, siis andke sellele artiklile pöidlad. Kui teile see meeldis, siis kindlasti jagage oma arvamusi ja kommenteerige neid.