SDLC – Agile Model

Advertenties

Agile SDLC-model is een combinatie van iteratieve en incrementele procesmodellen met focus op procesaanpassingsvermogen en klanttevredenheid door snelle levering van werkend softwareproduct. Agile Methods splitsen het product op in kleine incrementele builds. Deze builds worden geleverd in iteraties. Elke iteratie duurt doorgaans ongeveer één tot drie weken. Elke iteratie omvat cross-functionele teams die gelijktijdig aan verschillende gebieden werken, zoals –

  • Planning
  • Analyse van vereisten
  • Ontwerp
  • Codering
  • Unit testen en
  • acceptatietesten.

Aan het einde van de iteratie wordt een werkend product getoond aan de klant en belangrijke belanghebbenden.

Wat is Agile?

Het Agile-model is van mening dat elk project anders moet worden aangepakt en dat de bestaande methoden moeten worden aangepast aan de projectvereisten. In Agile zijn de taken onderverdeeld in tijdvakken (kleine tijdframes) om specifieke functies voor een release te leveren.

Er wordt een iteratieve benadering gevolgd en na elke iteratie wordt werkende software opgeleverd. Elke build is incrementeel in termen van functies; de uiteindelijke build bevat alle functies die de klant nodig heeft.

Hier is een grafische illustratie van het Agile-model –

The Agile denkproces was vroeg in de softwareontwikkeling begonnen en begon met de tijd populair te worden vanwege de flexibiliteit en het aanpassingsvermogen.

De meest populaire Agile-methoden zijn onder meer Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven Development en Dynamic Systems Development Method (DSDM) (1995). Deze worden nu gezamenlijk Agile Methodologieën genoemd, nadat het Agile Manifesto in 2001 werd gepubliceerd.

Hieronder volgen de principes van het Agile Manifesto –

  • Individuen en interacties – Bij Agile-ontwikkeling zijn zelforganisatie en motivatie belangrijk, evenals interacties zoals co-location en pair programming.

  • Werkende software – Demo-werkende software wordt beschouwd als het beste communicatiemiddel met de klanten om hun vereisten te begrijpen, in plaats van alleen afhankelijk te zijn van documentatie.

  • Samenwerking met de klant – Omdat de vereisten vanwege verschillende factoren aan het begin van het project niet volledig kunnen worden verzameld, continue klantinteractie is erg belangrijk om de juiste productvereisten te krijgen.

  • Reageren op verandering – Agile Development is gericht op snelle reacties op verandering en continue ontwikkeling.

Agile versus traditionele SDLC-modellen

Agile is gebaseerd op de adaptieve software ontwikkelingsmethoden, terwijl de traditionele SDLC-modellen zoals het watervalmodel gebaseerd zijn op een voorspellende benadering. Voorspellende teams in de traditionele SDLC-modellen werken meestal met gedetailleerde planning en hebben een volledige voorspelling van de exacte taken en functies die in de komende maanden of tijdens de productlevenscyclus moeten worden geleverd.

Voorspellende methoden zijn volledig afhankelijk van de behoefteanalyse en planning gedaan in het begin van de cyclus. Eventuele wijzigingen die moeten worden doorgevoerd, gaan door een strikt veranderbeheer en prioritering.

Agile maakt gebruik van een adaptieve aanpak waarbij er geen gedetailleerde planning is en er duidelijkheid is over toekomstige taken alleen met betrekking tot welke functies moeten worden ontwikkeld . Er is een kenmerkgedreven ontwikkeling en het team past zich dynamisch aan de veranderende productvereisten aan. Het product wordt zeer vaak getest tijdens de release-iteraties, waardoor het risico op grote storingen in de toekomst wordt geminimaliseerd.

Klantinteractie is de ruggengraat van deze Agile-methodologie, en open communicatie met minimale documentatie zijn de typische kenmerken van Agile ontwikkelomgeving. De agile teams werken nauw met elkaar samen en bevinden zich meestal op dezelfde geografische locatie.

Agile model – voor- en nadelen

Agile-methoden worden algemeen geaccepteerd in de software wereld onlangs. Deze methode is echter mogelijk niet altijd geschikt voor alle producten. Hier zijn enkele voor- en nadelen van het Agile-model.

De voordelen van het Agile-model zijn als volgt –

  • Is een zeer realistische benadering van softwareontwikkeling.

  • Bevordert teamwerk en crosstraining.

  • Functionaliteit kan snel worden ontwikkeld en aangetoond.

  • Benodigde middelen zijn minimaal.

  • Geschikt voor vaste of veranderende vereisten

  • Levert vroege oplossingen voor gedeeltelijk werken .

  • Goed model voor omgevingen die gestaag veranderen.

  • Minimale regels, documentatie gemakkelijk toe te passen.

  • Maakt gelijktijdige ontwikkeling en levering mogelijk binnen een algehele geplande context.

  • Weinig of geen planning vereist.

  • Eenvoudig te beheren.

  • Geeft ontwikkelaars flexibiliteit.

De nadelen van het Agile-model is als volgt –

  • Niet geschikt voor het omgaan met complexe afhankelijkheden.

  • Meer risico op duurzaamheid, onderhoudbaarheid en uitbreidbaarheid.

  • Een algemeen plan, een behendige leider en een behendige PM-oefening is een must zonder welke het niet zal werken.

  • Strikt leveringsbeheer bepaalt de reikwijdte, de te leveren functionaliteit en de aanpassingen om de deadlines te halen.

  • Is sterk afhankelijk van de interactie met de klant, dus als de klant niet duidelijk is, kan het team worden aangestuurd de verkeerde richting.

  • Er is een zeer hoge individuele afhankelijkheid, aangezien er een minimum aan documentatie wordt gegenereerd.

  • Overdracht van technologie voor nieuwe teamleden kan een behoorlijke uitdaging zijn lang vanwege gebrek aan documentatie.

Advertenties

Write a Comment

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *