Ekstremno programiranje (XP) -

Smješteni u kasnim 1900-ima, koncepti razvoja softvera i programiranja primijetili su znatnu promjenu u načinu i pristupu cijele sheme. Prilagođeni i mršaviji pristupi u primjeni i jasni jedinstveni modeli primijenjeni su kako bi se promijenila način na koji se razvijao računalni softver. Otpad je trebalo smanjiti s povećanjem potražnje za učinkovitim sustavima i time je došlo do porasta ere metodologija za učinkovit razvoj softvera. Proceduralno programiranje ubrzo je zamijenjeno objektno orijentiranim programiranjem, a vodopadni je model načinio da Agile preuzme vodeću ulogu. Japanski okviri kontrole kvalitete ubrzo su poprimali zamah i tada je nastao koncept nečeg što se prije koristilo u bitovima i komadima, ali što je sada bila cjelovita metodologija za rješavanje softverskih programa i razvojnih problema, Ekstremno programiranje!

Što je ekstremno programiranje (XP)?

Sa znatnim brojem promjena koje su ugledale svjetlo dana klijenata, Extreme Programming (XP) došao je kao olakšanje za organiziranje projekata koje provode softverski stručnjaci.

Primjena ekstremnog programiranja poboljšala je kvalitetu softvera i učinkovitije odgovarala na promjenjive potrebe poslovanja uzrokovane skaliranjem poduzeća ili vanjskim čimbenicima.

XP je metodologija, pod okriljem Agile, koja potiče česta izdanja verzija u kratkim razvojnim ciklusima. To bi neminovno uvelike povećalo produktivnost i česta izdanja bi otvorila put za uvođenje novijih zahtjeva.

Ekstremno programiranje (XP) u središtu je okvira „zadovoljstvo kupaca“ i „timski rad“ kao snaga mišića. Suradnja mora biti uspješna za ekstremno programiranje (XP) jer poduzima iterativne korake prema proizvodnji softvera za klijente / kupce. Nije usredotočeno na isporuku čitavog pojasa, već gleda na to ispunjavaju li potrebe klijenta u svakoj fazi puta.

Dio agilnog razvoja softvera

Agilan razvoj softvera način je na koji se razvija, ali najvažnije, ono što većina ljudi zaboravlja priznati je da timovi, odnosno ljudi, moraju biti agilni kako bi bili uspješni. Primjena metoda i procesa samo osigurava postojanje fiksnog okvira u kojem timovi mogu biti fleksibilni, skalabilni i definitivno kreativniji.

S konceptima iteracije i sprinta, kao u slučaju Scruma, Agile pruža odličnu platformu za dobivanje promjena i povratnih informacija implementiranih u svaki razvojni ciklus koji prolazi.

Kada je riječ o ekstremnom programiranju (XP), on uzima u obzir sve mogućnosti koje mogu rezultirati poboljšanjima koja su učinjena na kraju proizvoda.

Tradicionalni razvoj protiv ekstremnog programiranja (XP)

  • Dok tradicionalni razvoj zadržava fokus na procesu i uzima to u obzir pri završetku ciklusa, ekstremno programiranje usredotočuje se na zahtjev.
  • Ekstremno programiranje (XP) uzima najbolje prakse instalirane u tradicionalnom razvoju i dovodi ih do krajnjih granica. Istezanje koje se provodi s ekstremnim programiranjem (XP) odlično je za fleksibilne i elastične projekte.
  • Tradicionalni razvoj ima segmentaciju kao prethodni faktor u razvojnim ciklusima softvera, dok ekstremno programiranje (XP) zagovara suradnju između timova i dionika zbog njihove konstantne povratne informacije i pogleda tijekom faza iteracije i planiranja.

5 vrijednosti za uspješan projekt

Ekstremno programiranje (XP) uključuje 5 bitnih načina ili vrijednosti usmjerenja ka uspješnom softverskom projektu:

  1. Komunikacija - Ova metodologija razvoja softvera u osnovi zahtijeva usku komunikaciju između menadžera, klijenata / kupaca i programera. Ova učinkovita komunikacija potrebna je za nesmetano funkcioniranje softverskog projekta, a ostali se alati za upravljanje projektima također implementiraju u komunikaciju kako bi se olakšala komunikacija tijekom životnog ciklusa projekta.
  2. Hrabrost - Uz dramatične promjene u zahtjevima kupca, programeri su na hrabar način da poduzmu izazove koji se pojavljuju u posljednjem trenutku ili oprečne promjene primijenjene na projekt u bilo kojem trenutku.
  3. Povratne informacije - Povratne informacije provode se stalnim testiranjem jedinica, a rezultati se ocjenjuju i sukladno tome provode u okviru razvojnih ciklusa projekta. Kupci se drže u blizini, a demonstracija se prikazuje čim završi razvojni ciklus tako da se mogu uključiti povratne informacije.
  4. Poštovanje - svaki razvojni ciklus svojim uspjehom donosi novu prekretnicu i on samo pokazuje doprinos uloženim u cikluse.
  5. Jednostavnost - ekstremno programiranje (XP) najučinkovitije je kada je dizajn jednostavan, a implementacija planirana na jasan i učinkovit način. Puno ekstremnog programiranja jaše na svojim jednostavnim pravilima koja postoje.

Ciklusi planiranja - povratne informacije

Suradnja u timu i svakodnevna povezanost s tvrtkom radi optimiziranog razvoja proizvoda čine okosnicu ekstremnog programiranja (XP), dok korisničke priče čine XP planiranje. Ove korisničke priče zapisane su na karticama. Manipuliranje s tim karticama može oživjeti opseg i plan projekta.

Ove XP planiranje kreirano je s tri razine ili slojeva.

  • Budući mjeseci
  • Sljedeća iteracija
  • Trenutna iteracija

Planovi su uvijek privremeni i ponovno stvaranje planova potrebno je napraviti prije kraja posljednjeg plana. Oni se mijenjaju kao i kad postoji mala promjena u projektu ili njegovom rasporedu. Iteracija započinje onog trenutka kada dođe do promjene. Dobivate povratne informacije od kupca, ponovno pregledate svoj plan. Ako stanete ispred ili iza rasporeda, ponovno pregledate i mijenjate svoj plan.

Kroz planiranje stupa na snagu najprikladniji dizajn proizvoda koji će se isporučiti. S obzirom na ekstremno programiranje (XP), test-driven razvoj (TDD) i refactoring koriste se za učinkovito i učinkovito projektiranje.

Budući da je bit Agile-a, refactoring dolazi kao važan i ključan alat za dizajn koji je uključen u proces planiranja. Refactoring uključuje promjene dizajna i prilagodbe u skladu s potrebama koje su izmijenjene. S refaktoringom dolazi i koncept testiranja na nerazdružen i prihvatljiv način.

Sljedeći koraci uzimaju središnju fazu kada se izvršava petlja za planiranje ili povratne informacije. Svaka radnja ovdje je iterativna i može se izvoditi uzastopce nakon pokretanja promjene:

Svaki korak u nizu koji se provodi može biti iterativnog karaktera i može se petljati kao i kad se započinje promjena promjena, a za svaku inicijaciju stvara se novi plan. Svakom koraku je također dodijeljeno određeno trajanje, a ostatak povratnih informacija za svaku fazu proizvoda je naznačen rasporedom.

  • Kodiranje u programiranje u paru - sekundi
  • Programiranje u parovima za testiranje jedinice - minute
  • Ispitivanje jedinice u paru za pregovore - sati
  • Uparivanje pregovora za stand-up sastanak - jedan dan
  • Susret sa stand-up testovima prihvaćanja - dana
  • Ispitivanje prihvatljivosti u planiranju ponavljanja - tjednima
  • Iteracijsko planiranje do objavljivanja planiranja - mjeseci

Sa potrebnom razinom iteracije, programeri postaju obavezni osigurati i uvjeriti se da je kôd dobro sortiran i optimalne kvalitete. Prijavljivanje grešaka strogo je ne za programere koji slijede ekstremnu metodologiju programiranja za razvoj softvera.

Što je programiranje u parovima?

Budući da je središnji resurs krajnje metodologije programiranja ljudi, a ne procesi, ljudi koji upravljaju konceptom parnog programiranja. Dodavanje produktivnosti i kvalitete tablici, programiranje parova ide ovako:

"Kôd poslan u proizvodnju kreiraju dvije osobe koje zajedno rade na šifri koju treba stvoriti dok sjede na jednom računalu."

Prednosti ovog koncepta programiranja parova su sljedeće:

  • Poboljšana kvaliteta softvera - iako u funkcionalnosti ne postoje dvije osobe koje sjede zajedno ili odvojeno, koncentracija na jednom računalu zasigurno pridonosi kvaliteti prikazanog koda
  • Nema učinka na vrijeme za isporuku - pružanje win-win situacije za projekt i njegove dionike, koristeći dvije funkcionalne glave za dobivanje visokokvalitetnog koda bez gubitka vremena, super je za razvoj softvera
  • Ušteda troškova u kasnijim fazama - s već učinjenim visokokvalitetnim kodom utjecaj koji on ima na kasnijim fazama je ogroman, a trošak se zasigurno štedi sa svakom ponovljenom ponavljanjem

Programiranje u parovima, jer uključuju dvije karakteristične osobe koje rade zajedno za jednakim stolovima, postaje im bitno da se koordiniraju na višoj razini, bez obzira na razinu iskustva. To je društvena vještina kojoj treba vrijeme za učenje, a potrebna su joj dva posvećena profesionalca koji žele napraviti promjenu u svijetu razvoja softvera.

Programiranje parova uvijek se nastavlja opsežnom i neprekidnom integracijom nove funkcionalnosti koja je ugrađena i ciklus se nastavlja.

pravila

Iako znamo da se pravila koja rade u svijetu ekstremnog programiranja (XP) temelje na načelu i vrijednosti Jednostavnosti, bitno je dobro pogledati ta pravila koja čine odličnu metodologiju unutar tehnika razvoja softvera.

Planiranje

Tijekom planiranja voditelj projekta i njegov tim temeljito razmotre zahtjeve i pridržavaju se sljedećih pravila:

  • Priče o korisnicima moraju se ograničiti
  • Planiranje izdanja trebalo bi rezultirati rasporedom izdanja
  • Projekt je podijeljen u iteracije
  • Ispuštanja su potrebna česta, ali mala
  • Iteracijsko planiranje treba započeti iteraciju

Upravljanje

Upravljanje dodijeljenim zadacima i trajanje svakog pojedinačnog zadatka uloga je voditelja projekta. Važno je da voditelj projekta ima u vidu rizike i pridržavanje svih faza koje poduzimaju članovi tima, te usmjerava radnu snagu i resurse u skladu s konceptom ekstremnog programiranja (XP). Evo nekih pravila koja moraju proći kroz premijera:

  • Tim bi trebao dobiti otvoren radni prostor kako bi proširio svoju maštu
  • Dodijeljeni raspored treba biti realan i pažljivo tempo
  • Svaki radni dan trebao bi započeti stand-up sastankom
  • Suradnja i timski rad glavne su komponente i treba je maksimalno ohrabriti
  • Projektna brzina treba se mjeriti tijekom svake promjene
  • Ljudi se nikada ne smiju zadržavati u zastoju i trebaju se kretati
  • Ekstremno upravljanje upravljačem (XP) je najvažnije i planiranje treba pokrenuti pri svakoj prilici promjene

Projektiranje

Projektiranje je faza koja pažljivo slijedi planiranje i ona određuje način na koji se zahtjevi rješavaju u početnoj fazi projekta. Dobar dizajn odražava misaoni proces i kreativnost i zahtijeva manji broj ponavljanja, osiguravajući na taj način visoku razinu kvalitete na samom početku projekta. Budući da je odraz faze planiranja, evo nekoliko pravila koja morate imati na umu tijekom implementacije dizajna u ekstremnom programiranju (XP):

  • Jednostavnost je ključna
  • Nijedna funkcionalnost ne bi se trebala uvesti u ranoj fazi
  • Refactoring je ključan u svakoj fazi kako bi se osigurali učinkoviti i djelotvorni dizajni proizvoda
  • Rješenja sustava Spike mogu se koristiti za smanjenje broja i intenziteta rizika softverskog projekta

šifriranje

Jednom kada je dizajn na mjestu, vrijeme je da se stavite na palubu i pružite napredak u kreiranju i generiranju koda koji će ući u proizvodnju za testiranje i isporuku. Kodiranje dolazi kao faza koja pokazuje stvarno funkcioniranje projektne metodologije i potiče iteraciju na najučinkovitiji način. Evo kratkih pravila kojih treba imati na umu kada su u fazi kodiranja:

  • Kupci moraju biti u petlji tijekom objavljivanja proizvoda
  • Kod se mora pridržavati normi kodiranja i prakse prihvaćenih širom svijeta
  • Jedinstveni test treba biti kod kao početak
  • Proizvodni kod trebao bi se podvrgnuti programiranju parova radi visoke kvalitete
  • Integrirajte kodove često, a treba ih raditi jedan par samo u određeno vrijeme
  • Odgovornost treba podijeliti i promicati intenzivan timski rad
  • Programiranje parova trebalo bi se odvijati na jednom računalu
  • Poželjno je sjedenje para biti bočno

Testiranje

S kôdom koji je spreman i važi, testiranje dolazi kao pečat neometanog funkcioniranja kodnih linija. Ispitni obrasci dobivaju pečat kako bi se osiguralo da je softver spreman za potrošnju. Evo sljedećih pravila koja se postavljaju za testiranje u programu Extreme Programming (XP):

  • Kôd treba sadržavati jedinice ispitivanja
  • Za izdanje će biti potrebni kodovi za prolaz ovih testova na jedinici
  • Treba utvrditi testove na otkrivanje grešaka
  • Testovi prihvaćanja trebali bi biti učestali, a rezultati bi trebali biti objavljeni
  • Korisnici ne bi trebali otkriti nikakve pogreške unutar koda

Kada koristiti ekstremno programiranje (XP)?

Ekstremno programiranje nastalo je zbog potrebe da se radi oko projekta koji je sa sobom donio puno promjena na mnogim vremenskim razmacima. Postalo je potrebno da metodologija usvojena u svojoj srži bude iterativna i jednostavna. Slijede situacije koje mogu zatražiti korištenje ekstremnog programiranja (XP):

  • Kupci nemaju dobru predstavu o funkcionalnosti sustava
  • Promjene su dinamične i očekuje se da će se promijeniti nakon kratkih vremenskih intervala
  • Posao strmo raste
  • Dodijeljena sredstva su minimalni; nema ogromnog osoblja
  • Trebate značajno povećanje produktivnosti
  • Rizik treba visoku razinu ublažavanja
  • Visoke odredbe za testiranje

Dakle, evo ekstremnog programiranja (XP) za vas ukratko i jednostavnim riječima. Ova metodologija izvijestila je o uspjehu u svim poduhvatima za razvoj softvera i imala je veliku stopu uspjeha tijekom povijesti implementacije. Rođen izvan normalnih i pojednostavljenih zahtjeva, ekstremno programiranje (XP) sada polako dobiva na priznavanju kao metodologiji s kojom se treba svladati.

Ako vam se sviđa koncept ekstremnog programiranja (XP), učinite ovaj članak palcem gore. Ako vam se svidjelo, podijelite i komentirajte svoje stavove.

Kategorija: