Smidig modell i programvareteknikk

Hva er en smidig modell?

Den smidige modellen er en inkrementell og iterativ prosess for programvareutvikling. Den definerer hver iterasjons nummer, varighet og omfang på forhånd. Hver iterasjon betraktes som en kort "ramme" i Agile-prosessmodellen, som stort sett varer fra to til fire uker.

Agile Model deler oppgaver inn i tidsbokser for å gi spesifikk funksjonalitet for utgivelsen. Hver build er inkrementell når det gjelder funksjonalitet, med den endelige builden som inneholder alle attributtene. Delingen av hele prosjektet i små deler bidrar til å minimere prosjektrisikoen og den totale prosjektleveransetiden.

Agil modell

Hva er de viktige agile modellmanifestene?

Her er det essensielle manifestet til den smidige modellen:

  • Individer og interaksjoner prioriteres fremfor prosesser og verktøy.
  • Tilpasningsdyktig, bemyndiget, selvorganiserende team.
  • Fokuserer på fungerende programvare fremfor omfattende dokumentasjon.
  • Agile modell innen programvareteknikk har som mål å levere fullstendig kundetilfredshet ved å raskt levere verdifull programvare.
  • Velkommen endringer i krav, også sent i utviklingsfasen.
  • Daglig samarbeid mellom forretningsfolk og utviklere.
  • Prioritet er kundesamarbeid fremfor kontraktsforhandling.
  • Det gjør at du kan tilfredsstille kunder gjennom tidlig og hyppig levering.
  • Det legges stor vekt på kommunikasjon ansikt til ansikt.
  • Å utvikle fungerende programvare er den primære indikatoren på fremgang.
  • Promotempoet i bærekraftig utvikling.
  • Det er kontinuerlig fokus på teknisk fortreffelighet og lyddesign.
  • En forbedringsgjennomgang gjennomføres regelmessig av teamet.

Faser av smidig modell

Her er de forskjellige fasene av Agile:

Faser av smidig modell

Her er de viktige stadiene involvert i Agile Model-prosessen i SDLC-livssyklusen:

  • Kravsamling: I denne Agile modellfasen må du definere kravene. Forretningsmulighetene og tiden og innsatsen som kreves for prosjektet bør også diskuteres. Ved å analysere denne informasjonen kan du bestemme et systems økonomiske og tekniske gjennomførbarhet.
  • Design kravene: Etter mulighetsstudien kan du jobbe med interessenter for å definere krav. Ved å bruke UFD-diagrammet eller UML-diagrammet på høyt nivå kan du bestemme hvordan det nye systemet skal integreres i ditt eksisterende programvaresystem.
  • Utvikle/Iterasjon: Det virkelige arbeidet begynner på dette stadiet etter at programvareutviklingsteamet definerer og designer kravene. Produkt-, design- og utviklingsteam begynner å jobbe, og produktet vil gjennomgå ulike stadier av forbedring ved å bruke enkel og minimal funksjonalitet.
  • Test: Denne fasen av den smidige modellen involverer testteamet. For eksempel sjekker kvalitetssikringsteamet systemets ytelse og rapporterer feil i denne fasen.
  • Utplassering: I denne fasen frigis det første produktet til brukeren.
  • Tilbakemelding: Etter utgivelsen av produktet er det siste trinnet i Agile-modellen tilbakemelding. I denne fasen får teamet tilbakemelding om produktet og jobber med å rette feil basert på den mottatte tilbakemeldingen.

Sammenlignet med Waterfall er smidige sykluser korte. Det kan være mange slike sykluser i et prosjekt. Fasene gjentas til produktet er levert.

Typer Agile

Her er noen viktige smidige typer:

scrum: Denne smidige metoden fokuserer først og fremst på å håndtere oppgaver i teambaserte utviklingsforhold. I Scrum Agile modell, bør teamet strengt følge en arbeidsplan for hver Sprint. Dessuten har personer involvert i denne typen prosjekter forhåndsdefinerte roller.

Krystall: Å bruke Crystal-metodikk er en av de mest enkle og mest fleksible tilnærmingene til å utvikle programvare, og erkjenner at hvert prosjekt har unike egenskaper. Derfor må retningslinjer og praksis skreddersys for å passe dem.

Krystallmetoder er kategorisert som nedenfor:

  • KLAR: Bruker for liten og lav kritisk innsats.
  • ORANSJE: Bruker for moderat større og kritiske prosjekter.
  • ORANSJE NETT: Vanligvis elektronisk virksomhet

Dynamisk programvareutviklingsmetode (DSDM): Denne tilnærmingen til Rapid Application Development (RAD) innebærer aktiv brukerinvolvering, og teamene har myndighet til å ta beslutninger med mål om hyppig produktlevering.

Funksjonsdrevet utvikling (FDD): Denne smidige metoden fokuserer på "designe og bygge" funksjoner. Den er delt inn i flere korte arbeidsfaser som må fullføres for hver funksjon separat. Det inkluderer domenegjennomgang, designinspeksjon, kodeinspeksjon, etc.

Lean programvareutvikling: Denne metodikken er basert på prinsippet "Just-In-Time Production." Det bidrar til å øke hastigheten på programvareutvikling og redusere kostnadene.

Som et resultat av en slank utviklingsmodell elimineres avfall, læring forsterkes, tidlig levering oppnås og integritet bygges.

Ekstrem programmering (XP): Ekstrem programmering er en nyttig smidig modell når det er stadig skiftende krav eller krav fra oppdragsgivere. Den brukes også når det ikke er sikker på systemets funksjonalitet.

Når skal man bruke den smidige modellen?

Her er de vanlige scenariene der Agile-metoden brukes:

  • Den brukes når det er hyppige endringer som må implementeres.
  • Lavt regulatoriske prosjekter
  • Prosjekter med ikke veldig streng eksisterende prosess
  • Prosjekter hvor produkteieren er svært tilgjengelig
  • Prosjekter med fleksible tidslinjer og budsjett

Fordeler med den smidige modellen

Her er noen vanlige fordeler/fordeler med den smidige modellen:

  • Kommunikasjon med kunder er en-til-en-basis.
  • Gir en veldig realistisk tilnærming til programvareutvikling
  • Agile modell innen programvareteknikk gjør at du kan utarbeide effektive design og møte selskapets behov.
  • Oppdaterte versjoner av fungerende programvare utgis hver uke.
  • Den leverer tidlige delarbeidsløsninger.
  • Endringer er akseptable når som helst.
  • Du kan redusere den totale utviklingstiden ved å bruke denne smidige modellen.
  • Det tillater samtidig utvikling og levering innenfor en overordnet planlagt kontekst.
  • Sluttproduktet er utviklet og tilgjengelig for bruk i løpet av få uker.

Ulemper med smidig modell

Her er noen vanlige ulemper/ulemper med den smidige modellen:

  • Det er høyere risiko for bærekraft, vedlikehold og utvidbarhet.
  • I noen selskaper kan det hende at selvorganisering og intensivt samarbeid ikke er forenlig med bedriftskulturen deres.
  • Dokumentasjon og design vies ikke mye oppmerksomhet.
  • Uten tydelig informasjon fra kunden kan utviklingsteamet bli villedet.
  • Ikke en egnet metode for å håndtere komplekse avhengigheter.

Smidig modell vs. Fossmodell

Agile og Waterfall-modeller er to forskjellige metoder for programvareutviklingsprosessen. Til tross for deres forskjeller i tilnærming, kan begge metodene brukes til tider, avhengig av prosjektet og kravene.

Agil modell Fossmodell
Smidige metoder foreslår inkrementelle og iterative tilnærminger til programvaredesign Programvareutvikling flyter sekvensielt fra startpunkt til sluttpunkt.
Den smidige modellen i programvareteknikk er delt inn i individuelle modeller som designere jobber med Designprosessen er ikke delt inn i individuelle modeller
Kunden har tidlige og hyppige muligheter til å se på produktet og ta beslutninger og endringer. Kunden kan kun se produktet på slutten av prosjektet.
Den smidige modellen anses som ustrukturert sammenlignet med fossefallsmodellen Fossmodeller er sikrere fordi de er planorienterte
Små prosjekter kan gjennomføres veldig raskt. For store prosjekter er det ikke lett å anslå utviklingstiden. Alle slags prosjekter kan estimeres og fullføres.
Testplanen gjennomgås etter hver Sprint Testplanen diskuteres knapt i testfasen.

Vennligst se denne lenken for en detaljert informasjon sammenligning mellom Agile og Waterfall-modellen.

Sammendrag

  • Den smidige modellen er en inkrementell og iterativ prosess for programvareutvikling.
  • Den fokuserer på fungerende programvare i stedet for omfattende dokumentasjon.
  • Den smidige modellen er delt inn i ulike stadier som 1) Kravsamling, 2) Design kravene, 3) Utvikle/Iterasjon, 4) Test, 5) Implementering 6) Tilbakemelding.
  • Ulike typer Agile typer er: 1) Scrum, 2) Crystal, 3) Dynamic Software Development Method (DSDM): 4) Feature Driven Development (FDD), 5) Lean Software Development 6) Ekstrem programmering (XP).
  • Den smidige modellen brukes når hyppige endringer skal implementeres.
  • Det gir en veldig realistisk tilnærming til programvareutvikling
  • Denne modellen har større risiko for bærekraft, vedlikehold og utvidbarhet.
  • Smidige metodikker i programvaretesting tar i bruk inkrementelle og iterative tilnærminger til programvaredesign, mens programvareutvikling flyter sekvensielt fra startpunktet til endepunktet.