Ekstrem programmering (XP) -

Plassert på slutten av 1900-tallet så programvareutvikling og programmeringskonsepter en betydelig endring i måten og tilnærming til hele skjemaet. Leaner og pakkestørrelse tilnærminger vi økende og klare enhetlige modeller ble brukt for å få til endring i måten dataprogramvare ble utviklet. Avfall trengtes å reduseres med økende etterspørsel etter effektive systemer, og kom dermed til å øke tiden for metodologier for effektiv programvareutvikling. Prosedyreprogrammering ble snart erstattet av Objektorientert programmering og fossefallmodellen gjorde at Agile kunne overta ledelsen. Japanske rammer for kvalitetskontroll fikk snart fart, og dukket da opp konseptet med noe som tidligere ble brukt i biter og deler, men som nå var en fullverdig metode for å løse programvareprogrammering og utviklingsvansker, ekstrem programmering!

Hva er ekstrem programmering (XP)?

Med et betydelig antall endringer som så dagens lys fra klienter, kom Extreme Programming (XP) inn som lettelse for å organisere prosjekter utført av programvarespesialister.

Implementering av ekstrem programmering forbedret programvarekvaliteten og reagerte mer effektivt på de endrede kravene til virksomheten, forårsaket av skalering av virksomheter eller eksterne faktorer.

XP er en metodikk, under Agile-paraplyen, som oppmuntrer til hyppige versjonsutgivelser i korte utviklingssykluser. Dette vil uunngåelig øke produktiviteten i stor grad, og de hyppige utgivelsene ville bane vei for inkorporering av nyere krav.

Extreme Programming (XP) har "kundetilfredshet" kjernen i rammene og "teamarbeid" som muskelkraften. Samarbeid er et must for ekstrem programmering (XP) for å lykkes, da det tar iterative skritt mot å produsere programvare for klienter / kunder. Det er ikke fokusert på å levere hele beltet, men ser på om kundens behov blir oppfylt i alle ledd underveis.

Del av smidig programvareutvikling

Agile programvareutvikling er måten utvikling blir gjennomført på, men viktigst av alt, det de fleste glemmer å erkjenne er at team, det vil si mennesker, må være agile for at det skal lykkes. Metodene og prosessene implementering sikrer bare at det er et fast rammeverk der team kan være fleksible, skalerbare og mer definitivt kreative.

Med begrepene iterasjon og spurter, som for Scrum, gir Agile en flott plattform for å få endringene og tilbakemeldingene implementert i hver utviklingssyklus som går.

Når det gjelder Extreme Programming (XP), tar den hensyn til alle mulighetene som kan resultere i forbedringer gjort på slutten.

Tradisjonell utvikling versus ekstrem programmering (XP)

  • Mens tradisjonell utvikling holder fokus på prosessen og tar det i betraktning når det kommer til fullføring av syklusen, fokuserer ekstrem programmering på kravet.
  • Extreme Programming (XP) tar de beste praksisene som er installert i tradisjonell utvikling og tar det til de ytterste grenser. Tøyningen som er utført med ekstrem programmering (XP) er flott for fleksible og elastiske prosjekter.
  • Tradisjonell utvikling har segmentering som den foregående faktoren i programvareutviklingssykluser, mens ekstrem programmering (XP) tar til orde for samarbeidet mellom team og interessenter for deres stadige tilbakemeldinger og synspunkter i iterasjoner og planleggingsfaser.

5 Verdier for et vellykket prosjekt

Ekstrem programmering (XP) involverer de 5 essensielle måtene eller verdiene for å sette kurs mot et vellykket programvareprosjekt:

  1. Kommunikasjon - Denne programvareutviklingsmetodikken krever i hovedsak tett kommunikasjon mellom ledere, klienter / kunder og utviklere. Denne effektive kommunikasjonen er nødvendig for en smidig funksjon av programvareprosjektet, og andre prosjektstyringsverktøy implementeres også innen kommunikasjon slik at de kan lette kommunikasjonen videre i løpet av prosjektets livssyklus.
  2. Mot - Med dramatiske endringer i kundenes krav, er det for utviklerne å modig ta seg av utfordringene som dukker opp i siste øyeblikk eller motsier endringer som ble brukt på prosjektet når som helst.
  3. Tilbakemelding - Tilbakemelding blir implementert gjennom konstant enhetstesting, og resultatene blir evaluert og deretter implementert i prosjektutviklingssyklusene. Kunder holdes på nært hold og en demo blir presentert så snart en utviklingssyklus er fullført slik at tilbakemeldinger kan integreres.
  4. Respekt - Hver utviklingssyklus bringer suksessen til en ny milepæl, og den illustrerer bare bidragene i sykluser som er gjennomført.
  5. Enkelhet - ekstrem programmering (XP) er mest effektiv når designen holdes enkel og implementeringen planlegges på en tydelig og effektiv måte. Mye ekstrem programmering kjører på sine enkle regler den har på plass.

Planlegg-tilbakemeldingssykluser

Samarbeid i teamet og daglig forbindelse til virksomheten for optimalisert produktutvikling danner ryggraden i ekstrem programmering (XP), mens brukerhistorier danner grunnlaget for XP-planlegging. Disse brukerhistoriene vises på kort. Manipulering av disse kortene kan føre til liv i prosjektomfanget og planen.

Denne XP-planleggingen er laget med tre nivåer eller nivåer.

  • Fremtidige måneder
  • Neste iterasjon
  • Nåværende iterasjon

Planene er alltid midlertidige og det må gjøres en ny rekreasjon av planene før slutten av den siste planen. De endres etter hvert som det er en liten endring i prosjektet eller planen. Iterasjonen starter i det øyeblikket en endring oppstår. Du får tilbakemelding fra kunden, du besøker planen din. Du står foran eller bak planen, du besøker og endrer planen din.

Gjennom planlegging trer i kraft de mest passende designene for produktet som skal leveres. Når det gjelder ekstrem programmering (XP), blir testdrevet utvikling (TDD) og refactoring brukt for effektiv og effektiv utforming.

Refactoring har allerede kjernen i Agile, og er et viktig og avgjørende designverktøy som er involvert i planleggingsprosessen. Refactoring innebærer å gjøre designalternativer og justeringer i samsvar med behovene som er endret. Med refactoring kommer konseptet med testing på en enhetlig og akseptabel måte.

Følgende trinn er i sentrum når en planleggings- eller tilbakemeldingssløyfe utføres. Hver handling her er iterativ og kan utføres etter hverandre når en endring er startet:

Hvert trinn i sekvensen som utføres kan være iterativ og kan sløyfes når og når endringssekvensen igangsettes, og en ny plan blir gjenskapt for hver igangsetting. Hvert trinn har også en bestemt varighet tildelt det, og en tidsplan blir krittert ut for resten av tilbakemeldingene for hvert trinn i produktet.

  • Koding til par-programmering - sekunder
  • Par programmering til enhetstesting - minutter
  • Enhetstesting for parforhandling - timer
  • Parforhandling til stand-up-møte - en dag
  • Stand-up-møte til akseptstesting - dager
  • Akseptstesting til Iteration Planning - uker
  • Iteration Planning for release release - måneder

Med det iterasjonsnivået som er etterspurt, blir det obligatorisk for utviklerne å sikre og sikre også at koden er godt sortert og er av optimal kvalitet. Rapportering av feil er et strengt nei-nei for utviklere etter den ekstreme programmeringsmetodikken for programvareutvikling.

Hva er parprogrammering?

Ettersom den sentrale ressursen for den ekstreme programmeringsmetodikken er mennesker og ikke prosesser, er det mennesker som driver begrepet parprogrammering. Å legge til produktivitet og kvalitet til bordet, parprogrammering går noe slikt:

"Koden som sendes i produksjon er opprettet av to personer som jobber sammen om koden som skal opprettes, mens de sitter på en enkelt datamaskin."

Fordelene med dette konseptet med parprogrammering er som følger:

  • Forbedret programvarekvalitet - selv om det ikke er noe tillegg i funksjonalitet med to personer som sitter sammen eller fra hverandre, øker konsentrasjonen på en enkelt datamaskin sikkert kvaliteten på koden som er gjengitt
  • Ingen effekt på leveringstid - å gi en vinn-vinn-situasjon for prosjektet og dets interessenter, ved å bruke to funksjonelle hoder for å få en kode av høy kvalitet uten tidstap er bra for programvareutvikling
  • Kostnadsbesparelser for senere stadier - med den høykvalitetskoden som allerede er gjengitt, er virkningen den har på senere stadier enorm, og kostnadene spares sikkert med hver iterasjon som finner sted

Par programmering ettersom det involverer to særegne individer som jobber sammen ved like bord, blir det viktig for dem å koordinere på et høyere nivå, uavhengig av erfaringsnivå. Det er en sosial ferdighet som tar tid å lære, og den trenger to dedikerte fagpersoner som ønsker å gjøre en forskjell i verden av programvareutvikling.

Parprogrammering fortsettes alltid ved omfattende og kontinuerlig integrering av den nye funksjonaliteten som er innarbeidet, og syklusen fortsetter.

regler

Selv om vi vet at reglene som er satt i verk i verdenen for ekstrem programmering (XP) er basert på prinsippet og verdien av enkelhet, er det viktig å ha en god oversikt over disse reglene som utgjør en flott metodikk innen programvareutviklingsteknikker.

Planlegger

I planleggingen av prosjektlederen og teamet hans, se nøye på kravene og overholde følgende regler:

  • Brukerhistorier må noteres
  • Utgivelsesplanlegging bør resultere i en utgivelsesplan
  • Prosjektet er delt opp i iterasjoner
  • Utgivelser trenger å være hyppige, men små
  • Iterasjonsplanlegging bør starte iterasjonen

administrerende

Prosjektlederens rolle er å styre tildelte oppgaver og varigheten for hver særegne oppgave. Det er viktig at prosjektlederen er oppmerksom på risikoen og overholdelsen av hvert trinn som teammedlemmene gjennomfører, og styrer arbeidsstyrken og ressursene deretter for å oppfylle konseptet ekstrem programmering (XP). Her er noen av reglene som må gjennom en PM:

  • Teamet bør få et åpent arbeidsområde for å utvide fantasien
  • Tilordnet tidsplan skal være realistisk og nøye tempo
  • Hver arbeidsdag bør starte med et stand-up-møte
  • Samarbeid og teamarbeid er viktige komponenter og trenger oppmuntring
  • Prosjektets hastighet skal måles under hver endring
  • Mennesker skal aldri holdes stagnert og bør flyttes rundt
  • Styring av ekstrem programmering (XP) er viktig og planlegging bør settes i gang ved hver endringsmulighet

Prosjektering

Designing er det stadiet som nøye følger planleggingen, og det avgjør måten kravene håndteres på prosjektets første trinn. Et godt design reflekterer tankeprosessen og kreativiteten og krever et mindre antall iterasjoner, og sikrer dermed høye kvalitetsnivå helt i starten av prosjektet. Som en refleksjon av planleggingsstadiet, her er noen regler du må huske på under implementering av design i ekstrem programmering (XP):

  • Enkelhet er nøkkelen
  • Ingen funksjonalitet bør introduseres på et tidlig tidspunkt
  • Refactoring er viktig i alle ledd for å gi effektiv og effektiv produktdesign
  • Spike-løsninger kan brukes for å redusere antall og intensitet av risikoen for programvareprosjektet

Coding

Når designen er på plass, er det på tide å få alle hendene på dekk og gi den muligheten for å lage og generere kode som vil komme inn i produksjonen for testing og for levering. Koding kommer som scenen som demonstrerer den faktiske funksjonen til prosjektmetodikken og oppmuntrer iterasjon på den mest effektive måten. Her er raske regler du må huske på når du er i kodingsfasen:

  • Kunden må være i løkka til enhver tid under utgivelser av produktet
  • Koden må overholde kodingsstandarder og praksis som er brukt over hele verden
  • Enhetstesten skal være kode som start
  • Produksjonskode skal gjennomgå parprogrammering for høy kvalitet
  • Integrer koder ofte og bør gjøres av ett par bare på et bestemt tidspunkt
  • Ansvar skal deles og intensivt teamarbeid bør fremmes
  • Parprogrammering skal foregå på en datamaskin
  • Foretrukket sitteplass til paret skal være side om side

testing

Når koden er klar og rullende, kommer testing som et segl for at funksjonene i kodelinjene skal fungere jevnt. Testing av skjemaer som et seglstempel for å sikre at programvaren er klar til konsum. Følgende er reglene som er satt for testing innen Extreme Programming (XP):

  • En kode skal inneholde enhetstester
  • En utgivelse vil kreve koder for å bestå disse enhetstestene
  • Det bør lages tester for påvisning av feil
  • Aksepttester skal ha en høy frekvens og resultatene skal publiseres
  • Brukere skal ikke oppdage feil i en kode

Når skal jeg bruke ekstrem programmering (XP)?

Ekstrem programmering ble født på grunn av behovet for å jobbe rundt et prosjekt som gjennomførte mange endringer i mange veikryss i tid. Det ble nødvendig at metodikken som ble tatt i bruk var iterativ og enkel i kjernen. Følgende er situasjonene som kan be om bruk av ekstrem programmering (XP):

  • Kunder har ikke en god ide om systemets funksjonalitet
  • Endringer er dynamiske og forventes å endre seg etter korte tidsintervaller
  • Virksomheten øker bratt
  • Ressurser som er tildelt er bare et minimum. ingen stor stab
  • Trenger en betydelig økning i produktiviteten
  • Risiko trenger høye nivåer av avbøtning
  • Høye bestemmelser for testing

Så her er ekstrem programmering (XP) for deg i korte og enkle ord. Denne metodikken har rapportert suksess i alle programvareutviklingsforetak og har hatt en stor suksessrate gjennom implementeringshistorien. Født ut fra normale og forenklede krav, er ekstrem programmering (XP) nå sakte å anerkjenne som en metodikk å regne med.

Hvis du liker konseptet Extreme Programming (XP), må du gi denne artikkelen tommelen opp. Hvis du elsket det, sørg for at du deler og kommenterer synspunkter.