Agile

Flexibel

Agile-softwareontwikkeling is een manier van softwareontwikkeling. Het Engelse woord agile betekent: behendig, lenig.

Hoewel de praktijken die onder de noemer agile vallen al gangbaar zijn sinds software ontwikkeld wordt, valt de geboorte van agile als term en concept, terug te brengen tot het Agile Manifesto.

Het Agile Manifesto werd opgesteld tijdens een informele bijeenkomst van zeventien softwareontwikkelaars in 2001. Het Agile Manifesto kenmerkt zich aan de volgende vier punten: Mensen en hun onderliggende interactie boven processen en hulpmiddelen, werkende software boven allesomvattende documentatie, samenwerking met de klant boven contractonderhandelingen en inspelen op veranderingen boven het volgen van een plan.

Enkele bekende ontwikkelmethoden en frameworks zijn: Kanban, Scrum, Agile Unified Process (AUP) en Rational Unified Process (RUP)

Scrum is een veelgebruikte manier om Agile te werken. Ook OO-Creation maakt veel gebruik van Scrum

Scrum is een iteratief en een incrementeel proces. Incrementeel betekent stapsgewijs doorvoering van veranderingen zonder het einddoel concreet te benoemen. Iteratief betekent dat het proces stapje voor stapje vooruit gaat en wordt er gekeken naar de volgende fase.

Het werken met Scrum heeft de volgende voordelen:

  • Overzichtelijk en beheersbaar

    Door het werken in afgebakende sprints wordt het project in overzichtelijke deelprojecten 'opgeknipt', waardoor het overzichtelijk en beheersbaar blijft.

  • Projectleden nauw betrokken bij het project

    Iedereen heeft eigen taken/verantwoordelijkheden en is hierdoor nauw betrokken bij de planning en uitvoering van het project.

  • Duidelijk inzicht in projectvoortgang

    Aan het begin van iedere werkdag wordt een zogenaamde ‘Daily Standup’ gehouden. Alle betrokken projectleden nemen tijdens dit korte overleg, wat maximaal 15 minuten duurt, de stand van zaken door. Er wordt hierin besproken wat er de vorige dag is gedaan, wat deze dag gedaan gaat worden, en of iemand ergens tegen aanloopt.

  • Snel schakelen

    Tijdens elke sprint wordt een functionaliteit gerealiseerd. Gedurende het project kan blijken dat een bepaalde functionaliteit aangepast, toegevoegd of weggelaten moet worden. Op basis van voortschrijdend inzicht kan op tijd worden bijgestuurd en wordt voorkomen dat naderhand grote aanpassingen gedaan moeten worden.

  • Elke twee weken een werkend product

    Na elke sprint wordt een werkend product opgeleverd, dat direct getest en gebruikt kan worden.

Afbeelding van code