Extreme Programming – Introduktion

Reklamer

Dette kapitel giver et overblik over Extreme Programming.

Hvad er Agile?

ordet ‘agile’ betyder −

  • i stand til at bevæge din krop hurtigt og nemt.

  • i stand til at tænke hurtigt og tydeligt.,

i erhvervslivet bruges ‘agile’ til at beskrive måder at planlægge og udføre arbejde på, hvor det forstås, at ændringer efter behov er en vigtig del af jobbet. Business ‘agililty’ betyder, at en virksomhed altid er i stand til at tage hensyn til markedsændringerne.Ref: Cambridge ordbøger online.

i Soft .areudvikling er udtrykket ‘agile’ tilpasset til at betyde ‘evnen til at reagere på ændringer − ændringer fra krav, teknologi og mennesker.,’

Agile Manifest

Et team af software udviklere offentliggjort den Agile Manifest i 2001, der fremhæver betydningen af udviklingen team, at imødekomme skiftende krav og involvering.

Agile Manifesto hedder det −

vi afdækker bedre måder at udvikle soft .are ved at gøre det og hjælpe andre med at gøre det. Gennem dette arbejde er vi kommet til værdi −

  • individer og interaktioner over processer og værktøjer.

  • arbejdssoft .are over omfattende dokumentation.,

  • kundesamarbejde i forbindelse med kontraktforhandling.

  • reagerer på ændringer efter en plan.

det vil sige, mens der er værdi i elementerne til højre, værdsætter vi elementerne til venstre mere.

Egenskaber Smidighed

Følgende er de egenskaber, Agility −

  • Agility i Agile Software Development fokuserer på kultur, af hele holdet med multi-disciplin, kryds-funktionelle teams, der er bemyndiget og selforganizing.

  • det fremmer delt ansvar og ansvarlighed.,

  • letter effektiv kommunikation og kontinuerligt samarbejde.

  • hele holdets tilgang undgår forsinkelser og ventetider.hyppige og kontinuerlige leverancer sikrer hurtig feedback, der igen gør det muligt for holdet at tilpasse sig kravene.

  • samarbejde gør det lettere at kombinere forskellige perspektiver rettidigt i implementering, fejlrettelser og imødekommende ændringer.

  • fremskridt er konstant, bæredygtig og forudsigelig understreger gennemsigtighed.,

Software Engineering Trends

følgende tendenser, der er observeret i software engineering −

  • Indsamle krav inden udviklingen starter. Men hvis kravene skal ændres senere, bemærkes følgende normalt –

    • modstand mod ændringerne på et senere udviklingsstadium.

    • Der er et krav om en streng ændringsproces, der involverer et ændringskontrolkort, der endda kan skubbe ændringerne til senere udgivelser.,

    • levering af et produkt med forældede krav, der ikke opfylder kundens forventninger.

    • manglende evne til at imødekomme de uundgåelige domæneændringer og teknologiændringer inden for budgettet.

  • Find og fjern defekter tidligt i udviklingslivscyklussen for at reducere omkostningerne til fejlrettelse.

    • test starter først, når kodningen er afsluttet, og test betragtes som en testers ansvar, selvom testeren ikke er involveret i udvikling.

    • mål og spor selve processen., Dette bliver dyrt på grund af −

    • overvågning og sporing på opgaveniveau og på ressourceniveau.

    • definition af målinger til vejledning i udviklingen og måling af enhver aktivitet i udviklingen.

    • Ledelsesintervention.

  • udarbejde, analysere og kontrollere modellerne før udvikling.

    • en model skal bruges som ramme. Fokus på modellen og ikke på den udvikling, der er afgørende, vil dog ikke give de forventede resultater.,

  • kodning, som er hjertet i udviklingen, er ikke givet tilstrækkelig vægt. Årsagerne er-

    • udviklere, der er ansvarlige for produktionen, er normalt ikke i konstant kommunikation med kunderne.

    • kodning ses som en oversættelse af design, og den effektive implementering i kode er næppe nogensinde sløjfet tilbage i designet.

  • test anses for at være Gate .ay til at kontrollere for fejl inden levering.,

    • Programoverskridelser af de tidligere udviklingsstadier kompenseres ved at se bort fra testkravene for at sikre rettidig levering.

    • dette resulterer i omkostningsoverskridelser fastsættelse fejl efter levering.

    • testere gøres ansvarlige og ansvarlige for produktkvaliteten, selvom de ikke var involveret i hele udviklingsforløbet.

  • Begrænsende ressourcer (primært team) til at rumme budget fører til −

    • Ressource over tildeling

    • Hold udbrændthed.,

    • tab i effektiv udnyttelse af holdkompetencer.

    • slid.

  • Extreme Programming − En måde at håndtere de fælles mangler

    Software Engineering indebærer −

    • Kreativitet

    • Læring og forbedring gennem forsøg og fejl

    • Virksomheden

    Extreme Programming bygger på disse aktiviteter og kodning. Det er den detaljerede (ikke den eneste) designaktivitet med flere stramme feedback-sløjfer gennem effektiv implementering, test og refactoring kontinuerligt.,

    Extreme Programming er baseret på følgende værdier −

    • Kommunikation

    • Enkelhed

    • Kommentarer

    • Mod

    • Respect

    Hvad er Extreme Programming?

    XP er en let, effektiv, lav risiko, fleksibel, forudsigelig, videnskabelig og sjov måde at udvikle en soft .are på.

    eXtreme Programming (XP) blev udtænkt og udviklet til at imødekomme de specifikke behov i software udvikling af små hold i lyset af vage og skiftende krav.,

    ekstrem programmering er en af de Agile soft .areudviklingsmetoder. Det giver værdier og principper til at guide holdets adfærd. Holdet forventes at selvorganisere. E .treme programmering giver specifikke centrale praksis, hvor −

    • hver praksis er enkel og selv-komplet.

    • kombination af praksis producerer mere kompleks og emergent adfærd.

    omfavne ændring

    en vigtig antagelse om ekstrem programmering er, at omkostningerne ved at ændre et program kan holdes for det meste konstant over tid.,>Dette kan opnås med −

    • Vægt på løbende feedback fra kunden

    • Korte iterationer

    • Design og redesign

    • Kodning og test ofte

    • at Fjerne defekter tidligt, dermed mindske omkostningerne

    • Holde den kunde, der er involveret i hele den udvikling

    • at Levere fungerende produkt til kunden

    Extreme Programming i en Nøddeskal

    Extreme Programming indebærer −

    • Du skriver unit tests, før programmering og holde alle de test, der kører på alle tidspunkter., Enhedstestene er automatiserede og eliminerer defekter tidligt, hvilket reducerer omkostningerne.

    • startende med et simpelt design Lige nok til at kode de funktioner ved hånden og redesigne når det kræves.

    • programmering i par (kaldet par programmering), med to programmører på onen skærm, skiftes til at bruge tastaturet. Mens en af dem er på tastaturet, gennemgår den anden konstant og giver input.

    • integration og test af hele systemet flere gange om dagen.,

    • hurtigt at sætte et minimalt arbejdssystem i produktionen og opgradere det, når det er nødvendigt.

    • holde kunden involveret hele tiden og opnå konstant feedback.

    iteration Letter de imødekommende ændringer som soft .aren udvikler sig med de skiftende krav.

    Hvorfor hedder det ” e ?treme?”

    ekstrem programmering tager de effektive principper og praksis til ekstreme niveauer.

    • kodeanmeldelser er effektive, da koden gennemgås hele tiden.,

    • test er effektiv, da der er kontinuerlig regression og test.

    • Design er effektiv som alle har brug for at gøre refactoring dagligt.

    • Integration test er vigtig som integrere og teste flere gange om dagen.

    • korte iterationer er effektive som planlægningsspil til udgivelsesplanlægning og iterationsplanlægning.

    historie med ekstrem programmering

    Kent Beck, Wardard Cunningham og Ron Jeffries formulerede ekstrem programmering i 1999. De andre bidragydere er Robert Martin og Martin fo .ler.,

    i midten af 80 ‘ erne indledte Kent Beck og Wardard Cunningham parprogrammering på Tektroni.. I 80 ‘erne og 90’ erne producerede Smalltalk Kultur Refactoring, Kontinuerlig Integration, konstant test og tæt kundeinddragelse. Denne kultur blev senere generaliseret til de andre miljøer.

    i de tidlige 90 ‘ ere blev kerneværdier udviklet inden for Patterns Community, Hillside Group. I 1995 opsummerede Kent disse i Smalltalk Best Practices, og i 1996 opsummerede Wardard det i episoder.i 1996 tilføjede Kent unit testing og metafor på he .itt., I 1996 havde Kent taget Chrysler C3-projektet, hvortil Ron Jeffries blev tilføjet som coach. Praksis blev raffineret på C3 og offentliggjort på .iki.scrum praksis blev indarbejdet og tilpasset som planlægning spil. I 1999 udgav Kent sin bog, ‘e .treme Programming e Explainedplained’. Samme år udgav fo .ler sin bog, Refactoring.

    ekstrem programmering har udviklet sig siden da, og udviklingen fortsætter gennem i dag.

    succes i industrien

    succesen med projekter, der følger ekstrem programmeringspraksis, skyldes −

    • hurtig udvikling.,

    • øjeblikkelig reaktion på kundens skiftende krav.

    • fokus på lave defekthastigheder.

    • systemet returnerer konstant og konsistent værdi til kunden.

    • høj kundetilfredshed.

    • reducerede omkostninger.

    • teamsamhørighed og medarbejdertilfredshed.

    ekstreme Programmeringsfordele

    ekstrem programmering løser følgende problemer, der ofte står over for soft .areudviklingsprojekterne −

    • glidede tidsplaner − og opnåelige udviklingscyklusser sikrer rettidig levering.,

    • annullerede projekter − fokus på kontinuerlig kundeinddragelse sikrer gennemsigtighed med kunden og øjeblikkelig løsning af eventuelle problemer.

    • omkostninger i forbindelse med ændringer − omfattende og løbende test sikrer, at ændringerne ikke bryder den eksisterende funktionalitet. Et kørende arbejdssystem sikrer altid tilstrækkelig tid til at imødekomme ændringer, så de nuværende operationer ikke påvirkes.

    • produktion og fejl efter levering: der lægges vægt på-enheden tester for at opdage og rette fejlene tidligt.,

    • misforståelse af virksomheden og / eller domænet − hvilket gør kunden til en del af teamet sikrer konstant kommunikation og afklaringer.

    • virksomhedsændringer − ændringer anses for at være uundgåelige og er indkvarteret på ethvert tidspunkt.

    • personaleomsætning − intensivt teamsamarbejde sikrer entusiasme og god vilje. Samhørighed af multi-discipliner fremmer holdånden.

    Reklamer

    Skriv et svar

    Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *