smidig modell
Fleksibel (smidig) metodikk bidrar til å redusere risikoen ved programvareutvikling ved å flytte arbeidsflyten inn i flere små sykluser. Disse syklusene kalles iterasjoner og varer vanligvis to til tre uker.
En iterasjon er som et lite programvareprosjekt som består av oppgaver, som hver forbedrer funksjonaliteten. Disse inkluderer: utarbeide en plan, evaluere krav, avtale et prosjekt, skrive kode, teste og lage teknisk dokumentasjon.
En iterasjon er vanligvis ikke nok for en fullverdig programvareutgivelse. Det som er bra med Agile er imidlertid at små deler av prosjektet er klare for evaluering på slutten av hver iterasjon. Dette lar teammedlemmer endre prioriteringer for videre arbeid uten å vente på den endelige utgivelsen.
Ved å bruke en "smidig" utviklingsmetodikk, kan du se et konkret resultat etter hver iterasjon. Det vil si at utvikleren kan forstå om resultatet av hans arbeid oppfyller kravene eller ikke. Dette er en av de viktige fordelene med den fleksible modellen.
Når det gjelder ulempene, når du bruker Agile, er det noen ganger vanskelig å anslå kostnadene for arbeidsressurser og budsjettet til prosjektet. Hvis vi tar alternativene for praktisk anvendelse av den fleksible modellen, er den mest kjente blant dem Extreme Programming (XP).
XP er basert på korte møter med teammedlemmer som finner sted hver dag, og vanlige møter (en gang i uken eller sjeldnere). Ved daglige stevner (daglig standup) diskuteres vanligvis:
- nåværende resultater av arbeidet;
- en liste over oppgaver som skal fullføres av hvert teammedlem;
- vanskeligheter og måter å løse dem på.
Manifest
Agile er en hel retning i utviklingen, så reglene for å jobbe med det er erklært i et spesielt dokument - Agile Manifesto. Dette inkluderer både praksis og prinsipper som teamet skal arbeide etter.
Agile Manifesto består av 4 grunnleggende ideer og 12 prinsipper.
Nøkkelideer:
- samarbeid mellom utviklere er viktigere enn verktøy;
- den fungerende versjonen av produktet har forrang over dokumentasjonen;
- gjensidig forståelse mellom teamet og kunden er viktigere enn vilkårene i kontrakten;
- Den opprinnelige planen kan alltid endres ved behov.
Når det gjelder de 12 prinsippene for Agile, her er de:
- hovedprioriteten er overholdelse av det ferdige programmet med kundens forventninger;
- endrede forhold er tillatt på ethvert stadium, selv på siste utviklingsstadium (hvis dette kan forbedre kvaliteten og konkurranseevnen til programvaren);
- regelmessig levering av fungerende versjoner av programvareproduktet (hver 14. dag, måned eller kvartalsvis);
- nøkkelen til suksess er regelmessig interaksjon mellom kunden og utviklerne (helst daglig);
- prosjekter bør bygges blant de som er interessert i dem, slike mennesker bør gis de nødvendige forholdene for arbeid og all slags støtte;
- den beste måten å dele informasjon i et team på er et personlig møte;
- den fungerende versjonen av programvaren er den beste indikatoren på fremgang;
- alle interessenter må være i stand til å opprettholde ønsket arbeidstempo gjennom hele programvareutviklingsprosessen;
- teknisk forbedring og god design forbedrer fleksibiliteten;
- det er viktig å holde det enkelt og ikke overskape;
- de beste resultatene oppnås fra de lagene som er i stand til å organisere seg selv;
- teammedlemmer bør regelmessig tenke på måter å forbedre effektiviteten ved å endre arbeidsflyten.
I følge Agile-manifestet avhenger en god programvareutviklingsprosess direkte av personene som er involvert i denne prosessen. For å gjøre dette, må du organisere samspillet deres så effektivt som mulig, lage det mest organiserte teamet.
Metoder
Det er også flere metoder i Agile Manifesto som forklarer verdier og prinsipper:
- smidig modellering;
- smidig enhetlig prosess;
- Smidig datametode
- Rask applikasjonsutvikling (DSDM);
- Essensiell enhetlig prosess;
- ekstrem programmering;
- funksjonsdrevet utvikling;
- Bli ekte;
- Åpne opp;
- Scrum.
Agile Modeling er en samling av prinsipper, termer og praksiser som fremskynder og forenkler utviklingen av programvaremodeller og dokumentasjon.
Målet med Agile Modeling er å forbedre modellering og dokumentasjon. Det er viktig å merke seg at dette ikke inkluderer koding, testing eller problemer knyttet til prosjektkontroll, distribusjon og støtte. Denne metodikken inkluderer imidlertid kodegjennomgang.
Agile Unified Process er en metodikk som gjør det enkelt for brukere å tilnærme (modellere). Brukes vanligvis til å utvikle kommersiell programvare.
Agile Data Method - flere lignende metoder der kundeforhold oppnås gjennom samarbeid mellom flere team.
DSDM - denne tilnærmingen skiller seg fra de andre ved at brukere av det fremtidige produktet, sammen med utviklerne, deltar aktivt i det.
Funksjonsdrevet utvikling er en utviklingsmetodikk som har en tidsbegrensning: "hver funksjon må ikke implementeres lenger enn to uker."
Det er verdt å vurdere at hvis brukstilfellet er lite, kan det betraktes som en funksjon. Hvis det er betydelig, må det deles inn i flere funksjoner.
Getting Real er en iterativ metodikk der programgrensesnittet utvikles først, og først deretter utvikles funksjonaliteten.
OpenUP er en utviklingsmetode som deler prosjektsyklusen inn i fire stadier: oppstart, foredling, konstruksjon og overlevering.
I henhold til prinsippene for Agile, uavhengig av varigheten av arbeidet, er det nødvendig å gi alle interessenter og teammedlemmer en måte å bli kjent med og ta beslutninger på. Takket være dette er det mulig å effektivt kontrollere situasjonen og evaluere mellomresultater i tide. Prosjektplanen definerer livssyklusen, og det endelige resultatet bør betraktes som en stabil utgivelse av søknaden.
Når det gjelder Scrum, regulerer det reglene for å administrere utviklingsprosessen og lar deg bruke eksisterende kodingspraksis med mulighet for å justere betingelsene eller gjøre endringer. Ved å bruke denne metodikken kan du se og eliminere avvik fra det forventede resultatet i de tidlige stadiene av utviklingen.
La oss ta en titt på dette litt mer detaljert...
GO TO FULL VERSION