Introduksjon til Agile og Scrum

Agile er en programvareutviklingsmetodikk som har båndbredden til å tilpasse seg endrede prosjektkrav raskt og tilpasse seg utviklingen av et nytt produkt mens prosjektet pågår eller etter fullført prosjekt, i motsetning til tradisjonell prosjektledelse.

La oss forstå den særegne fordelen som smidig har i forhold til tradisjonell prosjektledelsesmetodikk:

Tradisjonell tilnærming:

  • Detaljplanlegging før start
  • Lar vedta minimale endringer
  • Fast prosjektdefinisjon

Agile tilnærming:

  • Minimal planlegging før start er påkrevd
  • Vil godta og tilpasse seg endringer
  • Fast tid og kostnad

Scrum er den mest brukte og populære tilnærmingen for å implementere en smidig metodikk.

Vi vil komme til scrum-delen om kort tid, men først, la oss se mer om den smidige rammen.

Prinsipper bak smidig manifest

  1. Kundetilfredshet er av høyeste prioritet som oppnås gjennom kontinuerlig og tidlig levering av verdifull programvare.
  2. Lever en fungerende programvare på kort tid med kontinuerlig utvikling av ny programvare / produkter på linjen etter samme tilnærming.
  3. Vi bør kunne imøtekomme de endrede kravene, selv om det kommer sent i løpet av SDLC-livssyklusen.
  4. Teammedlemmene bør alltid være motiverte, og for det bør nok støtte og et godt miljø gis.
  5. Utviklerne og forretningsfolk må jobbe sammen hver dag gjennom prosjektet.
  6. Den mest effektive samtalen er ansett for å være interaksjon ansikt til ansikt.
  7. Bærekraftig utvikling. Alle teammedlemmer skal kunne holde et konstant tempo.
  8. Et fungerende produkt / programvare anses å være det primære målet på fremgang.
  9. På slutten av dagen skal hovedfokuset være teknisk dyktighet og robust design.
  10. Enkelheten bør følges gjennom SDLC-prosessen
  11. Lagene bør faktisk vise frem kontinuerlig effektivitet og vedta eventuelle endringer for å øke effektiviteten.
  12. Robust design og arkitektur kommer fra selvorganiserende team.

Tilnærminger for smidig implementering:

Link: https://goo.gl/images/fkZqGe

  1. SCRUM - Dette er en iterativ tilnærming der det er noe som kalles spurter som varer opptil en eller to uker. Denne tilnærmingen gjør det mulig for lag å levere arbeidsproduktet eller programvaren regelmessig.
  2. Kanban - For å implementere smidig bruker denne tilnærmingen et visuelt rammeverk. Her er det ingen spurter med fast lengde og teamet får oppgaven fra en prioritert etterslep.
  3. Extreme Programming (XP) - Denne tilnærmingen er ment å forbedre programvarekvaliteten og responsen ved å inkorporere enkelhet, tilbakemeldinger og vedta endringer.
  4. Feature Driven Development (FDD) - Denne tilnærmingen inkluderer 5 grunnleggende aktiviteter som er - Utvikle en overordnet modell, bygg en funksjonsliste, plan etter funksjon, design etter funksjon og bygg etter funksjon.
  5. Adaptive System Development (ASD) - Denne tilnærmingen kan brukes til å bygge kompleks programvare og systemer, og den fokuserer mest på teamsamarbeid og selvorganisering. Det inkluderer 3 iterative aktiviteter som er - Spekulere, samarbeide og lære.
  6. Dynamisk systemutviklingsmetode - DSDM er en smidig tilnærming som følger en iterativ og inkrementell tilnærming som i stor grad er basert på Rapid Application Development Methodology. Den adresserer de vanlige feilene i prosjekter som prosjektbudsjettproblemer, manglende frister osv.
  7. Lean Software Development - Lean Software Development er en smidig tilnærming som har 7 grunnleggende prinsipper og de er: Eliminer avfall, Empower teamet, leverer raskt, optimaliser hele, bygg kvalitet inn, utsetter beslutninger og forsterker læring.

Hva er Scrum?

I tidligere seksjoner har vi allerede sett tilnærmingene som ble brukt for å implementere Agile-prosessen, og Scrum var en av dem, Scrum er en av de viktigste og mest brukte Agile Methodology. En scrum er en iterativ tilnærming der det er noe som heter sprints som varer opptil en eller to uker. Denne tilnærmingen gjør det mulig for lag å levere arbeidsproduktet eller programvaren regelmessig. Her avgjøres ansvar, roller og møter i Scrum og sprints er tidsplaner der det er sprintplanlegging, sprintdemo, daglig standup og sprint i ettertid.

Scrum Roller / Scrum Teams:

Link: https://goo.gl/images/XpNHBe

  1. Scrum Master - Scrum Master er en rolle som er ansvarlig for at scrum-teamet følger Scrum-metodikken. Scrum Master arrangerer møter, oppmuntrer teamet, letter planlegging og sporing, takler utfordringer og håndterer flaskehalser. Scrum Master kommuniserer også med produktleieren for å sikre at produktets etterslep er klar for neste sprint.
  2. Produktleier - Produkteieren er ansvarlig for analysen og kommunikasjonen av programvareversjonen til Scrum Team. Produktseieren koordinerer også med Scrum Master for å bestemme seg for produktets etterslep for spurtene.
  3. Utviklingsteam - Utviklingsteamet består av fagfolkene som er ansvarlige for kontinuerlig utvikling, testing og levering av programvaren. De bestemmer hvordan de skal levere biter av verk i hyppige trinn.

Trinn i Scrum Flow:

Link: https://goo.gl/images/6YTUPf

  1. Product Backlog - Product Backlog opprettholder listen over produktfunksjoner. Det er ansvaret for produktleieren og Scrum Master å prioritere etterslepsvarene på bakgrunn av brukerhistorier og krav.
  2. Sprint Planning - Det er et møte som tilrettelegges av Scrum Master hvor produktleieren presenterer detaljene i produktets etterslep, setter leveringsakseptkriteriene og utviklingsteamet som definerer arbeidet og innsatsen de har gjort hver dag.
  3. Fornyelse av etterslep - For å holde produktets etterslep oppdatert, bruker vi tilbakeføring av etterslep. Her er brukerhistoriene delt inn i mindre deler og eventuelle irrelevante brukerhistorier blir fjernet
  4. Daily Scrum - Det er et 15-minutters stevne et møte hvor det i utgangspunktet diskuteres tre spørsmål som er: Hva ble oppnådd i går, hva er planen for i dag og hva er hindringene.
  5. Sprint Review Meeting - Dette møtet blir utført på slutten av hver sprint hvor en live demonstrasjon blir presentert for å vise fram hva som er oppnådd gjennom hele sprinten.
  6. Sprint retrospektivt møte - Vi kan også kalle dette møtet som suksessmøte der teamet diskuterer prosessen som fungerte eller som ikke fungerte under sprinten med sine løsninger.

Konklusjon

I denne artikkelen så vi at Agile er en programvareutviklingsmetodikk som har båndbredden til å tilpasse seg endrede prosjektkrav raskt og tilpasse seg utviklingen av nytt produkt mens prosjektet pågår eller etter fullført prosjekt i motsetning til tradisjonell prosjektledelse mens Scrum er den mest brukte og populære tilnærmingen til implementering av smidig metodikk.

Anbefalte artikler

Dette har vært en guide til What is Agile and Scrum. Her diskuterte vi de forskjellige Approaches Of Agile and Scrum. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Hva er kunstig intelligens
  2. Agile Scrum intervjuspørsmål
  3. Hva er SDLC
  4. Agile vs Scrum vs Foss