Hvad er ekstrem programmering, og hvordan bruger du det?
ekstrem programmering er en soft .areudviklingsmetode designet til at forbedre kvaliteten af Soft .aren og dens evne til korrekt at tilpasse sig kundens eller klientens skiftende behov. I midten og slutningen af halvfemserne, mens han arbejdede på Chrysler Comprehensive Compensation System (C3) for at hjælpe med at styre virksomhedens lønningsliste, udviklede soft .areingeniør Ken Beck først den ekstreme programmeringsmetode., I oktober 1999 offentliggjorde han E .treme Programming forklarede, beskriver hele metoden for andre, og kort derefter den officielle hjemmeside blev lanceret så godt.i lighed med andre Agile udviklingsmetoder har E .treme Programming til formål at give iterative og hyppige små udgivelser gennem hele projektet, så både teammedlemmer og kunder kan undersøge og gennemgå projektets fremskridt gennem hele SDLC.,
i Hele denne artikel vil vi undersøge, præcis hvad Extreme Programming er, og hvordan den virker, fra de værdier og principper, der ligger bag det, at de regler og procedurer bedste praksis, der bruges til at implementere en ny Extreme Programming projekt, så lad os komme i gang!,/td>
Ekstreme Værdier
Disse fem grundlæggende værdier, som danner fundamentet for den helhed af Extreme Programming paradigme er bygget, så de mennesker, der er involveret i projektet til at føle sig trygge i den retning, projektet tager, og til at forstå deres personlige feedback og indsigt er lige så nødvendige og velkomne som alle andre.,
enkelhed: vi vil gøre hvad der er nødvendigt og bedt om, men ikke mere. Dette vil maksimere den værdi, der er skabt for den investering, der er foretaget til dato. Vi vil tage små enkle trin til vores mål og afbøde fejl, når de sker. Vi vil skabe noget, vi er stolte af og opretholde det på lang sigt for rimelige omkostninger.
Kommunikation: alle er en del af holdet, og vi kommunikerer ansigt til ansigt dagligt. Vi vil arbejde sammen om alt fra krav til kode. Vi vil skabe den bedste løsning på vores problem, som vi kan sammen.,
Feedback: vi vil tage hver iteration engagement alvorligt ved at levere arbejdssoft .are. Vi demonstrerer vores soft .are tidligt og lytter ofte derefter omhyggeligt og foretager de nødvendige ændringer. Vi vil tale om projektet og tilpasse vores proces til det, ikke omvendt.
respekt: alle giver og føler den respekt, de fortjener som et værdsat teammedlem. Alle bidrager værdi, selvom det er simpelthen entusiasme. Udviklere respekterer kundernes ekspertise og vice versa. Ledelsen respekterer vores ret til at tage ansvar og få autoritet over vores eget arbejde.,
mod: vi vil fortælle sandheden om fremskridt og estimater. Vi dokumenterer ikke undskyldninger for fiasko, fordi vi planlægger at lykkes. Vi frygter ikke noget, fordi ingen nogensinde arbejder alene. Vi vil tilpasse os ændringer, når de nogensinde sker.
Ekstrem Regler
i første omgang udgivet af Don Brønde i 1999, indehaveren af Extreme Programming hjemmeside, dette sæt af Extreme Programming Reglerne var oprindeligt beregnet til at hjælpe med at imødegå påstande om, at Extreme Programming, undlader at støtte nogle af de fremtrædende discipliner, der er nødvendige for en moderne udvikling.,
planlægning
- brugerhistorier er skrevet.
- Release planning opretter udgivelsesplanen.
- Foretag hyppige små udgivelser.
- projektet er opdelt i iterationer.
- Iterationsplanlægning starter hver iteration.
håndtering
- Giv teamet et dedikeret åbent arbejdsområde.
- sæt et bæredygtigt tempo.
- et stand up møde starter hver dag.
- projektets hastighed måles.
- Flyt folk rundt.
- Fi.ekstrem programmering, når den går i stykker.
Design
- enkelhed.,
- vælg en systemmetafor.
- brug CRC-kort til design sessioner.
- Opret spike-løsninger for at reducere risikoen.
- ingen funktionalitet tilføjes tidligt.
- Refactor når og hvor det er muligt.
kodning
- kunden er altid tilgængelig.
- kode skal skrives til aftalte standarder.
- kode enhedstesten først.
- al produktionskode er parprogrammeret.
- kun et par integrerer kode ad gangen.
- integrere ofte.
- Opsæt en dedikeret integrationscomputer.
- brug kollektivt ejerskab.,
test
- al kode skal have enhedstest.
- al kode skal bestå alle enhedstest, før den kan frigives.
- når en fejl er fundet tests er oprettet.
- accept test køres ofte, og scoren offentliggøres.
Ekstrem Praksis
der er Oprettet ved hjælp af, hvad der blev anset som den bedste praksis med udvikling af software på den tid, disse tolv Extreme Programming Bedste Praksis detaljer om de specifikke procedurer, der skal følges ved gennemførelse af et projekt med Extreme Programming.,
Finskala feedback
parprogrammering
i det væsentlige betyder parprogrammering, at to personer arbejder sammen på det samme system, når de udvikler en produktionskode. Ved ofte roterende partnere i hele teamet fremmer ekstrem programmering bedre kommunikation og teambuilding.
Planlægningsspil
ofte har dette form af et møde med et hyppigt og veldefineret interval (hver eller to uger), hvor størstedelen af planlægningen af projektet finder sted.,
inden for denne procedure findes Udgivelsesplanlægningsfasen, hvor der træffes bestemmelser om, hvad der kræves for forestående udgivelser. Sektioner af Udgivelsesplanlægning inkluderer:
- Udforskningsfase: historiekort bruges til at specificere de mest værdifulde krav fra kunderne.engagement fase: planlægning og forpligtelser fra holdet er lavet til at opfylde behovene i den næste tidsplan udgivelse og få det ud til tiden.,
- Styringsfase: dette gør det muligt at justere tidligere udviklede planer baseret på projektets udviklende behov, svarende til mange andre Agile Modelmetoder.
Efter Udgivelsen Planlægning er også Iteration Planlægning afsnit, som består af de samme tre sub-faser af sine egne, men med varianter på deres implementeringer:
- Efterforskning Fase: Alle projektets krav, er skrevet ned.
- Forpligtelsesfase: nødvendige opgaver, der endnu ikke er afsluttet for at imødekomme den kommende iterationsudgivelse, tildeles udviklere og planlægges korrekt.,
- Styringsfase: udviklingen finder sted, og efter afslutningen sammenlignes den resulterende iteration med de skitserede historiekort, der blev oprettet ved starten af Planlægningsproceduren.
Test-drevet udvikling
Mens en hel artikel kan være skrevet om test-drevet udvikling, begrebet er ganske godt kendt blandt udviklere og effektivt betyder, at testene er genereret for hver og kravet om projektet, og først derefter er kode der er udviklet, der vil bestå disse tests.,
Hele holdet
Som med mange andre SDLC metoder og praksis, Extreme Programming fremmer integration af kunder og kunder gennem hele processen, ved hjælp af deres feedback til at hjælpe med at forme projektet på alle tidspunkter.
Kontinuerlig proces
Continuous integration
en Anden almindelig praksis i den moderne udvikling, ideen bag continuous integration er, at alle-kode, der er udviklet på tværs af hele holdet er samlet i ét fælles opbevaringssted mange gange om dagen., Dette sikrer, at eventuelle problemer med integration på tværs af hele projektet bliver bemærket og behandlet hurtigst muligt.
Code refactoring
en anden meget almindelig praksis, ideen bag code refactoring er simpelthen at forbedre og redesigne strukturen af allerede eksisterende kode uden at ændre dens grundlæggende adfærd. Enkle eksempler på refactoring omfatter fastsættelse forkert navne variabler eller metoder, og reducere gentagen kode ned til en enkelt metode eller funktion.,
Små udgivelser
Meget på linje med den praksis, der af den Iterative Model, dette koncept sikrer, at projektet vil funktionen gentaget, små udgivelser på en hyppig grundlag, så kunden så godt, som alle medlemmer af teamet, for at få en fornemmelse af, hvordan projektet udvikler sig.
delt forståelse
kodningsstandarder
kodningsstandarden er simpelthen et sæt bedste praksis inden for selve koden, såsom formatering og stil, som hele teamet overholder gennem hele projektets livscyklus., Dette fremmer bedre forståelse og læsbarhed af koden ikke kun for nuværende medlemmer, men også for fremtidige udviklere.
ejerskab af kollektiv kode
denne praksis giver enhver udvikler på tværs af teamet mulighed for at ændre ethvert afsnit af koden efter behov. Selvom denne praksis kan lyde farlig for nogle, det fremskynder udviklingstiden, og eventuelle problemer kan stoppes med korrekt enhedstest.
simpelt design
Der er lidt grund til at komplicere ting, når en enklere mulighed er tilgængelig., Denne grundlæggende praksis med at holde alle komponenter og kode så enkle som muligt sikrer, at hele teamet altid vurderer, om tingene kunne gøres på en lettere måde.systemmetafor
systemmetafor
bedst tænkt på som en del af kodningsstandarderne er systemmetaforen ideen om, at enhver person på teamet skal kunne se på den udviklede kode på højt niveau og have en klar forståelse af, hvilken funktionalitet koden udfører.,
programmør velfærd
bæredygtigt tempo
et nøglekoncept for bedre balance mellem arbejdsliv og liv med udviklere på et ekstremt Programmeringsprojekt er forestillingen om, at ingen skal være forpligtet til at arbejde ud over den normale planlagte arbejdsuge. Overarbejde er ildeset, ligesom begrebet “crunch time”, hvor udviklere forventes at arbejde ekstreme timer nær slutningen af en udgivelse for at få alt afsluttet til tiden.