Dette kapitlet gir en oversikt over Extreme Programming.
Hva er Smidig?
ordet «smidig» betyr −
– >
-
i Stand til å bevege kroppen din raskt og enkelt.
-
i Stand til å tenke raskt og tydelig.,
I næringslivet, ‘fleksibel’ er brukt for å beskrive metoder for å planlegge og utføre arbeid hvor det er forstått at det å gjøre endringer som trengs er en viktig del av jobben. Business’agililty » betyr at et selskap er alltid i en posisjon til å ta hensyn til endringer i markedet.
Ref: Cambridge Ordbøker på nettet.
I programvare utvikling, begrepet «smidig» er tilpasset til å bety » evnen til å reagere på endringer − endringer fra Krav, Teknologi og Mennesker.,’
Agile Manifesto
Et team av utviklere av programvare publisert Agile Manifesto i 2001, hvor viktigheten av utvikling team, med plass til skiftende krav og kundens engasjement.
The Agile Manifesto sier at −
– >
Vi er funnet bedre måter å utvikle programvare ved å gjøre det, og å hjelpe andre til å gjøre det. Gjennom dette arbeidet har vi kommet til verdi −
– >
-
Individer og samspill framfor prosesser og verktøy.
-
Fungerende programvare over omfattende dokumentasjon.,
-
Kunden samarbeid framfor kontraktsforhandlinger.
-
Reagere på endringer framfor å følge en plan.
Det er, mens det er en verdi i elementer på høyre side er vi opptatt av elementene på venstre mer.
Egenskaper av Smidighet
Følgende karakteristikk av Agility −
– >
-
Smidighet i Agile Software Development fokuserer på kultur i hele laget med multi-disiplin, tverrfaglig team som er bemyndiget og selforganizing.
-
Det legger grunnlaget for felles ansvar og ansvarlighet.,
-
Muliggjør effektiv kommunikasjon og kontinuerlig samarbeid.
-
hele-team tilnærming unngår forsinkelser og ventetid.
-
Hyppige og kontinuerlige leveranser sikre rask tilbakemelding om at i i sin tur at teamet rett til kravene.
-
Samarbeidet muliggjør å kombinere ulike perspektiver tide i gjennomføringen, feil løsninger og imøtekommende endringer.
-
Fremgang er konstant, bærekraftig og forutsigbar vektlegge åpenhet.,
Software Engineering Trender
følgende trender er observert i software engineering −
– >
-
Samle behov før utviklingen starter. Imidlertid, hvis krav er å bli endret senere, da følgende er vanligvis lagt merke til −
– >
-
Motstand mot endringer på et senere stadium av utviklingen.
-
Det er et krav om en streng endre prosess som innebærer en endring control board som kanskje presse endringer i senere utgivelser.,
-
levering av et produkt med foreldet krav, ikke møte kundens forventninger.
-
Manglende evne til å imøtekomme den uunngåelige domene endringer og teknologi endringer innenfor budsjettet.
-
-
Finne og eliminere feil tidlig i utviklingen livssyklus for å klippe feil-fix kostnader.
-
Testing starter kun etter at koding er komplett og testing er regnet som en tester ansvar om de tester ikke er involvert i utvikling.
-
Måle og følge prosessen i seg selv., Dette blir dyrt på grunn av −
– >
-
Overvåking og sporing på oppgave nivå, og på ressursen nivå.
-
Definere målinger for å lede utvikling og måling i hver aktivitet i utvikling.
-
Ledelse intervensjon.
-
-
Forseggjort, analysere og verifisere modeller før utviklingen.
-
modellen er ment å bli brukt som et rammeverk. Men fokus på modell og ikke på den utvikling som er avgjørende, ikke vil gi de forventede resultatene.,
-
-
Koding, som er hjertet av utviklingen er ikke gitt tilstrekkelig vekt. Begrunnelsen var −
– >
-
Utviklere, som er ansvarlig for produksjonen, er vanligvis ikke i konstant kommunikasjon med kundene.
-
Koding er sett på som en oversettelse av design og effektiv gjennomføring i koden er neppe noen gang repeterende tilbake i design.
-
– >
– Testing anses å være inngangsporten til sjekk for feil og mangler før levering.,
-
Tidsplan overskridelser av de tidligere stadier av utviklingen er kompensert med utsikt over den testen som trengs for å sikre rettidig leveranser.
-
Dette resulterer i kostnadsoverskridelser rette feil etter levering.
-
Testere er laget ansvarlig for produktets kvalitet selv om de ikke var involvert under hele kurset av utviklingen.
Begrensende ressurser (hovedsakelig team) for å imøtekomme budsjett fører til −
– >
-
Resource over tildeling
-
Laget av utbrenthet.,
-
Tap i effektiv utnyttelse av team kompetanse.
-
naturlig Avgang.
Extreme Programming − En måte å håndtere de vanligste manglene
Software Engineering innebærer −
– >
-
Kreativitet
-
Lære og forbedre seg gjennom prøvelser og feil
-
Iterasjoner
Extreme Programming bygger på disse aktivitetene og koding. Det er detaljert (ikke bare) design aktivitet med flere trange feedback-looper gjennom effektiv implementering, testing og refactoring kontinuerlig.,
Extreme Programming er basert på følgende verdier −
– >
-
Kommunikasjon
-
Enkelhet
-
Tilbakemelding –
– >
-
Motet
-
Respekt
Hva er Extreme Programming?
XP er en lett, rask og lav-risiko, fleksibel, forutsigbar, vitenskapelige og morsom måte å utvikle en programvare.
eXtreme Programming (XP) ble unnfanget og utviklet for å imøtekomme de spesifikke behov av programvare, utvikling av små grupper i ansiktet av uklare og skiftende krav.,
Extreme Programming er en av Agile software development metoder. Det gir verdier og prinsipper til veiledning for team atferd. Teamet er forventet å selv organisere. Extreme Programming gir spesifikke core praksis der −
– >
-
Hver praksis er enkel og selv-komplett.
-
Kombinasjon av praksis produserer mer komplekse og emergent atferd.
Omfavne Endre
En viktig forutsetning for Extreme Programming er at kostnadene med å endre et program, kan bli holdt for det meste er konstant over tid.,>Dette kan oppnås med −
– >
-
Vekt på kontinuerlig tilbakemelding fra kunde
-
Korte iterasjoner
-
Design og redesign
-
Koding og testing oftere
-
Eliminere feil tidlig, dermed redusere kostnader
-
å Holde kunden er involvert hele utviklingen
-
å Levere arbeider produkt til kunden
Extreme Programming i et Nøtteskall
Extreme Programming innebærer −
– >
-
Skrive unit tester før programmering og holde alle tester som kjører til alle tider., Enheten tester er automatisert, og eliminerer feil tidlig, og dermed redusere kostnadene.
-
du Starter med en enkel design akkurat nok til å kode de har for hånden og omstruktureringen når det er nødvendig.
-
Programmering i par (såkalt par-programmering), med to programmerere på den ene skjermen, ta svinger til å bruke tastaturet. Mens en av dem er på tastaturet, de andre hele tiden anmeldelser og gir innganger.
-
Integrering og testing av hele systemet flere ganger om dagen.,
-
å Sette en minimal fungerer systemet i produksjon raskt og oppgradering av det når det er nødvendig.
-
å Holde kunden er involvert hele tiden, og å skaffe konstant tilbakemelding.
Iterating forenkler imøtekommende endringer som programvaren endrer seg med skiftende krav.
Hvorfor heter det «Ekstreme?»
Extreme Programming tar den effektive prinsipper og praksis for ekstreme nivåer.
-
– Koden anmeldelser er effektiv som koden er vurdert hele tiden.,
-
Testing er effektiv som det er kontinuerlig regresjon og testing.
-
Design er effektiv som alle trenger for å gjøre refactoring daglig.
-
integrasjonstesting er viktig som å integrere og test flere ganger om dagen.
-
Korte iterasjoner er effektiv planlegging spill for utgivelse planlegging og iterasjon planlegging.
Historikk for Extreme Programming
Kent Beck, Ward Cunningham og Ron Jeffries formulert extreme Programming i 1999. Andre bidragsytere er Robert Martin og Martin Fowler.,
I Midten av 80-tallet, Kent Beck og Ward Cunningham initiert Par-Programmering på Tektronix. På 80-og 90-tallet, Smalltalk Kultur produsert Refactoring, Kontinuerlig Integrasjon, konstant testing, og nær kunden engasjement. Denne kulturen ble senere generalisert til andre miljøer.
I Begynnelsen av 90-tallet, kjerneverdier ble utviklet innen Mønstre Samfunnet, Ås-Gruppen. I 1995, Kent oppsummert disse i Smalltalk Beste Praksis, og i 1996, Menigheten oppsummert er det i episoder.
I 1996, Kent lagt enhetstesting og metafor på Hewitt., I 1996, Kent hadde tatt Chrysler-C3 prosjektet, som Ron Jeffries ble lagt til som trener. Den praksis som ble raffinert på C3 og publiseres på Wikien.
Scrum praksis som var innarbeidet og tilpasset som planlegger spillet. I 1999, Kent publisert sin bok, «Extreme Programming Forklart’. I det samme året, Fowler publisert sin bok, Refactoring.
Extreme Programming har endret seg siden da, og utviklingen fortsetter til i dag.
Suksess i Bransjen
suksessen av prosjekter, som følge Extreme Programming praksis, er på grunn av −
– >
-
Rask utvikling.,
-
Umiddelbar respons til kundens skiftende krav.
-
Fokus på lave feil priser.
-
System retur konstant og konsekvent verdi til kunden.
-
Høy kundetilfredshet.
-
Reduserte kostnader.
-
Team samhold og ansattes tilfredshet.
Extreme Programming Fordeler
Extreme Programming løser følgende problemer som ofte står overfor i programvare utviklingsprosjekter −
– >
-
Gled tidsplaner − og oppnåelig utvikling sykluser sikre rettidig leveranser.,
-
Kansellert prosjekter med Fokus på kontinuerlig kunden engasjement sikrer åpenhet med kunden og umiddelbar løsning på eventuelle problemer.
-
Kostnader som påløper i endringer − Omfattende og pågående testing gjør at endringer ikke bryte den eksisterende funksjonalitet. En kjører som arbeider systemet alltid sørger for tilstrekkelig tid til å imøtekomme endringer slik at pågående operasjoner er ikke berørt.
-
Produksjon-og post-levering feil: det legges Vekt på enheten tester for å oppdage og løse feil tidlig.,
-
Misforståelse virksomheten og/eller domene, noe som Gjør kunden en del av teamet som sørger for konstant kommunikasjon og avklaringer.
-
Forretnings-endringer − Endringer er vurdert til å være uunngåelig, og er innkvartert på ethvert tidspunkt.
-
turnover − Intensiv team samarbeid sikrer entusiasme og god vilje. Samhold av multi-disipliner fremmer lagånd.